From: Gary V. Vaughan Date: Sun, 22 Feb 2004 11:13:45 +0000 (+0000) Subject: Sweeping changes to the user interface to libtool from X-Git-Tag: release-1-9b~146 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7356d2f619b23a19dfceacdb4325ec60ac05a56;p=thirdparty%2Flibtool.git Sweeping changes to the user interface to libtool from `configure.ac' to be more like AC_INIT and accept a space delimited list of options. Instead of calling `AC_LIBTOOL_DLOPEN; AC_PROG_LIBTOOL', we now recommend `LT_INIT([dlopen])': * m4/libtool.m4 (AC_PROG_LIBTOOL, _AC_PROG_LIBTOOL) (AC_LIBTOOL_SETUP): Removed. Added AU_DEFUNs. (LT_INIT): Replace with an Autoconf like interface which accepts a version number as a minimum required libtool release at configure time. * m4/ltoptions.m4: New file inspired by automake/m4/amoptions.m4, which additionally flags an error if the configuring libtool macros are not new enough according to LT_INIT. (LT_OPTION_DEFINE): New macro to declare option handlers. (dlopen, win32-dll, shared, disable-shared, static) (disable-static, fast-install, disable-fast-install, pic-only) (no-pic): Newly LT_OPTION_DEFINEd option handlers that use... (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC, _LT_ENABLE_FAST_INSTALL) (_LT_WITH_PIC, _LT_WIN32_DLL): New macros to handle LT_LIBTOOL_INIT options... * m4/libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC) (AC_ENABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL): ...to replace these user interface macros, now defined as AU_DEFUNs. (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): Removed. No longer required with LT_INIT_LIBTOOL interface. Added AU_DEFUNs. (AM_ENABLE_SHARED, AM_DISABLE_SHARED, AM_ENABLE_STATIC) (AM_DISABLE_STATIC): Changed AU_DEFUNs to match new interface. (_LT_SETUP): Internal to LT_INIT, replaces AC_LIBTOOL_SETUP. * m4/lt~obsolete.m4 (AC_LIBTOOL_SETUP, _AC_PROG_LIBTOOL) (_LT_PROG_LTMAIN): More AC_DEFUNs that have been retracted. * configure.ac: Use new interface. * doc/libtool.texi: Document new interface. * NEWS: Updated. --- diff --git a/ChangeLog b/ChangeLog index 819c867ef..516c7e020 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,41 @@ +2004-02-20 Gary V. Vaughan + + Sweeping changes to the user interface to libtool from + `configure.ac' to be more like AC_INIT and accept a space + delimited list of options. Instead of calling `AC_LIBTOOL_DLOPEN; + AC_PROG_LIBTOOL', we now recommend `LT_INIT([dlopen])': + + * m4/libtool.m4 (AC_PROG_LIBTOOL, _AC_PROG_LIBTOOL) + (AC_LIBTOOL_SETUP): Removed. Added AU_DEFUNs. + (LT_INIT): Replace with an Autoconf like interface which accepts a + version number as a minimum required libtool release at configure + time. + * m4/ltoptions.m4: New file inspired by automake/m4/amoptions.m4, + which additionally flags an error if the configuring libtool + macros are not new enough according to LT_INIT. + (LT_OPTION_DEFINE): New macro to declare option handlers. + (dlopen, win32-dll, shared, disable-shared, static) + (disable-static, fast-install, disable-fast-install, pic-only) + (no-pic): Newly LT_OPTION_DEFINEd option handlers that use... + (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC, _LT_ENABLE_FAST_INSTALL) + (_LT_WITH_PIC, _LT_WIN32_DLL): New macros to handle + LT_LIBTOOL_INIT options... + * m4/libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC) + (AC_ENABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL): + ...to replace these user interface macros, now defined as + AU_DEFUNs. + (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): + Removed. No longer required with LT_INIT_LIBTOOL interface. + Added AU_DEFUNs. + (AM_ENABLE_SHARED, AM_DISABLE_SHARED, AM_ENABLE_STATIC) + (AM_DISABLE_STATIC): Changed AU_DEFUNs to match new interface. + (_LT_SETUP): Internal to LT_INIT, replaces AC_LIBTOOL_SETUP. + * m4/lt~obsolete.m4 (AC_LIBTOOL_SETUP, _AC_PROG_LIBTOOL) + (_LT_PROG_LTMAIN): More AC_DEFUNs that have been retracted. + * configure.ac: Use new interface. + * doc/libtool.texi: Document new interface. + * NEWS: Updated. + 2004-02-18 Gary V. Vaughan * commit (SHELL): Set it explicitly, incase some madman is using diff --git a/NEWS b/NEWS index 5e6285623..43abfa002 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,11 @@ New in 1.5b: 2004-??-??; CVS version 1.5a, Libtool team: renamed. If you have any macros in this namespace please rename them to prevent any possible future clash with libtool supplied macros. * New LT_PREREQ macro for specifying minimum libtool requirement. +* New LT_INIT interface replaces AC_PROG_LIBTOOL, AC_ENABLE_SHARED, + AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, + AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, + AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_PIC_MODE. Use autoupdate to modernise + your configure.ac files after installing this release. * The libtool script will complain if it was built from mismatched ltmain.sh and libtool m4 macro versions. * Like automake, libtoolize no longer installs config.guess and config.sub by diff --git a/configure.ac b/configure.ac index b295dc941..af781bb92 100644 --- a/configure.ac +++ b/configure.ac @@ -181,9 +181,7 @@ AM_CONDITIONAL(HAVE_RC, [test "x$RC" != xno]) ## ----------------------- ## AC_CONFIG_FILES([config/ltmain.sh:./ltmain.in]) AC_CONFIG_FILES([libtoolize], [chmod a+x libtoolize]) -AC_LIBTOOL_DLOPEN -AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL +LT_INIT([dlopen win32-dll]) AC_LIB_LTDL diff --git a/doc/libtool.texi b/doc/libtool.texi index 87e439911..3818faf36 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -136,7 +136,7 @@ Integrating libtool with your package Configuring libtool -* AC_PROG_LIBTOOL:: Configuring @code{libtool} in @file{configure.in}. +* LT_INIT:: Configuring @code{libtool} in @file{configure.in}. Including libtool in your package @@ -1627,20 +1627,20 @@ Libtool adds its own tests to your @code{configure} script in order to generate a libtool script for the installer's host machine. @menu -* AC_PROG_LIBTOOL:: Configuring @code{libtool} in @file{configure.in}. +* LT_INIT:: Configuring @code{libtool} in @file{configure.in}. @end menu -@node AC_PROG_LIBTOOL -@subsection The @code{AC_PROG_LIBTOOL} macro +@node LT_INIT +@subsection The @code{LT_INIT} macro If you are using GNU Autoconf (or Automake), you should add a call to -@code{AC_PROG_LIBTOOL} to your @file{configure.in} file. This macro +@code{LT_INIT} to your @file{configure.in} 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: @defmac LT_PREREQ(@var{VERSION}) Ensure that a recent enough version of Libtool is being used. If the -version of Libtool used for @code{AC_PROG_LIBTOOL} is earlier than +version of Libtool used for @code{LT_INIT} is earlier than @var{version}, print an error message to the standard error output and exit with failure (exit status is 63). For example: @@ -1649,27 +1649,31 @@ LT_PREREQ(@value{VERSION}) @end example @end defmac -@defmac AC_PROG_LIBTOOL +@defmac LT_INIT +@defmacx AC_PROG_LIBTOOL @defmacx AM_PROG_LIBTOOL Add support for the @samp{--enable-shared} and @samp{--disable-shared} -@code{configure} flags.@footnote{@code{AC_PROG_LIBTOOL} requires that +@code{configure} flags.@footnote{@code{LT_INIT} requires that you define the @file{Makefile} variable @code{top_builddir} in your @file{Makefile.in}. Automake does this automatically, but Autoconf users should set it to the relative path to the top of your build -directory (@file{../..}, for example).} @code{AM_PROG_LIBTOOL} was the -old name for this macro, and although supported at the moment is -deprecated. +directory (@file{../..}, for example).} @code{AC_PROG_LIBTOOL} and +@code{AM_PROG_LIBTOOL} were names for older versions of this macro; +@code{autoupdate} will upgrade your @file{configure.ac} files. By default, this macro turns on shared libraries if they are available, and also enables static libraries if they don't conflict with the shared -libraries. You can modify these defaults by calling either the -@code{AC_DISABLE_SHARED} or @code{AC_DISABLE_STATIC} macros: +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.} @example # Turn off shared libraries during beta-testing, since they # make the build process take too long. -AC_DISABLE_SHARED -AC_PROG_LIBTOOL +LT_INIT([disable-shared]) @end example The user may specify modified forms of the configure flags @@ -1700,7 +1704,7 @@ use to automatically update the libtool script if it becomes out-of-date. In order to do that, add to your @file{configure.in}: @example -AC_PROG_LIBTOOL +LT_INIT AC_SUBST(LIBTOOL_DEPS) @end example @@ -1716,53 +1720,53 @@ If you are using GNU automake, you can omit the assignment, as automake will take care of it. You'll obviously have to create some dependency on @file{libtool}. -@end defmac +Aside from @code{disable-static} and @code{disable-shared}, there are +other options that you can pass to @code{LT_INIT} to modify its +behaviour. Here is a full list: -@defmac AC_LIBTOOL_DLOPEN -Enable checking for dlopen support. This macro should be used if +@itemize @bullet +@item dlopen +Enable checking for dlopen support. This option should be used if the package makes use of the @samp{-dlopen} and @samp{-dlpreopen} flags, otherwise libtool will assume that the system does not support dlopening. -The macro must be called @strong{before} @code{AC_PROG_LIBTOOL}. -@end defmac -@defmac AC_LIBTOOL_WIN32_DLL -This macro should be used if the package has been ported to build clean +@item win32-dll +This option should be used if the package has been ported to build clean dlls on win32 platforms. Usually this means that any library data items are exported with @code{__declspec(dllexport)} and imported with @code{__declspec(dllimport)}. If this macro is not used, libtool will assume that the package libraries are not dll clean and will build only static libraries on win32 hosts. -This macro must be called @strong{before} @code{AC_PROG_LIBTOOL}, and -provision must be made to pass @samp{-no-undefined} to @code{libtool} +Provision must be made to pass @samp{-no-undefined} to @code{libtool} in link mode from the package @code{Makefile}. Naturally, if you pass @samp{-no-undefined}, you must ensure that all the library symbols @strong{really are} defined at link time! -@end defmac -@defmac AC_DISABLE_FAST_INSTALL -Change the default behaviour for @code{AC_PROG_LIBTOOL} to disable +@item disable-fast-install +Change the default behaviour for @code{LT_INIT} to disable optimization for fast installation. The user may still override this default, depending on platform support, by specifying @samp{--enable-fast-install}. -@end defmac -@defmac AC_DISABLE_SHARED -@defmacx AM_DISABLE_SHARED -Change the default behaviour for @code{AC_PROG_LIBTOOL} to disable +@item 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}. @end defmac -@defmac AC_DISABLE_STATIC -@defmacx AM_DISABLE_STATIC -Change the default behaviour for @code{AC_PROG_LIBTOOL} to disable +@item 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}. @end defmac +@end itemize + +@end defmac + @defmac AC_LIBTOOL_TAGS ([tag1 tag2 ...]) -Change the default behaviour for @code{AC_PROG_LIBTOOL} to limit +Change the default behaviour for @code{LT_INIT} to limit configuration to a specified set of language tags. This is valuable in case libtool is embedded in a package which only uses a subset of the languages libtool supports. Configuring a subset of the supported @@ -1772,45 +1776,45 @@ configuration. Tag names accepted are "CXX", "F77", "GCJ", and disabled. @end defmac -The tests in @code{AC_PROG_LIBTOOL} also recognize the following +The tests in @code{LT_INIT} also recognize the following environment variables: @defvar CC The C compiler that will be used by the generated @code{libtool}. If -this is not set, @code{AC_PROG_LIBTOOL} will look for @code{gcc} or +this is not set, @code{LT_INIT} will look for @code{gcc} or @code{cc}. @end defvar @defvar CFLAGS Compiler flags used to generate standard object files. If this is not -set, @code{AC_PROG_LIBTOOL} will not use any such flags. It affects -only the way @code{AC_PROG_LIBTOOL} runs tests, not the produced +set, @code{LT_INIT} will not use any such flags. It affects +only the way @code{LT_INIT} runs tests, not the produced @code{libtool}. @end defvar @defvar CPPFLAGS -C preprocessor flags. If this is not set, @code{AC_PROG_LIBTOOL} will -not use any such flags. It affects only the way @code{AC_PROG_LIBTOOL} +C preprocessor flags. If this is not set, @code{LT_INIT} will +not use any such flags. It affects only the way @code{LT_INIT} runs tests, not the produced @code{libtool}. @end defvar @defvar LD The system linker to use (if the generated @code{libtool} requires one). -If this is not set, @code{AC_PROG_LIBTOOL} will try to find out what is +If this is not set, @code{LT_INIT} will try to find out what is the linker used by @var{CC}. @end defvar @defvar LDFLAGS The flags to be used by @code{libtool} when it links a program. If -this is not set, @code{AC_PROG_LIBTOOL} will not use any such flags. It -affects only the way @code{AC_PROG_LIBTOOL} runs tests, not the produced +this is not set, @code{LT_INIT} will not use any such flags. It +affects only the way @code{LT_INIT} runs tests, not the produced @code{libtool}. @end defvar @defvar LIBS -The libraries to be used by @code{AC_PROG_LIBTOOL} when it links a -program. If this is not set, @code{AC_PROG_LIBTOOL} will not use any -such flags. It affects only the way @code{AC_PROG_LIBTOOL} runs tests, +The libraries to be used by @code{LT_INIT} when it links a +program. If this is not set, @code{LT_INIT} will not use any +such flags. It affects only the way @code{LT_INIT} runs tests, not the produced @code{libtool}. @end defvar @@ -1824,7 +1828,7 @@ Program to use rather than checking for @code{ranlib}. @defvar LN_S A command that creates a link of a program, a soft-link if possible, a -hard-link otherwise. @code{AC_PROG_LIBTOOL} will check for a suitable +hard-link otherwise. @code{LT_INIT} will check for a suitable program if this variable is not set. @end defvar @@ -1848,11 +1852,11 @@ libtool had discovered about your architecture and environment, you had to run the script with @samp{--config} and grep through the results. This ideom was supported up to and including 1.5.x era libtool, where it was possible to call the generated libtool script -from @file{configure.in} as soon as @code{AC_PROG_LIBTOOL} had +from @file{configure.in} as soon as @code{LT_INIT} had completed. However, one of the features of libtool 1.4 was that the libtool configuration was migrated out of a separate @file{ltconfig} -file, and added to the @code{AC_PROG_LIBTOOL} macro, so the results of -the configuration tests were available directly to code in +file, and added to the @code{LT_INIT} macro (nee @code{AC_PROG_LIBTOOL}), +so the results of the configuration tests were available directly to code in @file{configure.in}, rendering the call out to the generated libtool script obsolete. @@ -1871,8 +1875,8 @@ generated libtool script. @pindex aclocal When you invoke the @code{libtoolize} program (@pxref{Invoking libtoolize}), it will tell you where to find a definition of -@code{AC_PROG_LIBTOOL}. If you use Automake, the @code{aclocal} program -will automatically add @code{AC_PROG_LIBTOOL} support to your +@code{LT_INIT}. If you use Automake, the @code{aclocal} program +will automatically add @code{LT_INIT} support to your @code{configure} script. Nevertheless, it is advisable to include a copy of @file{libtool.m4} in @@ -1939,8 +1943,7 @@ and accepts the following options: Work silently, and assume that Automake libtool support is used. @samp{libtoolize --automake} is used by Automake to add libtool files to -your package, when @code{AC_PROG_LIBTOOL} appears in your -@file{configure.in}. +your package, when @code{LT_INIT} appears in your @file{configure.in}. @item --copy @itemx -c @@ -2035,10 +2038,9 @@ AC_OUTPUT(@dots{}) When you are developing a package, it is often worthwhile to configure your package with the @samp{--disable-shared} flag, or to override the -defaults for @code{AC_PROG_LIBTOOL} by using the -@code{AC_DISABLE_SHARED} Autoconf macro (@pxref{AC_PROG_LIBTOOL, , The -@code{AC_PROG_LIBTOOL} macro}). This prevents libtool from building -shared libraries, which has several advantages: +defaults for @code{LT_INIT} by using the @code{disable-shared} option +(@pxref{LT_INIT, , The @code{LT_INIT} macro}). This prevents libtool +from building shared libraries, which has several advantages: @itemize @bullet @item @@ -2563,10 +2565,9 @@ language. As of version @value{VERSION}, libtool provides support for dlopened modules. However, you should indicate that your package is willing to -use such support, by using the macro @samp{AC_LIBTOOL_DLOPEN} in -@file{configure.in}. If this macro is not used (or it is used -@emph{after} @samp{AC_PROG_LIBTOOL}), libtool will assume no dlopening -mechanism is available, and will try to simulate it. +use such support, by using the @code{LT_INIT} option @samp{dlopen} in +@file{configure.ac}. If this option is not given, libtool will assume +no dlopening mechanism is available, and will try to simulate it. This chapter discusses how you as a dlopen application developer might use libtool to generate dlopen-accessible modules. @@ -3583,11 +3584,11 @@ symbols. In general you can safely use the convenience library in programs which don't depend on other libraries that might use libltdl too. In order to enable this flavor of libltdl, you should add the line @samp{AC_LIBLTDL_CONVENIENCE} to your @file{configure.in}, -@emph{before} @samp{AC_PROG_LIBTOOL}. +@emph{before} @samp{LT_INIT}. In order to select the installable version of libltdl, you should add a call of the macro @samp{AC_LIBLTDL_INSTALLABLE} to your -@file{configure.in} @emph{before} @samp{AC_PROG_LIBTOOL}. This macro +@file{configure.in} @emph{before} @samp{LT_INIT}. This macro will check whether libltdl is already installed and, if not, request the libltdl embedded in your package to be built and installed. Note, however, that no version checking is performed. The user may override @@ -3635,10 +3636,10 @@ So, when you want to link a program with libltdl, be it a convenience, installed or installable library, just compile with @samp{$(LTDLINCL)} and link it with @samp{$(LIBLTDL)}, using libtool. -You should probably also add @samp{AC_LIBTOOL_DLOPEN} to your -@file{configure.in} @emph{before} @samp{AC_PROG_LIBTOOL}, otherwise -libtool will assume no dlopening mechanism is supported, and revert to -dlpreopening, which is probably not what you want. +You should probably also use the @samp{dlopen} option to @code{LT_INIT} +in your @file{configure.ac}, otherwise libtool will assume no dlopening +mechanism is supported, and revert to dlpreopening, which is probably not +what you want. Avoid using the @code{-static} or @code{-all-static} switches when linking programs with libltdl. This will not work on all platforms, @@ -3656,14 +3657,10 @@ dnl Enable building of the convenience library dnl and set LIBLTDL accordingly AC_LIBLTDL_CONVENIENCE dnl Substitute LTDLINCL and LIBLTDL in the Makefiles -AC_SUBST(LTDLINCL) -AC_SUBST(LIBLTDL) -dnl Check for dlopen support -AC_LIBTOOL_DLOPEN -dnl Configure libtool -AC_PROG_LIBTOOL -dnl Configure libltdl -AC_CONFIG_SUBDIRS(libltdl) +AC_SUBST([LTDLINCL]) +AC_SUBST([LIBLTDL]) +dnl Configure libtool with dlopen support if possible +LT_INIT([dlopen]) ... @end example diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 7209c8cc2..4fe635fa2 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -41,21 +41,22 @@ m4_define([LT_PREREQ], [$2])]) -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -]) # AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +# LT_INIT([OPTIONS]) +# -------------------------- +AC_DEFUN_ONCE([LT_INIT], +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([_LT_PROG_LTMAIN])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl +AC_BEFORE([$0], [AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0], [AC_LIBTOOL_F77])dnl +AC_BEFORE([$0], [AC_LIBTOOL_GCJ])dnl # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" @@ -64,61 +65,39 @@ LIBTOOL_DEPS="$ltmain" LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL +# Set options +_LT_SET_OPTIONS([$1])dnl +_LT_SETUP +])# _LT_INIT -# _LT_PROG_LTMAIN -# --------------- -# In libtool itself `ltmain.sh' is in the build tree, but everything else -# ships it in the source tree, for completeness, if we find a copy in the -# build tree use that before falling back to auxdir. -# -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -AC_DEFUN([_LT_PROG_LTMAIN], -[_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -case $ac_aux_dir in - $srcdir) ltmain=./ltmain.sh ;; - $srcdir/*) ltmain=`expr "$ac_aux_dir" : "$srcdir/\(.*\)"`/ltmain.sh ;; -esac -test -f "$ltmain" || ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN +# Old names: +AU_DEFUN([AC_PROG_LIBTOOL], [LT_INIT]) +AU_DEFUN([AM_PROG_LIBTOOL], [LT_INIT]) -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.58)dnl We use AC_INCLUDES_DEFAULT -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW)$])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl +# _LT_SETUP +# --------- +m4_define([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl - +dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_LD])dnl AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl AC_REQUIRE([AC_PROG_NM])dnl - +dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl - +dnl AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl AC_REQUIRE([AC_LIBTOOL_SYS_OLD_ARCHIVE])dnl AC_REQUIRE([AC_LIBTOOL_SYS_MAX_CMD_LEN])dnl AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl AC_REQUIRE([AC_OBJEXT])dnl - -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl AC_REQUIRE([AC_EXEEXT])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl @@ -135,9 +114,6 @@ if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi -AC_ENABLE_SHARED -AC_ENABLE_STATIC -AC_ENABLE_FAST_INSTALL AC_LIBTOOL_OBJDIR AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl @@ -206,30 +182,37 @@ file_magic*) ;; esac -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - AC_ARG_ENABLE([libtool-lock], [AC_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default -_LT_DECL([], [pic_mode], [0], [What type of objects to build]) - # Use C for the default configuration in the libtool script AC_LIBTOOL_LANG_C_CONFIG _LT_AC_TAG_CONFIG _LT_CONFIG_COMMANDS -])# AC_LIBTOOL_SETUP +])# _LT_SETUP +# _LT_PROG_LTMAIN +# --------------- +# In libtool itself `ltmain.sh' is in the build tree, but everything else +# ships it in the source tree, for completeness, if we find a copy in the +# build tree use that before falling back to auxdir. +# +# Note that this code is called both from `configure', and `config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# `config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +AC_DEFUN([_LT_PROG_LTMAIN], +[_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +case $ac_aux_dir in + $srcdir) ltmain=./ltmain.sh ;; + $srcdir/*) ltmain=`expr "$ac_aux_dir" : "$srcdir/\(.*\)"`/ltmain.sh ;; +esac +test -f "$ltmain" || ltmain="$ac_aux_dir/ltmain.sh" +])# _LT_PROG_LTMAIN + ## ------------------------------------- ## @@ -2137,173 +2120,6 @@ m4_define([_LT_AC_TAG_CONFIG], ])# _LT_AC_TAG_CONFIG -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 dll's -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -test -z "$AS" && AS=as -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$OBJDUMP" && OBJDUMP=objdump - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -_LT_DECL([], [AS], [0], [Assembler program])dnl -_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl -_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[m4_define([AC_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -#- set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[m4_define([AC_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[m4_define([AC_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) - - _LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation]) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=m4_if($#, 1, $1, default) -])# AC_LIBTOOL_PICMODE - - # AC_PATH_TOOL_PREFIX # ------------------- # find a file program which can recognise shared library @@ -2473,6 +2289,9 @@ AC_SUBST([LD]) _LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) ])# AC_PROG_LD +# Old name: +AU_DEFUN([AM_PROG_LD], [AC_PROG_LD]) + # AC_PROG_LD_GNU # -------------- @@ -2757,6 +2576,9 @@ AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD-compatible nm program])dnl ])# AC_PROG_NM +# Old name: +AU_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + # AC_CHECK_LIBM # ------------- @@ -5848,18 +5670,6 @@ AC_DEFUN([LT_AC_PROG_RC], [AC_CHECK_TOOL(RC, windres, no) ]) -# old names -AU_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AU_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AU_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -m4_if([AC_DISABLE_FAST_INSTALL]) - # LT_AC_PROG_EGREP # ---------------- diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 new file mode 100644 index 000000000..ea3089d33 --- /dev/null +++ b/m4/ltoptions.m4 @@ -0,0 +1,358 @@ +# Helper functions for option handling. -*- Autoconf -*- +# Written by Gary V. Vaughan + +# Copyright (C) 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(NAME) +# ----------------------- +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Other NAMEs are saved as a flag. +m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1]))]) + + +# _LT_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1]), [$2], [$3])]) + + +# _LT_UNLESS_OPTIONS(OPTIONS, IF-NOT-SET) +# --------------------------------------- +# Execute IF-NOT-SET if all OPTIONS are not set. +m4_define([_LT_UNLESS_OPTIONS], +[AC_FOREACH([_LT_Option], [$1], + [m4_ifdef(_LT_MANGLE_OPTION(_LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$2 +])[]dnl +]) + + +# _LT_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +# If any OPTION has a handler macro declared with LT_OPTION_DEFINE, +# despatch to that macro; otherwise complain about the unknown option +# and exit. +m4_define([_LT_SET_OPTIONS], +[AC_FOREACH([_LT_Option], [$1], + [_LT_SET_OPTION(_LT_Option) + m4_ifdef(_LT_MANGLE_DEFUN(_LT_Option), + _LT_MANGLE_DEFUN(_LT_Option), + [m4_fatal([Unknown option `]_LT_Option[' to LT][_INIT_LIBTOOL])]) + ])dnl +dnl +dnl Simply set some default values (i.e off) if boolean options were not +dnl specified: +_LT_UNLESS_OPTIONS([dlopen], enable_dlopen=no) +_LT_UNLESS_OPTIONS([win32-dll], enable_win32_dll=no) +dnl +dnl If no reference was made to various pairs of opposing options, then +dnl we run the default mode handler for the pair. For example, if neither +dnl `shared' nor `disable-shared' was passed, we enable building of shared +dnl archives by default: +_LT_UNLESS_OPTIONS([shared disable-shared], [_LT_ENABLE_SHARED]) +_LT_UNLESS_OPTIONS([static disable-static], [_LT_ENABLE_STATIC]) +_LT_UNLESS_OPTIONS([pic-only no-pic], [_LT_WITH_PIC]) +_LT_UNLESS_OPTIONS([fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) +])# _LT_SET_OPTIONS + + +## ----------------------------------------- ## +## Macros to handle LT_INIT_LIBTOOL options. ## +## ----------------------------------------- ## + +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(NAME, CODE) +# ---------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1]), [$2])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([dlopen], [enable_dlopen=yes]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_LIBTOOL_INIT's first parameter.]) +]) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [0], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[_LT_SET_OPTION([win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_LIBTOOL_INIT's first parameter.]) +]) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the `shared' and +# `disable-shared' LT_INIT_LIBTOOL options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AU_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_LIBTOOL_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_LIBTOOL_INIT's first parameter.]) +]) + +AU_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_LIBTOOL_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_LIBTOOL_INIT's first parameter.]) +]) + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the `static' and +# `disable-static' LT_INIT_LIBTOOL options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AU_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_LIBTOOL_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_LIBTOOL_INIT's first parameter.]) +]) + +AU_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_LIBTOOL_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_LIBTOOL_INIT's first parameter.]) +]) + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the `fast-install' +# and `disable-fast-install' LT_INIT_LIBTOOL options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_LIBTOOL_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_LIBTOOL_INIT's first parameter.]) +]) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# LT_INIT_LIBTOOL options. +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) + +test -z "$pic_mode" && pic_mode=m4_if($#, 1, $1, default) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PIC_MODE], +[_LT_SET_OPTION([pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_LIBTOOL_INIT's first parameter.]) +]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 index 5b46491e8..ddb07afeb 100644 --- a/m4/lt~obsolete.m4 +++ b/m4/lt~obsolete.m4 @@ -1,5 +1,5 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# +# # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant. # @@ -35,22 +35,25 @@ # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) -# +# # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AU_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist. -# +# # Anytime we withdraw an AC_DEFUN or AU_DEFUN, but still refer to it, # remember to add it here. -m4_ifdef([AC_LIBTOOL_CONFIG], [], [AU_DEFUN([AC_LIBTOOL_CONFIG])])dnl -m4_ifdef([AC_LIBTOOL_LINKER_OPTION], [], [AU_DEFUN([AC_LIBTOOL_LINKER_OPTION])])dnl -m4_ifdef([AC_PROG_EGREP], [], [AU_DEFUN([AC_PROG_EGREP])])dnl -m4_ifdef([_LT_AC_LANG_C_CONFIG], [], [AU_DEFUN([_LT_AC_LANG_C_CONFIG])])dnl -m4_ifdef([_LT_AC_LANG_GCJ_CONFIG], [], [AU_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])dnl -m4_ifdef([_LT_AC_LANG_RC_CONFIG], [], [AU_DEFUN([_LT_AC_LANG_RC_CONFIG])])dnl -m4_ifdef([_LT_AC_PROG_ECHO_BACKSLASH], [], [AU_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])dnl -m4_ifdef([_LT_AC_SHELL_INIT], [], [AU_DEFUN([_LT_AC_SHELL_INIT])])dnl -m4_ifdef([_LT_AC_SYS_LIBPATH_AIX], [], [AU_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])dnl -m4_ifdef([_LT_AC_TAGVAR], [], [AU_DEFUN([_LT_AC_TAGVAR])])dnl +m4_ifdef([AC_LIBTOOL_CONFIG],, [AU_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifdef([AC_LIBTOOL_LINKER_OPTION],, [AU_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifdef([AC_LIBTOOL_SETUP],, [AU_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifdef([AC_PROG_EGREP],, [AU_DEFUN([AC_PROG_EGREP])]) +m4_ifdef([_AC_PROG_LIBTOOL],, [AU_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifdef([_LT_AC_LANG_C_CONFIG],, [AU_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifdef([_LT_AC_LANG_GCJ_CONFIG],, [AU_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifdef([_LT_AC_LANG_RC_CONFIG],, [AU_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifdef([_LT_AC_PROG_ECHO_BACKSLASH],, [AU_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifdef([_LT_AC_SHELL_INIT],, [AU_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifdef([_LT_AC_SYS_LIBPATH_AIX],, [AU_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifdef([_LT_PROG_LTMAIN],, [AU_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifdef([_LT_AC_TAGVAR],, [AU_DEFUN([_LT_AC_TAGVAR])]) diff --git a/tests/cdemo/configure.ac b/tests/cdemo/configure.ac index 3d3ec08b1..f85b2fda3 100644 --- a/tests/cdemo/configure.ac +++ b/tests/cdemo/configure.ac @@ -42,7 +42,7 @@ AC_PROG_CC ## Libtool initialisation. ## ## ----------------------- ## AC_LIBTOOL_TAGS([]) -AC_PROG_LIBTOOL +LT_INIT AC_SUBST([LIBTOOL_DEPS]) diff --git a/tests/demo/configure.ac b/tests/demo/configure.ac index 88fbd4243..e4ab33a69 100644 --- a/tests/demo/configure.ac +++ b/tests/demo/configure.ac @@ -44,10 +44,8 @@ AC_EXEEXT ## ----------------------- ## ## Libtool initialisation. ## ## ----------------------- ## -AC_LIBTOOL_DLOPEN -AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_TAGS([]) -AC_PROG_LIBTOOL +LT_INIT([dlopen win32-dll]) AC_SUBST([LIBTOOL_DEPS]) STATIC= diff --git a/tests/depdemo/configure.ac b/tests/depdemo/configure.ac index c8dbf6bba..821a2c7a7 100644 --- a/tests/depdemo/configure.ac +++ b/tests/depdemo/configure.ac @@ -42,9 +42,8 @@ AC_EXEEXT ## ----------------------- ## ## Libtool initialisation. ## ## ----------------------- ## -AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_TAGS([]) -AC_PROG_LIBTOOL +LT_INIT([win32-dll]) AC_SUBST([LIBTOOL_DEPS]) ## ------------------------------- ## diff --git a/tests/f77demo/configure.ac b/tests/f77demo/configure.ac index 3377dd5bd..3d2ca799a 100644 --- a/tests/f77demo/configure.ac +++ b/tests/f77demo/configure.ac @@ -62,7 +62,7 @@ AC_LANG_POP ## Libtool initialisation. ## ## ----------------------- ## AC_LIBTOOL_TAGS([F77]) -AC_PROG_LIBTOOL +LT_INIT AC_SUBST([LIBTOOL_DEPS]) ## -------- ## diff --git a/tests/mdemo/configure.ac b/tests/mdemo/configure.ac index 014f8f0a5..96eb4d8c0 100644 --- a/tests/mdemo/configure.ac +++ b/tests/mdemo/configure.ac @@ -47,13 +47,12 @@ AC_LIBLTDL_CONVENIENCE([../../libltdl]) AC_SUBST([INCLTDL]) AC_SUBST([LIBLTDL]) -AC_LIBTOOL_WIN32_DLL -AC_LIBTOOL_DLOPEN AC_LIBTOOL_TAGS([]) -AC_PROG_LIBTOOL +LT_INIT([dlopen win32-dll]) AC_SUBST(LIBTOOL_DEPS) -STATIC="\`${CONFIG_SHELL} ./libtool --features | ${SED} -n -e '/enable static/s/^.*\$\$/-static/p'\`" +STATIC="" +test "X$enable_static" = Xyes && STATIC="-static" AC_SUBST([STATIC]) diff --git a/tests/mdemo2/configure.ac b/tests/mdemo2/configure.ac index 0445fc2d3..4b2c5553f 100644 --- a/tests/mdemo2/configure.ac +++ b/tests/mdemo2/configure.ac @@ -43,12 +43,12 @@ AC_C_CONST ## ----------------------- ## ## Libtool initialisation. ## ## ----------------------- ## -AC_LIBTOOL_DLOPEN AC_LIBTOOL_TAGS([]) -AC_PROG_LIBTOOL +LT_INIT([dlopen]) AC_SUBST(LIBTOOL_DEPS) -STATIC="\`${CONFIG_SHELL} ./libtool --features | ${SED} -n -e '/enable static/s/^.*\$\$/-static/p'\`" +STATIC="" +test "X$enable_static" = Xyes && STATIC="-static" AC_SUBST([STATIC]) diff --git a/tests/pdemo/configure.ac b/tests/pdemo/configure.ac index e67922830..5a6d045f1 100644 --- a/tests/pdemo/configure.ac +++ b/tests/pdemo/configure.ac @@ -43,9 +43,8 @@ AC_C_CONST ## ----------------------- ## ## Libtool initialisation. ## ## ----------------------- ## -AC_LIBTOOL_DLOPEN AC_LIBTOOL_TAGS([]) -AC_PROG_LIBTOOL +LT_INIT([dlopen]) AC_SUBST([LIBTOOL_DEPS]) STATIC= diff --git a/tests/tagdemo/configure.ac b/tests/tagdemo/configure.ac index 5131f2cb3..79f5eb92c 100644 --- a/tests/tagdemo/configure.ac +++ b/tests/tagdemo/configure.ac @@ -65,7 +65,7 @@ AC_LANG_POP # Set the test language to C++. AC_LANG([C++]) AC_LIBTOOL_TAGS([CXX]) -AC_PROG_LIBTOOL +LT_INIT ## ---------------------------- ##