#gauche の HEAD, clean な tree を build しようとすると、OSX では失敗しますね。
#=== configuring in gc (/tmp/Gauche/gc)
configure: running /bin/sh ./configure.gnu --disable-option-checking '--prefix=/usr/local' '--enable-multibyte=utf-8' --cache-file=/dev/null --srcdir=.
./configure.gnu: line 6: ./configure.gnu-gauche: Permission denied
configure: error: ./configure.gnu failed for gc
#まず、./configure を実行すると、CONFIG_SHELL が空のようで、上記のようなエラーになります。
#pr #114だと思います。調査中。
#空な場合は /bin/sh を設定するようにして先に進むと、ssltest.mod.c を作るところで OSX の readlink には -f オプションがないので、以下のようなエラーになります。
#readlink -fはMinGWも心配なんですよね。
#sed -e "s@\.\./ssl/@$(readlink -f .)/axTLS/ssl/@g" \
-e "s/system/safe_system/g" \
-e "s@openssl @sh $(readlink -f .)/kick_openssl @g" \
./axTLS/ssl/test/ssltest.c >> axTLS/ssl/test/ssltest.mod.c
readlink: illegal option -- f
usage: readlink [-n] [file ...]
readlink: illegal option -- f
usage: readlink [-n] [file ...]
#ssltest.mod.c のコンパイル自体は成功しますが、 SYSTEM("sh /axTLS/ssl/test/killgnutls.sh"); とかになっちゃってるので、おそらくテストを実行するとフェイルしそうです。
#absolute pathが欲しいだけなんだよなあ。
#autoconf が提供する変数の中に適当なのないんですかね。
#ないから無理やり readlink なのかな。
#configure を読んでみると、SHELL を CONFIG_SHELL or /bin/sh に設定しているみたいなので、gc/configure.gnu では単に $SHELL でもいいような感じ。
#linuxとOSXで差が出たのはCONFIG_SHELLがexportされてるかどうか?
#とりあえずSHELLにすればconfigureは通りますね。
#linux は試してないですが、linux だと CONFIG_SHELL export されます?
#確かに linux だと export CONFIG_SHELL って実行されますね。
#OSX は if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then の then 節を実行するけど、linux では else 節の方を実行するみたいですね。
#OSX は /bin/sh が bash なので $LINENO があるけど、linux (というか、ubuntu) では /bin/sh が dash なので $LINENO がないので差が出てるのかな。