[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

cygwin 1.3.20-1 でコンパイル不可



小畠と申します。

最新の mingw-runtime に対応されたということで、手元の cygwin 環境をアッ
プグレードして Meadow2 を再コンパイルしたところ、コンパイルできなくなっ
てしまいました。

アップグレードしていないマシンと比較しながら何が原因か調べたところ、
base/cygwin が 1.3.20-1 だとうまくいかないことがわかりました。

$ configure.meadow.bat --with-gcc --no-cygwin --no-debug --prefix=c:/Meadow2

を実行した後、

$ make bootstrap

したのですが、make が src/ の bootstrap-temacs ルールでエラーになって
しまいます。

make - --win32 temacs CFLAGS="-I. -DWIN32_LEAN_AND_MEAN -D_X86_=1 -c  -mno-cygwin -mcpu=i686 -O2  -Di386 -D_CRTAPI1=_cdecl   -Demacs=1 -DWINDOWSNT -DDOS_NT -DHAVE_CONFIG_H -I../nt/inc -D_UCHAR_T -DHAVE_NTGUI=1 -DUSE_CRT_DLL=1 -DMEADOW="\"1.99a4\"" -DMEADOW_VERSION_STRING="\"Meadow-1.99 Alpha4 (KUROGANE)\"" -DW32_VER4 -DPDUMP_HASH_SIZE=4000037 -DPDUMP_OBJECT_ARRAY_SIZE=200009"

というコマンドが実行されるのですが、見ての通り ARGQUOTE が " になって
しまっています。環境変数では SHELL=/bin/sh となっているのですが、make
中ではどうしても CMD と認識されてしまっているようです。

make に -e で /bin/sh を渡してみたり makefile の先頭に SHELL=/bin/sh
としてみたりしたのですが、結局だめで、

$ make --unix bootstrap
$ make --unix all
$ make --unix install

と明示的に --unix を渡してやる必要がありました。base/cygwin が
1.3.19-1 までの時は何もしなくてもちゃんと SHELL を SH と認識してくれて
いたのですが。

他に上記のような現象が起きている人っていらっしゃいますか? いろいろネッ
ト上を漁っては見たんですが、類似の報告はいっさいなくて……。これってう
ちの環境がおかしいんでしょうか (T_T)

とりあえず回避は出来るので困ってはいないのですが、何か情報をお持ちの方
いらっしゃいましたらご教示お願いいたします。

-- 
小畠 卓哉 (Studio SBS: http://www.studio-sbs.org/)
PGP FP: A1D0 9970 BFA3 B9EC EBE9  779B 4D6C B61C C727 E558