Ubuntu 16.04 LTS で clang + llvm を WebAssembly オプション付きで build してみる

Ubuntu 16.04 LTS で clang + llvm を WebAssembly オプション付きで build してみる
 
ちょっと見かけたので、試してみた
build だけで、未だ試してない・・・・
 
参考にしたのは以下のサイト
Getting Started: Building and Running Clang
lrz/mono-wasmOSX以外は難しい気も
lldでwasmをリンクするまで
CMakeの調査
 
インストール環境こちら
Windows 10 Pro + VirtualBox x64 に Ubuntu 16.04 LTS をインストールしてみる
 
※例にある libcxx はコンパイルエラーが出たので断念
 svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
※以下は未だ試してない
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
※clang のlink時に メモリの消費が15G弱位かな?(VMで実行する人は注意)
※free -t でたまに確認が吉かと
※cmake は make uninstall が無いので、以下で削除する
# xargs rm < install_manifest.txt
 ただし、新規作成された dir は削除されないので、適当に
※インストール先が /opt/clang なのは rm -r で消しやすい というのもある
※標準パッケージと分けたかった からかな
 
手順に従って 適当な dir で


# 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
# svn co http://llvm.org/svn/llvm-project/lld/trunk lld
# cd ../..
# cd llvm/tools/clang/tools
# svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
# cd ../../../../
# mkdir build
# cd build
# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/opt/clang \
../llvm -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly
# make
# make install
 
# /opt/clang/bin/clang --version
clang version 7.0.0 (trunk 334305) (llvm/trunk 334304)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/clang/bin
 
# /opt/clang/bin/llvm-config --version
7.0.0svn