「インストール - LLVM」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「== 概要 == <br><br> == LLVMのインストール == [https://github.com/llvm/llvm-project/releases LLVMのGithub]から、LLVMのソースコードをダウンロードする。<br> ダウンロードするファイルは、llvm-project-<バージョン>.src.tar.xzである。<br> <br> ダウンロードしたLLVMのソースコードを解凍する。<br> tar xf llvm-project-<バージョン>.src.tar.xz <br> LLVMのビルドディレクトリを作成する。…」) |
|||
21行目: | 21行目: | ||
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;flang;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;polly" \ | -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;flang;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;polly" \ | ||
../llvm | ../llvm | ||
make -j $(nproc) | |||
make install | |||
# または | |||
cmake -G Ninja "Unix Makefiles" \ | |||
-DLLVM_TARGETS_TO_BUILD="X86;AArch64" \ # x86, x86-64, AArch64向けのLLVMをビルドする場合(デフォルトは全てのアーキテクチャ) | |||
-DCMAKE_BUILD_TYPE=Release \ | |||
-DCMAKE_INSTALL_PREFIX=<LLVMのインストールディレクトリ> \ | |||
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;flang;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;polly" \ | |||
../llvm | |||
ninja | |||
ninja install | |||
<br> | <br> | ||
ビルド向けオプションは、以下の通りである。<br> | ビルド向けオプションは、以下の通りである。<br> | ||
57行目: | 71行目: | ||
* LLVM_OPTIMIZED_TABLEGEN | * LLVM_OPTIMIZED_TABLEGEN | ||
*: リリーステーブル生成器を構築する。 | *: リリーステーブル生成器を構築する。 | ||
<br> | |||
LLVMのインストール完了後、~/.profileファイル等に環境変数を設定する。<br> | |||
export PATH="/<LLVMのインストールディレクトリ>/bin:$PATH" | |||
export LDFLAGS="-L/<LLVMのインストールディレクトリ>/lib" | |||
export CPPFLAGS="-I/<LLVMのインストールディレクトリ>/include" | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:CentOS]][[カテゴリ:SUSE]] | [[カテゴリ:CentOS]][[カテゴリ:SUSE]] |
2021年12月22日 (水) 04:53時点における版
概要
LLVMのインストール
LLVMのGithubから、LLVMのソースコードをダウンロードする。
ダウンロードするファイルは、llvm-project-<バージョン>.src.tar.xzである。
ダウンロードしたLLVMのソースコードを解凍する。
tar xf llvm-project-<バージョン>.src.tar.xz
LLVMのビルドディレクトリを作成する。
cd llvm-project mkdir build && cd build
LLVMをビルドおよびインストールする。
cmake -G "Unix Makefiles" \ -DLLVM_TARGETS_TO_BUILD="X86;AArch64" \ # x86, x86-64, AArch64向けのLLVMをビルドする場合(デフォルトは全てのアーキテクチャ) -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=<LLVMのインストールディレクトリ> \ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;flang;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;polly" \ ../llvm make -j $(nproc) make install # または cmake -G Ninja "Unix Makefiles" \ -DLLVM_TARGETS_TO_BUILD="X86;AArch64" \ # x86, x86-64, AArch64向けのLLVMをビルドする場合(デフォルトは全てのアーキテクチャ) -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=<LLVMのインストールディレクトリ> \ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;flang;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;polly" \ ../llvm ninja ninja install
ビルド向けオプションは、以下の通りである。
- PYTHON_EXECUTABLE
- Pythonへのパスを渡すことで、CMakeに特定のPythonのバージョンを使用する。
- デフォルトでは環境変数PATHにあるPythonが使用される。
- LLVM_TARGETS_TO_BUILD
- ビルドするターゲットを選択する。
- これは、LLVMにどのターゲットをリンクするかを制御するセミコロンで区切られたリストである。
- デフォルトは、LLVM_ALL_TARGETSとして定義されている。
- デフォルトでは、以下のターゲットが含まれる。
- AArch64, AMDGPU, ARM, AVR, BPF, Hexagon, Lanai, Mips, MSP430, NVPTX, PowerPC, RISCV, Sparc, SystemZ, WebAssembly, X86, XCore
- LLVM_ENABLE_DOXYGEN
- ソースコードからdoxygenベースのドキュメントをビルドする。
- これは多くの出力を生成するため、デフォルトでは無効になっている。
- LLVM_ENABLE_PROJECTS
- 他のLLVMサブプロジェクトの内、どのプロジェクトを追加でビルドするかをセミコロンで区切ったリストで指定する。
- デフォルトでは空のリストである。
- ビルドできるプロジェクトは、以下の通りである。
- clang、clang-tools-extra、compiler-rt、cross-project-tests、flang、libc、libclc、libcxx、libcxxabi、libunwind、lld、lldb、mlir、openmp、polly、pstl
- LLVM_ENABLE_SPHINX
- Sphinxベースのドキュメントをビルドする。
- これは多くの出力を生成するため、デフォルトでは無効になっている。
- Sphinx 1.5以降を推奨する。
- LLVM_BUILD_LLVM_DYLIB
- libLLVM.soを生成する。
- このライブラリには、LLVMコンポーネントのデフォルトセットが含まれており、LLVM_DYLIB_COMPONENTSでオーバーライドすることができる。
- デフォルトでは、ほとんどのLLVMが含まれており、tools/llvm-shlib/CMakelists.txtで定義されている。
- このオプションはWindowsでは使用できない。
- LLVM_OPTIMIZED_TABLEGEN
- リリーステーブル生成器を構築する。
LLVMのインストール完了後、~/.profileファイル等に環境変数を設定する。
export PATH="/<LLVMのインストールディレクトリ>/bin:$PATH" export LDFLAGS="-L/<LLVMのインストールディレクトリ>/lib" export CPPFLAGS="-I/<LLVMのインストールディレクトリ>/include"