Как построить clang с clang?

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

Ответ 1

Получите старую версию 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

Вот оно.

Удачи.

Ответ 2

Текущий метод (с 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