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

ナビゲーションに移動 検索に移動
137行目: 137行目:
クロスコンパイル向けのビルドファイルを生成するために、<code>-DCMAKE_TOOLCHAIN_FILE</code>オプションを、LLVMのインストール時に使用するコンパイラフラグや変数を定義することができる。<br>
クロスコンパイル向けのビルドファイルを生成するために、<code>-DCMAKE_TOOLCHAIN_FILE</code>オプションを、LLVMのインストール時に使用するコンパイラフラグや変数を定義することができる。<br>
<br>
<br>
==== AArch64 ====
以下の例では、AArch64をターゲットとしたLLVMをクロスビルドおよびインストールしている。<br>
mkdir build && cd build
cmake -G Ninja                                        \
-DCMAKE_BUILD_TYPE=Release                            \
-DCMAKE_INSTALL_PREFIX=<LLVMクロスツールチェーンのインストールディレクトリ>  \
-DLLVM_NATIVE_TOOL_DIR=/<ホスト向けLLVMのインストールディレクトリ>//bin  \
-DCMAKE_TOOLCHAIN_FILE=<CMakeツールチェーンファイルのパス>            \  # CMakeツールチェーンファイルを使用する場合
-DLLVM_BUILD_RUNTIME=Off              \
-DLLVM_INCLUDE_TESTS=Off              \
-DLLVM_INCLUDE_EXAMPLES=Off            \
-DLLVM_ENABLE_BACKTRACES=Off          \
-DCMAKE_CROSSCOMPILING=1              \
-DLLVM_HOST_ARCH=X86                  \
-DLLVM_HOST_TRIPLE=X86                \
-DLLVM_TARGET_ARCH="AArch64"          \
-DLLVM_TARGETS_TO_BUILD="AArch64"      \
-DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-unknown-linux-gnu        \
-DCMAKE_CXX_FLAGS='-march=armv8-a -mtune=cortex-a53'          \
-DLLVM_TABLEGEN=/<ホスト向けLLVMのインストールディレクトリ>/bin/llvm-tblgen    \
-DCLANG_TABLEGEN=/<ホスト向けLLVMのインストールディレクトリ>/bin/clang-tblgen  \
-DCMAKE_LIBRARY_ARCHITECTURE=/<ターゲットのシステムルートのパス>/lib          \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;lld;lldb" \
-DLLVM_INSTALL_TOOLCHAIN_ONLY=On \
-DLLDB_ENABLE_PYTHON=0          \
-DLLDB_ENABLE_LIBEDIT=0          \
-DLLDB_ENABLE_CURSES=0          \
-DLLVM_BUILD_LLVM_DYLIB=On      \
-DLLVM_LINK_LLVM_DYLIB=On        \
../llvm
<br>
==== iOS ====
以下の例では、iOSをターゲットとしたLLVMをクロスビルドおよびインストールしている。<br>
以下の例では、iOSをターゲットとしたLLVMをクロスビルドおよびインストールしている。<br>
  mkdir build && cd build
  mkdir build && cd build

案内メニュー