やってはみたものの
2. ruby.exeで使用するCランタイムをMSVCRT.DLLに合わせる(MSVCR80.DLLへの依存は一切持たない)
ここを見て
C ランタイム ライブラリ (CRT) - MSDNライブラリィ
MSVCR80.DLLへの依存を持ちたく無い場合、CFLAGに"/MT"を指定すれば良いのだな、とconfigure後に出来たMakeFileをちょちょいと書き直したのだが、
: CFLAGS = -nologo -MT $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG) :
これで実際にnmakeするとコンパイルが途中で終わってしまう。
: : cl -nologo -nologo -MT -O2b2xty- -DRUBY_EXPORT -I. -I./.. -I./../missing -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -c -Tc./../dmydln.c dmydln.c oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib cl -nologo main.obj dmydln.obj msvcrt-ruby18-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -Feminiruby.exe -link -incremental:no -debug -opt:ref -opt:icf mt -nologo -manifest miniruby.exe.manifest -outputresource:miniruby.exe;2 miniruby.exe.manifest : general error c1010070: Failed to load and parse the manifest. U_U!$kLdK~[ NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 8\VC\BIN\mt.EXE"' : リターンコード '0x1f' Stop.
んー。
どうしてmt.exeはminiruby.exeにマニフェストを出力しようとするんだ? おまけに";2"ってDLL扱いだし。
やはり簡単にはいかないんだなぁ。Makeに関してはもっと勉強しないと駄目だ。
とりあえず上記のマニフェストを埋込む処理をコメントアウトすることでコンパイルが完了するのは確認したが、これも良いのかどうかさっぱり分らない。
問題なければ拡張ライブラリィを組み込んでいろいろ試してみよう。