久々に確認したらllvmがバージョン 7になっていた。
手持ちのARM clang クロスコンパイラはバージョン3.8ベース。
大分最新から古くなっているので再度作成することにする。
■作成対象
自作OSのビルドが目的なので
target-triple が arm-none-eabi のbaremetal ARMクロスコンパイラ
■インストール先
/opt/arm-none-eabi-clang
■ソースコード一式展開
Getting startedに従ってllvm本体とclang, lldそれぞれのソースコードを展開する。
libcxxはOSのライブラリ依存だが、独自OSにはそれがまだ無いのでこの時点では導入しない。
compiler-rtはLLVM/Clangのビルドとは別に独立して行うのでllvmソースツリー内に展開しない。
■ビルド
(clang+llvm)
cmake
<llvm-7.0.0.src path> -DCMAKE_CROSSCOMPILING=True
-DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=ARM
-DCMAKE_INSTALL_PREFIX=/opt/arm-none-eabi-clang -DLLVM_TARGET_ARCH=ARM
-DLLVM_DEFAULT_TARGET_TRIPLE=arm-none-eabi -DCLANG_DEFAULT_LINKER=lld
-DCLANG_DEFAULT_RTLIB=compiler-rt
-DDEFAULT_SYSROOT=/opt/arm-none-eabi-clang
0 件のコメント:
コメントを投稿