Как построить лязг с лязгом?

Я уже успешно собираю clang (3.2) с MSVC и MinGW. Но я думаю, что это не «чисто» лязг. Так может кто-нибудь дать мне несколько инструкций или материалов о том, как использовать clang для сборки clang (Windows / Linux)? И можем ли мы использовать Clang самостоятельно (не зависеть от GCC или MSVC). Спасибо всем!

10

Решение

Хорошо, получите более старую версию Clang вроде 3.1. (Вы можете установить любую версию, предварительно скомпилированную для вашей ОС).

Получите исходники для более новой версии, такой как 3.2.

Тогда (мне нравится cmake + ninja ( http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html))

если вы распаковали исходный код llvm в ~ / llvm_source / llvm

cd ~/llvm_source
mkdir build
cd build
CXX=clang++ CC=clang cmake -G Ninja ../llvm -DCMAKE_BUILD_TYPE=Release
ninja

Если вы хотите это сделать

CXX=clang++ CC=clang cmake ../llvm -DCMAKE_BUILD_TYPE=Release
make

Это оно.

Повеселись.

12

Другие решения

Текущий метод (по состоянию на 27 февраля 17 ‘) выглядит следующим образом:

cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++  $LLVM_SRC_DIR # -G Ninja

Где CMAKE_C_COMPILER и CMAKE_CXX_COMPILER являются переменными CMake, определяемыми как -D, Так или иначе, эти переменные не появляются в llvm_src / CMakeLists.txt

1