Hello,
I have thought so far that if you want to make a DLL, you can't get
involved with any other library, because libtool needs -no-undefined
flag in order to make DLLs and you are supposed to use it only if the
library is self-contained.
I was quite surprised when I have cheated libtool, supplied the
-no-undefined parameter and it worked although I thought that it
shouldn't and after some investigation, I have stumbled across an old
mailing list thread, where another person had the same issue:
http://lists.gnu.org/archive/html/libtool/2006-03/msg00012.html
Having looked at the documentation thoroughly, I had to admit that the
documentation is correct, but if you try to read through it quickly, it
is likely that you leave with the impression expressed in the beginning
of this e-mail.
Therefore I suggest that you stress this in the documentation, feel free
to use this patch (there is also a patch if you look at the old
message).
Regards,
Matej

diff --git a/doc/libtool.texi b/doc/libtool.texi
index cd5a181..e11cada 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -1517,7 +1517,8 @@ of library paths.  Useful if the program is only
used in the build tree,
 e.g., for testing or generating other files.
 
 @item -no-undefined
-Declare that @var{output-file} does not depend on any other libraries.
+Declare that @var{output-file} does not depend on any other libraries
+in the sense that after linking it will not have any unresolved
symbols.
 Some platforms cannot create shared libraries that depend on other
 libraries (@pxref{Inter-library dependencies}).
 
@@ -3263,7 +3264,8 @@ library systems and simple dynamic library
systems.
 
 Some platforms, such as AIX, do not even allow you this
 flexibility.  In order to build a shared library, it must be entirely
-self-contained (that is, have references only to symbols that are found
+self-contained or it must have dependencies known at the link time
+(that is, have references only to symbols that are found
 in the @file{.lo} files or the specified @samp{-l} libraries), and you
 need to specify the @option{-no-undefined} flag.  By default, libtool
 builds only static libraries on these kinds of platforms.



_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to