> -----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 bug > > > nobu.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 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!