クロスコンパイラの作成には時間と手間がかかり大変です。 そこでバイナリ配布することで敷居を低くしようと思いバイナリ配布することを考えました。 ぜひD言語でCGIしましょう!!!
c,c++,dです。
http://user.script.nu/~ahiru/d/freebsd-cross-0.0.1.zip からfreebsd-cross-0.0.1.zipをダウンロードしてください。
あたりを参考にインストールしてください。
私は、ftp://ftp.u-aizu.ac.jp/pub/gnu/gnu-win32/ からsetup.exeをダウンロードしてきて次へ次へとボタンを押していってインストールしています。
注意すべき点はSelect Packagesで以下のツールをデフォルトに加えてチェックすることです。
perl | dmdのスクリプトの実行に必要 |
vim | コマンドラインからエディットしたいときに必要 |
この作業を忘れても後からsetup.exeを使用して追加できます。
/usr/local/以下にfreebsd-cross-0.0.1.zipをおきます。
/usr/local/freebsdに展開します。
freebsd-cross-0.0.1.zip
パスを通します。
export PATH=/usr/local/freebsd/bin:$PATH
これは、.bash_profileに書いておきましょう。
// test.d void main() { printf("content-type: text/html;\n\ncross-freebsd ok!"); }
といったファイルを作成します。
dmd test.d
でコンパイルします。warningがでますが気にしないでください。Dしか使わない場合、 libc.soを消してしまえばwarningを消すことができますが、cのコンパイルはとおるけど、実機では動かないといった問題がでます。
i386-freebsd4-gdc test.d
でもコンパイルできます。
ls
として、test.o testというファイルができていればコンパイルは成功です。
i386-freebsd4-strip test
サイズが気になる場合にシンボルを消します。
mv test test.cgi
として、aaacafeにUPLOADしてパーミッションを705に変更してブラウザで実行してみてください。
GCCを使っていますので、
GPL Licenseです。
手順がずいぶんと簡単になったはずです。ぜひ試してみてください。