2007-02-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+ * doc/libtool.texi (LT_INIT): Fix wording of intro a bit.
+ <shared, static>: Also describe these default LT_INIT options.
+ <AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL>
+ <AC_DISABLE_FAST_INSTALL>: Mention deprecated macro names,
+ including the respective LT_INIT replacement.
+ <AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_ENABLE_SHARED>
+ <AC_ENABLE_STATIC>: Document, un-deprecate. Suggest the
+ respective LT_INIT replacement.
+ <AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_ENABLE_SHARED>
+ <AM_ENABLE_STATIC>: Document deprecated aliases.
+ (Distributing libltdl) <AC_WITH_LTDL, AC_LIBLTDL_INSTALLABLE>
+ <AC_LIBLTDL_CONVENIENCE>: Document deprecated aliases.
+ * libltdl/m4/ltoptions.m4 (AM_ENABLE_SHARED, AM_DISABLE_SHARED)
+ (AM_ENABLE_STATIC, AM_DISABLE_STATIC): Make these AU_ALIASes of
+ the respective AC_* macros, so we do not recommend LT_INIT(*) in
+ this case.
+ (AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC)
+ (AC_DISABLE_STATIC): Un-deprecate these. Remove now-superfluous
+ aclocal-1.4 backwards compatibility comments.
+
* tests/link-order2.at: Rewrite completely. Do not use `sin'
from the math library, there are too many problems with this.
Instead, use a self-written library, install it without the
If you are using @sc{gnu} Autoconf (or Automake), you should add a call to
@code{LT_INIT} to your @file{configure.ac} file. This macro
adds many new tests to the @code{configure} script so that the generated
-libtool script will understand the characteristics of the host:
+libtool script will understand the characteristics of the host. It's the
+most important of a number of macros defined by Libtool:
@defmac LT_PREREQ (@var{VERSION})
Ensure that a recent enough version of Libtool is being used. If the
and also enables static libraries if they don't conflict with the shared
libraries. You can modify these defaults by passing either
@code{disable-shared} or @code{disable-static} in the option list to
-@code{LT_INIT}:@footnote{This used to be done with additional macro
-calls, @code{AC_DISABLE_SHARED} and @code{AC_DISABLE_STATIC}. If you
-are upgrading from such an old version, again @code{autoupdate} is your
-friend.}
+@code{LT_INIT}, or using @code{AC_DISABLE_SHARED} or @code{AC_DISABLE_STATIC}.
@example
# Turn off shared libraries during beta-testing, since they
default, depending on platform support, by specifying
@option{--enable-fast-install} to @command{configure}.
+@item shared
+Change the default behaviour for @code{LT_INIT} to enable
+shared libraries. This is the default on all systems where
+Libtool knows how to create shared libraries.
+The user may still override this default by specifying
+@option{--disable-shared} to @command{configure}.
+
@item disable-shared
Change the default behaviour for @code{LT_INIT} to disable
shared libraries. The user may still override this default by
specifying @option{--enable-shared} to @command{configure}.
+@item static
+Change the default behaviour for @code{LT_INIT} to enable
+static libraries. This is the default on all systems where
+shared libraries have been disabled for some reason, and on
+most systems where shared libraries have been enabled.
+If shared libraries are enabled, the user may still override
+this default by specifying @option{--disable-static} to
+@command{configure}.
+
@item disable-static
Change the default behaviour for @code{LT_INIT} to disable
static libraries. The user may still override this default by
@end defmac
+@defmac AC_LIBTOOL_DLOPEN
+This macro is deprecated, the @samp{dlopen} option to @code{LT_INIT} should be
+used instead.
+@end defmac
+
+@defmac AC_LIBTOOL_WIN32_DLL
+This macro is deprecated, the @samp{win32-dll} option to @code{LT_INIT} should
+be used instead.
+@end defmac
+
+@defmac AC_DISABLE_FAST_INSTALL
+This macro is deprecated, the @samp{disable-fast-install} option to @code{LT_INIT}
+should be used instead.
+@end defmac
+
+@defmac AC_DISABLE_SHARED
+@defmacx AM_DISABLE_SHARED
+Change the default behaviour for @code{LT_INIT} to disable shared libraries.
+The user may still override this default by specifying @samp{--enable-shared}.
+The option @samp{disable-shared} to @code{LT_INIT} is a shorthand for this.
+@code{AM_DISABLE_SHARED} is a deprecated alias for @code{AC_DISABLE_SHARED}.
+@end defmac
+
+@defmac AC_ENABLE_SHARED
+@defmacx AM_ENABLE_SHARED
+Change the default behaviour for @code{LT_INIT} to enable shared libraries.
+This is the default on all systems where Libtool knows how to create
+shared libraries. The user may still override this default by specifying
+@samp{--disble-shared}. The option @samp{shared} to @code{LT_INIT} is a
+shorthand for this.
+@code{AM_ENABLE_SHARED} is a deprecated alias for @code{AC_ENABLE_SHARED}.
+@end defmac
+
+@defmac AC_DISABLE_STATIC
+@defmacx AM_DISABLE_STATIC
+Change the default behaviour for @code{LT_INIT} to disable static libraries.
+The user may still override this default by specifying @samp{--enable-static}.
+The option @samp{disable-static} to @code{LT_INIT} is a shorthand for this.
+@code{AM_DISABLE_STATIC} is a deprecated alias for @code{AC_DISABLE_STATIC}.
+@end defmac
+
+@defmac AC_ENABLE_STATIC
+@defmacx AM_ENABLE_STATIC
+Change the default behaviour for @code{LT_INIT} to enable static libraries.
+This is the default on all systems where shared libraries have been disabled
+for some reason, and on most systems where shared libraries have been enabled.
+If shared libraries are enabled, the user may still override this default by
+specifying @samp{--disable-static}. The option @samp{static} to @code{LT_INIT}
+is a shorthand for this.
+@code{AM_ENABLE_STATIC} is a deprecated alias for @code{AC_ENABLE_STATIC}.
+@end defmac
+
The tests in @code{LT_INIT} also recognize the following
environment variables:
@end defmac
@defmac LT_WITH_LTDL
+@defmacx AC_WITH_LTDL
Add the @option{--with-included-ltdl} option to the @file{configure}
script. This option will then allow the person who builds your
package to choose between linking against an already installed
@code{libltdl} (@option{--without-included-ltdl}), or the sources
shipped with the package in the subdirectory named by
@code{LT_CONFIG_LTDL_DIR} (@option{--with-included-ltdl}).
+
+@code{AC_WITH_LTDL} is a deprecated alias for @code{LT_WITH_LTDL}.
@end defmac
@defmac LTDL_INSTALLABLE
+@defmacx AC_LIBLTDL_INSTALLABLE
If there is an installed @code{libltdl}, then set @code{LIBLTDL} to the
link flags needed to use it, and @code{LTDLINCL} to the preprocessor
flags needed to find the installed headers. Otherwise, set them to
appear @strong{before} the call to @code{LT_WITH_LTDL}. If you are
not using @code{LT_WITH_LTDL}, then you must add a call to
@code{AC_CONFIG_SUBDIRS(@var{DIRECTORY})} to your @file{configure.ac}.
+
+@code{AC_LIBLTDL_INSTALLABLE} is a deprecated alias for
+@code{LTDL_INSTALLABLE}.
@end defmac
@defmac LTDL_CONVENIENCE
+@defmacx AC_LIBLTDL_CONVENIENCE
Unless you call @code{LTDL_INSTALLABLE} before hand,
@code{LT_WITH_LTDL} calls this macro automatically, so you should only
ever need to use it yourself if @code{LT_WITH_LTDL} doesn't do what
using automake, you will need to define @code{top_builddir} and
@code{top_srcdir} in your makefile so that @code{LIBLTDL} and
@code{LTDLINCL} are expanded properly.
+
+@code{AC_LIBLTDL_CONVENIENCE} is a deprecated alias for
+@code{LTDL_CONVENIENCE}.
@end defmac
One advantage of the convenience library is that it is not installed,
LT_OPTION_DEFINE([disable-shared], [_LT_ENABLE_SHARED([no])])
# Old names:
-AU_DEFUN([AC_ENABLE_SHARED],
+AC_DEFUN([AC_ENABLE_SHARED],
[_LT_SET_OPTION([shared])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `shared' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED],
-[_LT_SET_OPTION([shared])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `shared' option into LT_INIT's first parameter.])
])
-AU_DEFUN([AC_DISABLE_SHARED],
+AC_DEFUN([AC_DISABLE_SHARED],
[_LT_SET_OPTION([disable-shared])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-shared' option into LT_INIT's first parameter.])
])
-AU_DEFUN([AM_DISABLE_SHARED],
-[_LT_SET_OPTION([disable-shared])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-shared' option into LT_INIT's first parameter.])
-])
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_SHARED], [])
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AC_DISABLE_SHARED], [])
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
LT_OPTION_DEFINE([disable-static], [_LT_ENABLE_STATIC([no])])
# Old names:
-AU_DEFUN([AC_ENABLE_STATIC],
+AC_DEFUN([AC_ENABLE_STATIC],
[_LT_SET_OPTION([static])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `static' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC],
-[_LT_SET_OPTION([static])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `static' option into LT_INIT's first parameter.])
])
-AU_DEFUN([AC_DISABLE_STATIC],
+AC_DEFUN([AC_DISABLE_STATIC],
[_LT_SET_OPTION([disable-static])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-static' option into LT_INIT's first parameter.])
])
-AU_DEFUN([AM_DISABLE_STATIC],
-[_LT_SET_OPTION([disable-static])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-static' option into LT_INIT's first parameter.])
-])
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_STATIC], [])
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AC_DISABLE_STATIC], [])
dnl AC_DEFUN([AM_DISABLE_STATIC], [])