The .def files can be generated from cygwin or mingw's dlltool command:

erase readline.def 
erase history.def
dlltool --export-all-symbols -z readline.def libreadline.a
dlltool --export-all-symbols -z history.def libhistory.a
lib /machine:i386 /def:readline.def
lib /machine:i386 /def:history.def

(note: dlltool won't overwrite a def file if it exists).

But why would this be necessary?  It looks like the readline
distribution is broken.



> -----Original Message-----
> From: Chuck McDevitt
> Sent: Monday, September 24, 2007 11:59 PM
> To: 'Magnus Hagander'
> Cc: 'pgsql-hackers@postgresql.org'
> Subject: RE: [HACKERS] Suggestion for MSVC build
> 
> Actually, the more I look at it, I realize it was correct before
> 
> We want to link against readline.lib and history.lib, but the ones in
> the GnuWin32 distribution are broken.
> The .lib files are made from the .def files, which are supposed to
list
> the exports, but don't.
> 
> They can be made from commands like this:
> 
> lib /machine:i386 /def:readline.def
> lib /machine:i386 /def:history.def
> 
> But that only works if the .def files list the routines you want
> exported.
> 
> It's easy enough to add the few we use by hand, but I'm not sure why
> they aren't there.
> Adding them, running those lib commands, allowed me to link with no
> errors or warnings.
> 
> Maybe I need to do some research on readline... this seems more
> complicated than I expected.
> Does no one else use readline on Windows?  Is the Gnuwin32 readline a
> fraud?  I just don't know.
> 


---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to