2015-05-27
■ [mac][types] MacでSML#をコンパイルした
前にチャレンジしたときはうまく行かなくて諦めたのだけど、こちらの手順を参考にしたらコンパイルできた。ありがとうございます。
以下は手順。
32bit版のgmpを入れる
既にgmpが入っていたのでいったん削除した。
$ brew remove gmp
$ brew install gmp --32-bit
LLVMのコンパイル
今回は/usrに入れるのではなく、SML#専用にコンパイルすることにした。
$ mkdir ~/bin/smlshp
$ cd ~/bin/smlshp
$ wget http://llvm.org/releases/3.4.2/llvm-3.4.2.src.tar.gz
$ tar xvf llvm-3.4.2.src.tar.gz
$ cd llvm-3.4.2.src
$ ./configure --build=i686-mac-darwin CC='gcc -m32' CXX='g++ -m32' --prefix=/Users/yhara/bin/smlshp/llvm34 && make && make install
SML#のコンパイル
$ cd ~/bin/smlshp
$ wget http://www.pllab.riec.tohoku.ac.jp/smlsharp/download/smlsharp-2.0.0.tar.gz
$ tar xvf smlsharp-2.0.0.tar.gz
$ cd smlsharp-2.0.0
$ ./configure --with-llvm=/Users/yhara/bin/smlshp/llvm34/ \
--prefix=/Users/yhara/bin/smlshp/smlsharp/ \
LDFLAGS='-L/usr/local/Cellar/gmp/6.0.0a/lib' \
CPPFLAGS='-I/usr/local/Cellar/gmp/6.0.0a/include' \
CC='gcc -m32' \
CXX='g++ -m32'
$ make && make install
動作確認
$ cd ~/bin/smlshp/smlsharp
$ ./bin/smlsharp
SML# 2.0.0 (2014-04-04 11:47:08 JST) for i686-apple-darwin13.4.0 with LLVM 3.4
# 1 + 1;
val it = 2 : int
#
うまく動いたようだ。