太陽に向かって

2011-07-26

clangビルドメモ

Macでのclangのビルドとclangでlibc++を使うためのメモ(ほぼ本家に書かれている事)

LLVMとclangのファイルをSubversionリポジトリからtrunk版をチェックアウト(clangはLLVMのtoolsディレクトリの中で)


svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm

cd llvm/tools

svn co http://llvm.org/svn/llvm-project/cfe/trunk clang


buildディレクトリを作って(場所や名前は適当でいいし、作らなくてもいい)、configure。

configureのオプションとして--enable_optimizedを付けておく(付けないとデバッグ版でビルドされる。すごく遅い。)


cd ../../

mkdir build

cd build

../llvm/configure --enable_optimized


あとはmake


make -j4


libc++は同じくSubversionリポジトリから拾ってくる


svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx


Mac OS X 10.6の場合、LLVMのlibc++本家(http://libcxx.llvm.org/)に

OS X 10.6で必要なファイル(cxxabi.h, libc++abi.dylib)が置かれているので

それを拾ってきて適切なディレクトリにコピー


sudo cp cxxabi.h /usr/include

sudo cp libc++abi.dylib /usr/lib


libcxxのlibディレクトリに移動して、TRIPLEという環境変数を設定し、./builditを実行


cd libcxx/lib

export TRIPLE=-apple-

./buildit


生成されたlibc++.1.dylibに/usr/lib/からリンクを付ける。名前はlibc++.dylib


sudo ln -sf path/to/libcxx/lib/libc++.1.dylib libc++.1.dylib

sudo ln -sf libc++.1.dylib libc++.dylib


同じくlibcxxのincludeにも/usr/includeからリンクを付ける。名前はv1


sudo ln -sf path/to/libcxx/include v1

あとはclang++のオプションにstdlib=libc++ -std=c++0xを付ければc++0xの機能が使える

OS X 10.6の場合は-U__STRICT_ANSI__を付けるといいと書いている

本家に書いてることそのままなので他のツール等の生成は試していない。libc++についてもLLVMビルドと同時に作成が可能かもしれない

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/lowwin_b/20110726/1311675115