> -----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!