libruby
$ ./autogen.sh $ make
するとこんな風に怒られる。
gcc -shared -s -Wl,--enable-auto-import,--export-all -o xmlformatter.so xmlformatter.o -lcrypt xmlformatter.o(.text+0xda): In function `xmlformatter_write_obj': /c/cygwin/home/soutaro/src/gonzui/gonzui/webapp/xmlformatter.c:54: undefined reference to `_rb_obj_as_string'
これはgccのオプションに
-lruby
を足して、importライブラリ「libruby.dll.a」とかをリンクしてやるようにすれば、コンパイルできるようになる。gonzuiの場合だと、acinclude.m4を
RUBY_LIBS="`ruby -rmkmf -e 'print Config::MAKEFILE_CONFIG["LIBS"], "-lruby\n"'`"
とか書き直して、./autogen.sh && make allすればコンパイルできるようになる。
さて、ここで問題です。
Linuxでgonzuiをコンパイルすると、やっぱり拡張ライブラリのコンパイルには-lrubyオプションがついていませんが、きちんとコンパイルできます。なんででしょう。