「インストール - LLVM」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == <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"