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