Go to the first, previous, next, last section, table of contents.
AC_PROG_LIBTOOL
macro
If you are using GNU Autoconf (or Automake), you should add a call to
AC_PROG_LIBTOOL
to your `configure.in' file. This macro
adds many new tests to the configure
script so that the generated
libtool script will understand the characteristics of the host:
configure
flags.(4) AM_PROG_LIBTOOL
was the
old name for this macro, and although supported at the moment is
deprecated.
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
AC_DISABLE_SHARED
or AC_DISABLE_STATIC
macros:
# Turn off shared libraries during beta-testing, since they # make the build process take too long. AC_DISABLE_SHARED AC_PROG_LIBTOOL
The user may specify modified forms of the configure flags
`--enable-shared' and `--enable-static' to choose whether
shared or static libraries are built based on the name of the package.
For example, to have shared `bfd' and `gdb' libraries built,
but not shared `libg++', you can run all three configure
scripts as follows:
trick$ ./configure --enable-shared=bfd,gdb
In general, specifying `--enable-shared=pkgs' is the same as configuring with `--enable-shared' every package named in the comma-separated pkgs list, and every other package with `--disable-shared'. The `--enable-static=pkgs' flag behaves similarly, but it uses `--enable-static' and `--disable-static'. The same applies to the `--enable-fast-install=pkgs' flag, which uses `--enable-fast-install' and `--disable-fast-install'.
The package name `default' matches any packages which have not set
their name in the PACKAGE
environment variable.
This macro also sets the shell variable LIBTOOL_DEPS, that you can use to automatically update the libtool script if it becomes out-of-date. In order to do that, add to your `configure.in':
AC_PROG_LIBTOOL AC_SUBST(LIBTOOL_DEPS)
and, to `Makefile.in' or `Makefile.am':
LIBTOOL_DEPS = @LIBTOOL_DEPS@ libtool: $(LIBTOOL_DEPS) $(SHELL) ./config.status --recheck
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 `libtool'.
AC_PROG_LIBTOOL
.
__declspec(dllexport)
and imported with
__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 before AC_PROG_LIBTOOL
, and
provision must be made to pass `-no-undefined' to libtool
in link mode from the package Makefile
. Naturally, if you pass
`-no-undefined', you must ensure that all the library symbols
really are defined at link time!
AC_PROG_LIBTOOL
to disable
optimization for fast installation. The user may still override this
default, depending on platform support, by specifying
`--enable-fast-install'.
AC_PROG_LIBTOOL
to disable
shared libraries. The user may still override this default by
specifying `--enable-shared'.
AC_PROG_LIBTOOL
to disable
static libraries. The user may still override this default by
specifying `--enable-static'.
The tests in AC_PROG_LIBTOOL
also recognize the following
environment variables:
libtool
. If
this is not set, AC_PROG_LIBTOOL
will look for gcc
or
cc
.
AC_PROG_LIBTOOL
will not use any such flags. It affects
only the way AC_PROG_LIBTOOL
runs tests, not the produced
libtool
.
AC_PROG_LIBTOOL
will
not use any such flags. It affects only the way AC_PROG_LIBTOOL
runs tests, not the produced libtool
.
libtool
requires one).
If this is not set, AC_PROG_LIBTOOL
will try to find out what is
the linker used by CC.
libtool
when it links a program. If
this is not set, AC_PROG_LIBTOOL
will not use any such flags. It
affects only the way AC_PROG_LIBTOOL
runs tests, not the produced
libtool
.
AC_PROG_LIBTOOL
when it links a
program. If this is not set, AC_PROG_LIBTOOL
will not use any
such flags. It affects only the way AC_PROG_LIBTOOL
runs tests,
not the produced libtool
.
nm
.
ranlib
.
AC_PROG_LIBTOOL
will check for a suitable
program if this variable is not set.
dlltool
. Only meaningful
for Cygwin/MS-Windows.
objdump
. Only meaningful
for Cygwin/MS-Windows.
as
. Only used on
Cygwin/MS-Windows at the moment.
When you invoke the libtoolize
program (see section Invoking libtoolize
), it will tell you where to find a definition of
AC_PROG_LIBTOOL
. If you use Automake, the aclocal
program
will automatically add AC_PROG_LIBTOOL
support to your
configure
script.
Nevertheless, it is advisable to include a copy of `libtool.m4' in
`acinclude.m4', so that, even if `aclocal.m4' and
`configure' are rebuilt for any reason, the appropriate libtool
macros will be used. The alternative is to hope the user will have a
compatible version of `libtool.m4' installed and accessible for
aclocal
. This may lead to weird errors when versions don't
match.
Go to the first, previous, next, last section, table of contents.