Ubuntu 18.04 で MONO + LLVM をビルドしてみる

Ubuntu 18.04 で MONO + LLVM をビルドしてみる
 
mono-wasm を見て、どうかなと見るとmono/monoに移行した風なので
試してみたんだけど --enable-wasm 追加すると

                                                                                                              • -

NALIGNED_ACCESS -s WASM=1 conftest.c >&5
gcc: error: WASM=1: No such file or directory

                                                                                                              • -

で落ちるんだが、何か間違えているんだろうなぁ・・・・・
※もしくは、よくわかってない・・・
とりあえず、メモとして残しておく

                                                                                                              • -

./configure --help を見ると --with-wasm=yes が正しい
buildは最終的に通ったコマンドのみを残すように修正
※やはり 一発通して確認するのが基本だよな・・と反省
※現在は --enable-wasm は
 This is a workaround to enable usage of old automake versions
 that don't recognize the wasm triplet
 これは、古いautomakeのバージョンの使用を可能にするための回避策です
 だから autogen.sh では使用しないということで良いのかな?

                                                                                                              • -

※今の時点では LLVM のビルド後 MONO をビルドするという制限があるようだ
 (これは正しい)
※mono の option flag の制限がある(らしけど何とは記述されてない?
※2018/06/15 の時点では 18.04 では build エラーになる
 16.04 LTS では build が正常終了する
Mono LLVMのインストール
適当な dir で


$ git clone --recursive git://github.com/llvm.git
$ cd llvm
$ ./configure --prefix=/opt/llvm --enable-optimized --enable-targets="x86 x86_64"
$ make
$ sudo make install
以下の環境変数を設定する

export MONO_USE_LLVM=1
PATH=/opt/llvm/bin:/opt/mono/bin:$PATH
mono のビルドには runtime が必要だが、存在しない場合は
$ ./autogen.sh
実行後、以下を実行すればよいと記述されているが(more risky approach
$ make get-monolite-latest
事前に以下より最新版をDLしてインストールする
Home | Monoのインストール
mono-5.12.0.226.tar.bz2 をDL後

$ tar xf mono-5.12.0.226.tar.bz2
$ cd mono-5.12.0.226
$ ./autogen.sh --prefix=/opt/mono CFLAGS=-L/opt/llvm/lib --enable-llvm
$ make get-monolite-latest
$ make
$ sudo make install
mono/monoのインストール
適当な dir で

$ git clone --recursive git@github.com:mono/mono
$ cd mono
$ ./autogen.sh --prefix=/opt/mono CFLAGS=-L/opt/llvm/lib --enable-llvm --enable-llvm-runtime --with-wasm=yes
$ make
$ sudo ../mono-5.12.0.226/make uninstall
$ sudo make install
※mono が mono-sgen に link を張っているので --with-sgen
 を追加しているんだけど、どうなんだろう??
 -> 結果を見ると無くても良さげ