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.
This commit is contained in:
Gary V. Vaughan 2004-02-22 11:13:45 +00:00
parent 51893aaac0
commit f7356d2f61
15 changed files with 562 additions and 358 deletions

View File

@ -1,3 +1,41 @@
2004-02-20 Gary V. Vaughan <gary@gnu.org>
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 <gary@gnu.org>
* commit (SHELL): Set it explicitly, incase some madman is using

5
NEWS
View File

@ -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

View File

@ -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

View File

@ -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

304
m4/libtool.m4 vendored
View File

@ -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
# Old names:
AU_DEFUN([AC_PROG_LIBTOOL], [LT_INIT])
AU_DEFUN([AM_PROG_LIBTOOL], [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
# 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
# ----------------

358
m4/ltoptions.m4 vendored Normal file
View File

@ -0,0 +1,358 @@
# Helper functions for option handling. -*- Autoconf -*-
# Written by Gary V. Vaughan <gary@gnu.org>
# 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.])
])

29
m4/lt~obsolete.m4 vendored
View File

@ -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])])

View File

@ -42,7 +42,7 @@ AC_PROG_CC
## Libtool initialisation. ##
## ----------------------- ##
AC_LIBTOOL_TAGS([])
AC_PROG_LIBTOOL
LT_INIT
AC_SUBST([LIBTOOL_DEPS])

View File

@ -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=

View File

@ -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])
## ------------------------------- ##

View File

@ -62,7 +62,7 @@ AC_LANG_POP
## Libtool initialisation. ##
## ----------------------- ##
AC_LIBTOOL_TAGS([F77])
AC_PROG_LIBTOOL
LT_INIT
AC_SUBST([LIBTOOL_DEPS])
## -------- ##

View File

@ -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])

View File

@ -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])

View File

@ -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=

View File

@ -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
## ---------------------------- ##