Ok - tried that. Here was the result:
C:\ruby180\src\quixml-0.2.1>ruby extconf.rb
–with-quixml-include=c:/expat-1.95.6/source/lib
–with-quixml-lib=c:/expat-1.95.6/source/lib
checking for expat.h… yes
checking for XML_ParserCreate() in -lexpat… no
Upon further review, there is an libexpat.dll and libexpat.lib in
c:/expat-1.95.6/libs (oops - duh). I modified the extconf.rb file and
replaced have_library(‘expat’) to have_library(‘libexpat’). Then I tried
this:
C:\ruby180\src\quixml-0.2.1>ruby extconf.rb
–with-quixml-include=c:/expat-1.95.6/source/lib
–with-quixml-lib=c:/expat-1.95.6/libs
That worked. One warning during build btw Sean I thought you may be
interested in:
C:\ruby180\src\QUIXML~1.1>nmake
Microsoft (R) Program Maintenance Utility Version 7.00.9466
Copyright (C) Microsoft Corporation. All rights reserved.
cl -nologo -MD -Zi -O2b2xg- -G6 -I.
-Ic:/ruby180/lib/ruby/1.8/i386-mswin
32 -Ic:/ruby180/lib/ruby/1.8/i386-mswin32 -I. -DHAVE_EXPAT_H
-Ic:/expat-1.95.6/s
ource/lib -I. -I./… -I./…/missing -DOS_CODE=OS_WIN32 -c -Tcquixml.c
quixml.c
quixml.c(1067) : warning C4033: ‘quixml_test_node’ must return a value
cl -nologo -LD -Fequixml.so quixml.obj msvcrt-ruby18.lib
libexpat.lib o
ldnames.lib user32.lib advapi32.lib wsock32.lib -link -incremental:no
-pdb:none
-dll -libpath:“c:/ruby180/lib” -libpath:“c:/expat-1.95.6/libs”
-def:quixml.def
LINK : warning LNK4224: /PDB:NONE is no longer supported; ignored
Creating library quixml.lib and object quixml.exp
Also, there’s a libexpatw.dll and libexpatw.lib (wide, aka unicode) for
those who want to link against that instead (modify extconf.rb file
appropriately).
Regards,
Dan
PS - Need tests!
···
-----Original Message-----
From: Sean O’Dell [mailto:sean@cSePlsoAfMt.com[REMOVE_THE_SPAM]]
Sent: Tuesday, September 02, 2003 2:11 AM
To: ruby-talk@ruby-lang.org
Subject: Re: Problem building quixml on Win32 - possible mkmf bugnobu.nokada@softhome.net wrote:
Hi,
At Tue, 2 Sep 2003 13:29:04 +0900, > > Daniel Berger wrote:
I installed expat in c:\expat-1.95.6 (using the
windows installer for expat). No problem. The
expat.h (and other source files) are located in
c:\expat-1.95.6\source\lib.I verified that there’s a “dir_config ‘quixml’” -
there is. So, I tried this:ruby extconf.rb
–with-quixml-dir=c:/expat-1.95.6/source. That didn’t
work. Looking at the mkmf.log file I see this:Use --with-quixml-include=c:/expat-1.95.6/source/lib and
–with-quixml-lib=c:/expat-1.95.6/source/lib.mkmf.rb expects headers are placed in “include” and
libraries are in
“lib” respectively.PS - I noticed that extconf.rb does not like
backslashes in directory names, e.g.
–with-quixml-dir=c:\expat-1.95.6\source. I had to use ‘\’ to get
that to work properly. Is that proper behavior?Yes, \ is used to escape meta-characters, e.g. space.
Thanks for the quick reply Nobu. I will fold this
information into the
README shortly.Sean O’Dell