$Date: 2018-07-07 06:49:13 +0900 (2018/07/07 (土)) $
$Revision: 1347 $
LLVM/clang コンパイル Linux
svn から取得
checkout.sh
#!/bin/sh
export DIR=`echo $(cd $(dirname $0) && pwd)`
cd ${DIR}
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd ${DIR}
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd ${DIR}
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/lld/trunk lld
cd ${DIR}
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/polly/trunk polly
cd ${DIR}
cd llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
cd ${DIR}
cd llvm/projects
svn co http://llvm.org/svn/llvm-project/openmp/trunk openmp
cd ${DIR}
cd llvm/projects
svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi
Ninja
Ninja はスピードに重点を置いたビルドツールです。
CMake を使って Ninja の設定ファイルを生成することができます。
CMake
CMake はWindows や Linux や Mac に対応したクロスプラットフォームのビルドツールです
CMake のページ を作りました。
開発ツールのインストール
# dnf -y groupinstall 'Development Tools'
# dnf install -y gcc-c++
ビルド
build-ninja.sh (gcc を使う場合)
#!/bin/sh
rm -rf build
mkdir build
cd build
cmake \
-G Ninja \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=${HOME}/local \
-D LLVM_TARGETS_TO_BUILD=all \
../llvm
ninja-build -v
build-ninja-clang.sh (clang を使う場合)
#!/bin/sh
rm -rf build
mkdir build
cd build
CC=/usr/bin/clang cmake \
-G Ninja \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=${HOME}/local \
-D LLVM_TARGETS_TO_BUILD=all \
../llvm
ninja-build -v
パッケージの作成
tar.gz ファイルを作ります。
ninja-build package