みくにまるのブログ

意識低い系ブロガー、みくにまるが送るブログ。

WindowsのMSYS2 / MinGWでclang / LLVMをビルドする

clangをコンパイルする記事が少なかったので苦労しましたが

何とか成功。割と簡単だったのでメモ代わりという感じで

参考 

Getting Started with the LLVM System — LLVM 7 documentation

 Checkout LLVM:

cd where-you-want-llvm-to-live
git clone https://github.com/llvm-mirror/llvm.git


Checkout Clang:

cd where-you-want-llvm-to-live
cd llvm/tools
git clone https://github.com/llvm-mirror/clang.git
Checkout Extra Clang Tools [Optional]:

cd where-you-want-llvm-to-live
cd llvm/tools/clang/tools
git clone https://github.com/llvm-mirror/clang-tools-extra.git extra
Checkout LLD linker [Optional]:

cd where-you-want-llvm-to-live
cd llvm/tools
git clone https://github.com/llvm-mirror/lld.git lld
Checkout Polly Loop Optimizer [Optional]: // これを含めるとコンパイルエラー

cd where-you-want-llvm-to-live
cd llvm/tools
git clone https://github.com/llvm-mirror/polly.git polly
Checkout Compiler-RT (required to build the sanitizers) [Optional]: // これを含めるとコンパイルエラーになった

cd where-you-want-llvm-to-live
cd llvm/projects
git clone https://github.com/llvm-mirror/compiler-rt.git compiler-rt
Checkout Libomp (required for OpenMP support) [Optional]:

cd where-you-want-llvm-to-live
cd llvm/projects
git clone https://github.com/llvm-mirror/openmp.git openmp
Checkout libcxx and libcxxabi [Optional]: // これを含めるとコンパイルエラーになった

cd where-you-want-llvm-to-live
cd llvm/projects
git clone https://github.com/llvm-mirror/libcxx.git libcxx
git clone https://github.com/llvm-mirror/libcxxabi.git libcxxabi
Get the Test Suite Source Code [Optional]

cd where-you-want-llvm-to-live
cd llvm/projects
git clone https://github.com/llvm-mirror/test-suite.git test-suite

あとはコンパイルしたいフォルダに移行して

 cmake -G "MSYS Makefiles" -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86  ~/llvm※先ほどのソースをダウンロードしたフォルダ

 上記のように打ち込めばMakefileが作成されるので

makeすれば出来上がりです。