LoginSignup
1
1

More than 3 years have passed since last update.

[メモ]clang 9.0.0をVisual Studio 2019でビルドする

Posted at

clangをソースアーカイブからビルドする方法のメモです。
動機としては、デバッグシンボル付きのlibclangがほしかったので、自分でビルドしました。

正確な情報が欲しい場合は、http://clang.llvm.org/get_started.html とか http://llvm.org/docs/GettingStarted.html#unpacking-the-llvm-archives を見てください。

環境

  • Visual Studio 2019 16.3.4
    • ☑ワークロードでC++によるデスクトップ開発をインストールする必要はある。
    • 個別コンポーネントで☑Python 3 64ビット(3.7.4)をインストールする必要はある。
    • 他にも必要かもしれないが、調べていない。
  • CMake
  • Windows 10 64bit version 1903
  • 潤沢なメモリ(とくにリンカーに必要)
  • ざっくり42GB以上の空き容量(Debugビルドだとさらに倍以上)

ソースアーカイブ

llvmとclang、そしておまけでclang-tools-extraをダウンロードしておきます。

  • llvm-9.0.0.src.tar.xz
  • cfe-9.0.0.src.tar.xz
  • clang-tools-extra-9.0.0.src.tar.xz

ディレクトリ構成

ここでは作業ディレクトリを C:\tmp\llvm-9.0.0 とします。
その中に、ソースアーカイブを展開します。

C:\TMP\LLVM-9.0.0
├─cfe-9.0.0.src
├─clang-tools-extra-9.0.0.src
└─llvm-9.0.0.src

リネームします。
そしてbuildというディレクトリを作ります。

C:\TMP\LLVM-9.0.0
├─clang
├─clang-tools-extra
├─build
└─llvm

CMakeとビルド

x64 Native Tools コマンドプロンプトを開く。

REM どうせなら、使いそうなターゲットだけに絞っておくため、`LLVM_TARGETS_TO_BUILD=AArch64;ARM;WebAssembly;X86;RISCV`としておく。
cd C:\tmp\llvm-9.0.0\build
"c:\Program Files\CMake\bin\cmake.exe" ..\llvm ^
 -Thost=x64 ^
 -G "Visual Studio 16 2019" ^
 -A x64 ^
 -DCMAKE_INSTALL_PREFIX=c:\tmp\llvm-9.0.0\install ^
 -DCMAKE_BUILD_TYPE=RelWithDebInfo ^
 -DLLVM_INCLUDE_TESTS=OFF ^
 -DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra ^
 -DLLVM_TARGETS_TO_BUILD=AArch64;ARM;WebAssembly;X86;RISCV

REM 並行ビルド数を2(場合によっては1)にしてビルド。
REM ビルド中に他の作業ができるように、優先度は下げて実行する。

start /BELOWNORMAL /WAIT /B msbuild -m:2 INSTALL.vcxproj -p:Configuration=RelWithDebInfo
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1