From: Simon Josefsson Date: Sat, 9 Oct 2010 10:26:16 +0000 (+0200) Subject: docs: improve description of -no-undefined. X-Git-Tag: v2.4.2~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72266fced994c7efe609b52c889f5241aebda744;p=thirdparty%2Flibtool.git docs: improve description of -no-undefined. * doc/libtool.texi (Link mode): Fix -no-undefined description. (Inter-library dependencies): Use Windows not AIX as example system. Clarify need for symbol resolution at library creation time. Signed-off-by: Ralf Wildenhues --- diff --git a/ChangeLog b/ChangeLog index bfcbc8968..281c71e87 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2010-10-12 Simon Josefsson + Matěj Týč + Ralf Wildenhues + + docs: improve description of -no-undefined. + * doc/libtool.texi (Link mode): Fix -no-undefined description. + (Inter-library dependencies): Use Windows not AIX as example + system. Clarify need for symbol resolution at library creation + time. + 2010-10-09 Paolo Bonzini Add missing sysroot resolution. diff --git a/doc/libtool.texi b/doc/libtool.texi index cd5a1812d..076b67ba5 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -1517,9 +1517,12 @@ 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. -Some platforms cannot create shared libraries that depend on other -libraries (@pxref{Inter-library dependencies}). +Declare that @var{output-file} does not depend on any libraries other +than the ones listed on the command line, i.e., after linking, it will +not have unresolved symbols. Some platforms require all symbols in +shared libraries to be resolved at library creation (@pxref{Inter-library +dependencies}), and using this parameter allows @command{libtool} to +assume that this will not happen. @item -o @var{output-file} Create @var{output-file} from the specified objects and libraries. @@ -3261,12 +3264,13 @@ in order to guarantee that all the required libraries are found. This restriction is only necessary to preserve compatibility with static library systems and simple dynamic library systems. -Some platforms, such as AIX, do not even allow you this +Some platforms, such as Windows, 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 -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. +self-contained or it must have dependencies known at 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. The simple-minded inter-library dependency tracking code of libtool releases prior to 1.2 was disabled because it was not clear when it was