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 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ビルドと同時に作成が可能かもしれない
- 80 http://pipes.yahoo.com/pipes/pipe.info?_id=04913f684f1141e0b48179f97811ce12
- 13 http://twitter.com/
- 12 http://www.terut.net/?p=544
- 3 http://www.google.co.jp/search?q=libc++abi.dylib&hl=ja&safe=off&prmd=ivns&ei=kpY7TuSlGsHIrQfCs8EV&start=10&sa=N&biw=1536&bih=1114
- 3 http://www.google.co.jp/search?q=libcxx&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
- 2 http://webcache.googleusercontent.com/search?q=cache:g5ynUG-scaYJ:www.terut.net/?p=544+libmysqlclient+mac+install&cd=6&hl=ja&ct=clnk&gl=jp&lr=lang_ja&client=firefox-a
- 2 http://www.google.co.jp/search?client=safari&rls=en&q=mac+textfield+as3&ie=UTF-8&oe=UTF-8&redir_esc=&ei=tNKRTrThB6fYmAWdmYgK
- 2 http://www.google.co.jp/search?q=clang+cxxabi.h&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
- 2 http://www.google.co.jp/search?q=libc+++cxxabi&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
- 2 http://www.google.co.jp/search?q=subversion+ln+&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a