if have_header('expat.h') and have_library("expat", "XML_ParserCreate") then
with this line:
if have_library("libexpat")
Then try running the command above again. That should do the trick.
i did this but what i get is just:
checking for main() in libexpat.lib... no
so i tried to change it to
if true
then it creates a makefile, but after typing make it says:
$ make
cl -nologo -MD -Zi -O2b2xg- -G6 -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32
-Ic:/ruby/lib/ruby/1.8/i386-mswin32 -I. -Ic:/expat-1.95.7/source/lib
-I. -I./.. -I./../missing -DOS_CODE=OS_WIN32 -c -Tcquixml.c
/bin/sh: cl: command not found
make: *** [quixml.obj] Error 127
after replacing cl with gcc and removing some flags which create errors
i still get this:
$ make
gcc -MD -O2b2xg- -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32
-Ic:/ruby/lib/ruby/1.8/i386-mswin32 -I. -Ic:/expat-1.95.7/source/lib
-I. -I./.. -I./../missing -DOS_CODE=OS_WIN32 -c -Tcquixml.c
gcc.exe: no input files
make: *** [quixml.obj] Error 1
so i tried to compile it this way:
$ gcc -MD -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32
-Ic:/ruby/lib/ruby/1.8/i386-m
swin32 -I. -Ic:/expat-1.95.7/source/lib -I. -I./.. -I./../missing
-DOS_CODE=OS
_WIN32 -c quixml.c
In file included from c:/ruby/lib/ruby/1.8/i386-mswin32/ruby.h:671,
from quixml.c:53:
c:/ruby/lib/ruby/1.8/i386-mswin32/missing.h:64:1: warning: "isinf" redefined
In file included from c:/ruby/lib/ruby/1.8/i386-mswin32/win32/win32.h:56,
from c:/ruby/lib/ruby/1.8/i386-mswin32/defines.h:124,
from c:/ruby/lib/ruby/1.8/i386-mswin32/ruby.h:22,
from quixml.c:53:
c:/MinGW/include/math.h:290:1: warning: this is the location of the
previous definition
now i have a funny quixml.o and a quixml.d, but when i do
$ gcc quixml.o -o quixml.dll
i just get many lines of errors like this:
quixml.o(.text+0x37):quixml.c: undefined reference to `ruby_xmalloc'
quixml.o(.text+0xf0):quixml.c: undefined reference to `ruby_xmalloc'
quixml.o(.text+0x1fc):quixml.c: undefined reference to `rb_iv_set'
quixml.o(.text+0x21c):quixml.c: undefined reference to `rb_iv_set'
quixml.o(.text+0x22f):quixml.c: undefined reference to `rb_eException'
quixml.o(.text+0x234):quixml.c: undefined reference to `rb_raise'
quixml.o(.text+0x2b1):quixml.c: undefined reference to `rb_eException'
quixml.o(.text+0x2b6):quixml.c: undefined reference to `rb_raise'
quixml.o(.text+0x2e3):quixml.c: undefined reference to `rb_hash_new'
quixml.o(.text+0x313):quixml.c: undefined reference to `rb_str_new2'
quixml.o(.text+0x325):quixml.c: undefined reference to `rb_hash_aset'
quixml.o(.text+0x33f):quixml.c: undefined reference to `rb_hash_aref'