LLVMの特定のツールだけビルドする
2021-10-01
TechLLVMのフルビルドは長い。とても長い。
LLVM、.bcの間違いは.llを見ればわかることが多いんですが(基本的に等価なものだから)、今回は.bcがエラーになって.llがエラーにならないというケースを踏んでいて困っています pic.twitter.com/wplDsO84wu
— yhara (Yutaka HARA) (@yhara) September 30, 2021
こういうことがあったのでbcをデコードするツール(llvm-dis)だけ自前ビルドしたかった。
結論からいうとこれでいけた。
githubのreleasesから.src.zipを取ってきて解凍
$ cd llvm-12.0.1.src
$ mkdir mybuilddir; cd mybuilddir
$ cmake -DDLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_ENABLE_PROJECTS="opt" -DLLVM_BUILD_TOOLS=false ../
$ make llvm-dis
フルビルド(cmake --build)しないのがポイント。
cmakeのオプションはたぶん-DDLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_BUILD_TYPE=RelWithDebInfo
だけでいい(というかllvm-disだけならそんなに時間かからないのでこれらもなくてもいい)。