Feature #4165
closedwin32ビルドでbaserubyを設定しなかったときのエラーが非常に不親切
Description
=begin
artonさんが素晴らしい本を書いてくださったのでWindowsのビルド環境構築してみたのですが
(みなさん、「Ruby環境構築講座Windows編」を是非買いましょう。これは素晴らしい本です。
http://tatsu-zine.com/books/winrubybuild)
Windowsビルドに関して、一点改善して欲しい点があるのでチケットを切ります。trunkのソースを
ビルドする場合 baserubyの指定が必要ですが、私は粗忽者なのでしばしば忘れます。そしてこの
時のエラーメッセージが非常に不親切です。具体的には以下のように出ます。
C:\ruby>nmake
Microsoft(R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
CFLAGS = -MD -Zi -W2 -wd4996 -we4028 -we4142 -O2sy- -Zm600
XCFLAGS = -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include
-I. -I./missing
CPPFLAGS =
DLDFLAGS = -incremental:no -debug -opt:ref -opt:icf -dll
SOLIBS =
generating miniprelude.c
'-I.' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
NMAKE : fatal error U1077: '-I.' : リターン コード '0x1'
Stop.
直接の原因は、以下の行で $(BASERUBY)が空文字列になってしまうのが原因なのですが、
このエラーメッセージからそれを読み取るには高度なエスパー能力が必要です。
common.mk¶
miniprelude.c: $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb
$(ECHO) generating $@
$(Q) $(BASERUBY) -I$(srcdir) $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb $@
添付のパッチのようにconfigure.batでチェックしてもらえるとうれしいのですが、usaさんどうでしょうか?
=end
Files