あどけない話

Internet technologies

Mac で DMD 2 相当の GDC

Mac で動く D 言語の実装は、GDC のみです。あるプログラムを書こうとして、std.getopt がないことに気付き、がっくり来ました。

std.getopt は、最近実装されたライブラリのようで DMD 2 にしか入っていません。いろいろ調べた結果、SVNGDCDMD 2 に対応しているようだったので、取って来てコンパイルしてみました。

まず、GDCSVN で取り出します。

% svn co https://dgcc.svn.sourceforge.net/svnroot/dgcc dgcc

次に適当なところから GCC を入手します。僕は、gcc-core-4.1.2.tar.bz2 を使いました。

GDC を展開し、GDCディレクトリをコピーします。

% bunzip2 -c gcc-core-4.1.2.tar.bz2 | tar xvf -
% cd gcc-4.1.2
gcc-4.1.2% cp -r $(パス)/dgcc/trunk/d gcc

あとは、INSTALL に従って、コンパイルするだけです。後でさくっと消せるように、/usr/gdc にインストールすることにしました。

gcc-4.1.2% ./gcc/d/setup-gcc.sh --d-language-version=2
gcc-4.1.2% ./configure --prefix=/usr/gdc --enable-languages=d
gcc-4.1.2% make
gcc-4.1.2% sudo make install

仕上げで PATH に /usr/gdc を通せば OK です。

Mac でも std.getopt が使えるようになって幸せです。

課題

以下のリンクエラーは、まだ消す方法が分りません。

indirect jmp without `*'