サイトマップ 連絡先 最初に戻る 戻る 次へ進む
$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