MacOSXでTamarinをビルド

2008.04.04 / javascript

なんとなく思いつきでTamarinをビルドしたくなったので挑戦してみると思いのほかすんなりできたのでそのメモです。ちなみにMacOSX(Leopard)でビルドしました。基本的にはMDCのドキュメントの通りなのですが、途中で少し迷った点もあったので、そのあたりも含めて備忘録として残しておきます。

そもそもの環境

MacPortsをインストールしておく必要があります。XCode3.0が入っていれば、pkgからすんなりインストールできるかと思います。

MacPortsが入ったらlibIDLをインストールしておきます。

  sudo port sync
  sudo port install libidl
  

また、autoconf213をインストールします。

  sudo port install autoconf213
  

ソースの入手

ソースを入手するためにはhgというコマンドが必要なのですが、これはMercurialがインストールされてある必要があります。ちなみにMercurialとはクロスプラットフォームの分散型バージョン管理システムだそうです。ここで初めて知りました。ほほぅ。

Mercurialはバイナリが用意されてあるので、そこからインストールするのが簡単です。ここからOSX用のMercurial 1.0をDL、解凍して、インストーラを実行します。インストールが終わると、ターミナルで「hg」というコマンドが実行できるようになり、ソースコードを入手することができます。

ソースは次のコマンドで入手することができます。

  hg clone http://hg.mozilla.org/tamarin-central
  

そうすると、ソースコードがカレントディレクトリにDLされます。

ビルド

次のコマンドでビルドできます。

  cd tamarin-central
  xcodebuild -project platform/mac/shell/shell.xcodeproj
  

しばらく待つと、tamarin-central/platform/mac/shell/build/Releaseに「shell」の名前でビルドできています。

  ./shell
  avmplus shell 1.0 build cyclone
  
  usage: avmplus
            [-Dinterp]    do not generate machine code, interpret instead
            [-Dforcemir]  use MIR always, never interp
            [-Dnodce]     disable DCE optimization 
            [-Dnocse]     disable CSE optimization 
            [-Dnosse]     use FPU stack instead of SSE2 instructions
            [-Dtimeout]   enforce maximum 15 seconds execution
            [-error]      crash opens debug dialog, instead of dumping
            [-log]
            [-- args]     args passed to AS3 program
            [-jargs ... ;] args passed to Java runtime
            filename.abc ...
            [--] application args
  

static linkされてるっぽいので、適当な名前にコピーしてどこかに移動してあげると良いでしょう。僕は/opt/local/sbin/avmplus とかに置きました。

で、とりあえずビルド確認したとことまで。こいつでECMAScriptやGCについてちょこちょこ勉強できそうです。