Re: Making shared libraries (DLLs) on Windows: -no-undefined
John Brown wrote: In all cases, ld would find the symbols easily, if only it would try. Is libtool really complaining about these so-called undefined symbols? If that is so, why? Why does it not just try to build the DLL? If ld fails because of undefined symbols, then it can say so at that time. Is that if I am building my.dll on Windows, and it consists only of my.c, which calls only functions in my.c, then -no-undefined is not required, but otherwise, -no-undefined is necessary? Should I tell the libamrnb maintainer that configure needs to add --no-undefined on Windows, or Windows users should configure with LDFLAGS=-no-undefined? Libtool will *not* create shared libraries without -no-undefined on PE targets, period. It's not about it trying to detect whether there are or are not any undefined symbols, it's about the maintainer telling libtool that it is safe to assume or not assume something. So yes, you need to either use -no-undefined unconditionally, or conditionalized on PE targets. See http://article.gmane.org/gmane.comp.gnu.mingw.user/18727 for a little of the history. Brian ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: dll names on windows
On Thu, Apr 19, 2007 at 05:12:49PM -0400, Bob Rossi wrote: On Sat, Apr 14, 2007 at 11:23:20PM +0100, Max Bowsher wrote: Bob Rossi wrote: I've recently converted pcre's (http://www.pcre.org/) build system to use the autotools. The previous stable version of libtool, pcre-7.0, used to create dll's on mingw. It would create $ ls .libs/*.dll .libs/pcre.dll .libs/pcreposix.dll Now, the new autotools version creates, $ ls ../../pcre-7.1-RC4/prefix-shared/bin libpcre-0.dll libpcrecpp-0.dll libpcreposix-0.dll pcre-config So, now pcre uses the names directly above, which is the default behavior. However, the pcre project would like to provide a backwards compatible dll the user can use if they enable the configure switch --enable-alt-win-dll (or something like that). Is there any way that I can have libtool simply create a dll with the new 'pcre.dll' instead of 'libpcre-0.dll'? Otherwise, I'll have to code into the Makefile some commands to provide the user with what they want. Above I meant to say 'with the name 'pcre.dll'. Ping. Maybe this is a stupid question. I'm not really knowledgeable enough to know if what I'm asking for doesn't even make sense. I'd like to at least find out if it's a reasonable question that I'm asking. :) Bob Rossi ___ http://lists.gnu.org/mailman/listinfo/libtool