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