mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-21 01:40:57 +08:00
d6570c64e5
install into a project, depending on whether libltdl is being installed in subproject mode, and in that case whether the parent project shares the config and macro directories with the subproject ltdl. Make a separate function for each of those 5 batches (4 new functions below, plus the recently factored func_install_pkgltdl_files), and make a clearer distinction between when each of them is needed: * libtoolize.m4sh (func_install_pkgmacro_subproject): New function for installing and reporting on m4 files copied to a subproject ltdl directory. (func_install_pkgmacro_parent): Similar new function for m4 files copied solely for the use of the parent project, including serial checking. (func_install_pkgconfig_subproject): New function for installing and reporting on config helper files copied to a subproject ltdl directory. (func_install_pkgconfig_parent): Similar new function for config helper files copied solely for the use of the parent project, including serial checking. (func_install_pkgmacro_files, func_install_pkgconfig_files): Rewritten in terms of the above functions. * tests/libtoolize.at: Adjust test expout's to match newly regularized libtoolize output. Move parent project pkgconfig files to build-aux directory so that progress messages show an obvious difference to pkgconfig files installed to subproject `config' directory. (nonrecursive ltdl with AC_CONFIG_MACRO_DIR): New test. (diagnose missing LT_CONFIG_LTDL_DIR): New test. (subproject ltdl with non-shared directories): New test. Reported by Eric Blake <ebb9@byu.net>
812 lines
28 KiB
Plaintext
812 lines
28 KiB
Plaintext
# libtoolize.at -- test libtoolize operation -*- Autotest -*-
|
|
#
|
|
# Copyright (C) 2005, 2007 Free Software Foundation, Inc.
|
|
# Written by Gary V. Vaughan, 2005
|
|
#
|
|
# This file is part of GNU Libtool.
|
|
#
|
|
# GNU Libtool 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 of
|
|
# the License, or (at your option) any later version.
|
|
#
|
|
# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
|
|
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
|
# or obtained by writing to the Free Software Foundation, Inc.,
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
####
|
|
|
|
|
|
AT_BANNER([Libtoolize operation.])
|
|
|
|
# _LT_CONFIGURE_AC
|
|
# ----------------
|
|
m4_define([_LT_CONFIGURE_AC],
|
|
[AT_DATA([configure.ac],
|
|
[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
LT_INIT
|
|
AC_OUTPUT
|
|
]])
|
|
])# _LT_CONFIGURE_AC
|
|
|
|
# _LT_LIBTOOLIZE_SETUP
|
|
# --------------------
|
|
m4_define([_LT_LIBTOOLIZE_SETUP],
|
|
[_LT_CONFIGURE_AC
|
|
|
|
test -d m4 || { rm -f m4 && mkdir m4; }
|
|
|
|
rm -f m4/libtool.m4 m4/ltoptions.m4 build-aux/ltmain.sh
|
|
|
|
# This file should be upgraded.
|
|
AT_DATA([m4/libtool.m4], [[
|
|
# serial 25 LT_INIT
|
|
]])
|
|
|
|
# This file has a very high serial number, and should be left unchanged
|
|
# until --force is passed.
|
|
AT_DATA([m4/ltoptions.m4], [[
|
|
# serial 99999 ltoptions.m4
|
|
]])
|
|
|
|
test -d build-aux || { rm -f build-aux && mkdir build-aux; }
|
|
|
|
# This file has a very high serial number, and needs --force to be updated.
|
|
AT_DATA([build-aux/ltmain.sh], [[
|
|
package_revision=9999.9999
|
|
]])
|
|
|
|
# This file has a very old serial number, but should be left unchanged
|
|
# unless the --install flag is invoked.
|
|
AT_DATA([build-aux/config.guess], [[
|
|
timestamp='1970-01-01'
|
|
]])
|
|
])# LT_LIBTOOLIZE_SETUP
|
|
|
|
|
|
## ------------------- ##
|
|
## Macro installation. ##
|
|
## ------------------- ##
|
|
|
|
AT_SETUP([libtoolize macro installation])
|
|
|
|
_LT_CONFIGURE_AC
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: copying file `build-aux/ltmain.sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: copying file `m4/ltoptions.m4'
|
|
libtoolize: copying file `m4/ltsugar.m4'
|
|
libtoolize: copying file `m4/ltversion.m4'
|
|
libtoolize: copying file `m4/lt~obsolete.m4'
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout)
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
## -------------- ##
|
|
## Serial update. ##
|
|
## -------------- ##
|
|
|
|
AT_SETUP([libtoolize macro serial update])
|
|
|
|
_LT_LIBTOOLIZE_SETUP
|
|
|
|
|
|
|
|
## -------------------------------------------------------------------- ##
|
|
## First we try to update with some newer files in the destination dir. ##
|
|
## -------------------------------------------------------------------- ##
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: copying file `m4/ltsugar.m4'
|
|
libtoolize: copying file `m4/ltversion.m4'
|
|
libtoolize: copying file `m4/lt~obsolete.m4'
|
|
]])
|
|
|
|
AT_DATA(experr,
|
|
[[libtoolize: `build-aux/ltmain.sh' is newer: use `--force' to overwrite
|
|
libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr)
|
|
|
|
|
|
## ---------------------------------------------------------- ##
|
|
## Next, a second update attempt with everything now updated. ##
|
|
## ---------------------------------------------------------- ##
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: `m4/libtool.m4' is already up to date.
|
|
libtoolize: `m4/ltsugar.m4' is already up to date.
|
|
libtoolize: `m4/ltversion.m4' is already up to date.
|
|
libtoolize: `m4/lt~obsolete.m4' is already up to date.
|
|
]])
|
|
|
|
AT_DATA(experr,
|
|
[[libtoolize: `build-aux/ltmain.sh' is newer: use `--force' to overwrite
|
|
libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr)
|
|
|
|
|
|
## ----------------------------------------------------------- ##
|
|
## Now, a forced update to downgrade files with newer serials. ##
|
|
## ----------------------------------------------------------- ##
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: copying file `build-aux/ltmain.sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: copying file `m4/ltoptions.m4'
|
|
libtoolize: copying file `m4/ltsugar.m4'
|
|
libtoolize: copying file `m4/ltversion.m4'
|
|
libtoolize: copying file `m4/lt~obsolete.m4'
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy --force], 0, expout)
|
|
|
|
|
|
## --------------------------------------------------------- ##
|
|
## A final update attempt with everything now force updated. ##
|
|
## --------------------------------------------------------- ##
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: `build-aux/ltmain.sh' is already up to date.
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: `m4/libtool.m4' is already up to date.
|
|
libtoolize: `m4/ltoptions.m4' is already up to date.
|
|
libtoolize: `m4/ltsugar.m4' is already up to date.
|
|
libtoolize: `m4/ltversion.m4' is already up to date.
|
|
libtoolize: `m4/lt~obsolete.m4' is already up to date.
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout)
|
|
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
## --------------- ##
|
|
## --install flag. ##
|
|
## --------------- ##
|
|
|
|
AT_SETUP([libtoolize config files serial update])
|
|
|
|
_LT_LIBTOOLIZE_SETUP
|
|
|
|
|
|
|
|
## -------------------------------------------------------------------- ##
|
|
## First we try to update with some newer files in the destination dir. ##
|
|
## -------------------------------------------------------------------- ##
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: copying file `build-aux/config.guess'
|
|
libtoolize: copying file `build-aux/config.sub'
|
|
libtoolize: copying file `build-aux/install-sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: copying file `m4/ltsugar.m4'
|
|
libtoolize: copying file `m4/ltversion.m4'
|
|
libtoolize: copying file `m4/lt~obsolete.m4'
|
|
]])
|
|
|
|
AT_DATA(experr,
|
|
[[libtoolize: `build-aux/ltmain.sh' is newer: use `--force' to overwrite
|
|
libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout, experr)
|
|
|
|
|
|
## ---------------------------------------------------------- ##
|
|
## Next, a second update attempt with everything now updated. ##
|
|
## ---------------------------------------------------------- ##
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: `build-aux/config.guess' is already up to date.
|
|
libtoolize: `build-aux/config.sub' is already up to date.
|
|
libtoolize: `build-aux/install-sh' is already up to date.
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: `m4/libtool.m4' is already up to date.
|
|
libtoolize: `m4/ltsugar.m4' is already up to date.
|
|
libtoolize: `m4/ltversion.m4' is already up to date.
|
|
libtoolize: `m4/lt~obsolete.m4' is already up to date.
|
|
]])
|
|
|
|
AT_DATA(experr,
|
|
[[libtoolize: `build-aux/ltmain.sh' is newer: use `--force' to overwrite
|
|
libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout, experr)
|
|
|
|
|
|
## ----------------------------------------------------------- ##
|
|
## Now, a forced update to downgrade files with newer serials. ##
|
|
## ----------------------------------------------------------- ##
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: copying file `build-aux/config.guess'
|
|
libtoolize: copying file `build-aux/config.sub'
|
|
libtoolize: copying file `build-aux/install-sh'
|
|
libtoolize: copying file `build-aux/ltmain.sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: copying file `m4/ltoptions.m4'
|
|
libtoolize: copying file `m4/ltsugar.m4'
|
|
libtoolize: copying file `m4/ltversion.m4'
|
|
libtoolize: copying file `m4/lt~obsolete.m4'
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy --force --install], 0, expout)
|
|
|
|
|
|
## --------------------------------------------------------- ##
|
|
## A final update attempt with everything now force updated. ##
|
|
## --------------------------------------------------------- ##
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: `build-aux/config.guess' is already up to date.
|
|
libtoolize: `build-aux/config.sub' is already up to date.
|
|
libtoolize: `build-aux/install-sh' is already up to date.
|
|
libtoolize: `build-aux/ltmain.sh' is already up to date.
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: `m4/libtool.m4' is already up to date.
|
|
libtoolize: `m4/ltoptions.m4' is already up to date.
|
|
libtoolize: `m4/ltsugar.m4' is already up to date.
|
|
libtoolize: `m4/ltversion.m4' is already up to date.
|
|
libtoolize: `m4/lt~obsolete.m4' is already up to date.
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout)
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
## ----------------------------------------------------------------- ##
|
|
## Ensure libtoolize works when LT_CONFIG_LTDL_DIR is not specified. ##
|
|
## ----------------------------------------------------------------- ##
|
|
|
|
AT_SETUP([diagnose missing LT_CONFIG_LTDL_DIR])
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: copying file `build-aux/config.guess'
|
|
libtoolize: copying file `build-aux/config.sub'
|
|
libtoolize: copying file `build-aux/install-sh'
|
|
libtoolize: copying file `build-aux/ltmain.sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/argz.m4'
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: copying file `m4/ltdl.m4'
|
|
libtoolize: copying file `m4/ltoptions.m4'
|
|
libtoolize: copying file `m4/ltsugar.m4'
|
|
libtoolize: copying file `m4/ltversion.m4'
|
|
libtoolize: copying file `m4/lt~obsolete.m4'
|
|
libtoolize: putting libltdl files in `ltdl'.
|
|
libtoolize: copying file `ltdl/COPYING.LIB'
|
|
libtoolize: copying file `ltdl/README'
|
|
libtoolize: copying file `ltdl/argz_.h'
|
|
libtoolize: copying file `ltdl/argz.c'
|
|
libtoolize: copying file `ltdl/loaders/dld_link.c'
|
|
libtoolize: copying file `ltdl/loaders/dlopen.c'
|
|
libtoolize: copying file `ltdl/loaders/dyld.c'
|
|
libtoolize: copying file `ltdl/loaders/load_add_on.c'
|
|
libtoolize: copying file `ltdl/loaders/loadlibrary.c'
|
|
libtoolize: copying file `ltdl/loaders/shl_load.c'
|
|
libtoolize: copying file `ltdl/lt__dirent.c'
|
|
libtoolize: copying file `ltdl/lt__strl.c'
|
|
libtoolize: copying file `ltdl/libltdl/lt__alloc.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__dirent.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__glibc.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__private.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__strl.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_dlloader.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_error.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_system.h'
|
|
libtoolize: copying file `ltdl/libltdl/slist.h'
|
|
libtoolize: copying file `ltdl/loaders/preopen.c'
|
|
libtoolize: copying file `ltdl/lt__alloc.c'
|
|
libtoolize: copying file `ltdl/lt_dlloader.c'
|
|
libtoolize: copying file `ltdl/lt_error.c'
|
|
libtoolize: copying file `ltdl/ltdl.c'
|
|
libtoolize: copying file `ltdl/ltdl.h'
|
|
libtoolize: copying file `ltdl/slist.c'
|
|
libtoolize: creating file `ltdl/Makefile.inc'
|
|
libtoolize: Remember to add `LT_CONFIG_LTDL_DIR([ltdl])' to `configure.ac'.
|
|
]])
|
|
|
|
AT_DATA([configure.ac],
|
|
[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
LT_INIT
|
|
LTDL_INIT([nonrecursive])
|
|
AC_OUTPUT
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy --install --ltdl=ltdl], 0, expout)
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
## ---------------------------- ##
|
|
## Make sure ltdl.m4 is copied. ##
|
|
## ---------------------------- ##
|
|
|
|
# _LT_AT_LTDL_SETUP
|
|
# -----------------
|
|
# Macro to generate data files common to several tests.
|
|
m4_pushdef([_LT_AT_LTDL_SETUP],
|
|
[AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `ltdl/config'.
|
|
libtoolize: linking file `ltdl/config/compile'
|
|
libtoolize: linking file `ltdl/config/config.guess'
|
|
libtoolize: linking file `ltdl/config/config.sub'
|
|
libtoolize: linking file `ltdl/config/depcomp'
|
|
libtoolize: linking file `ltdl/config/install-sh'
|
|
libtoolize: linking file `ltdl/config/missing'
|
|
libtoolize: linking file `ltdl/config/ltmain.sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `ltdl/m4'.
|
|
libtoolize: linking file `ltdl/m4/argz.m4'
|
|
libtoolize: linking file `ltdl/m4/libtool.m4'
|
|
libtoolize: linking file `ltdl/m4/ltdl.m4'
|
|
libtoolize: linking file `ltdl/m4/ltoptions.m4'
|
|
libtoolize: linking file `ltdl/m4/ltsugar.m4'
|
|
libtoolize: linking file `ltdl/m4/ltversion.m4'
|
|
libtoolize: linking file `ltdl/m4/lt~obsolete.m4'
|
|
libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, `ltdl'.
|
|
libtoolize: linking file `ltdl/COPYING.LIB'
|
|
libtoolize: linking file `ltdl/README'
|
|
libtoolize: linking file `ltdl/Makefile.am'
|
|
libtoolize: linking file `ltdl/configure.ac'
|
|
libtoolize: copying file `ltdl/aclocal.m4'
|
|
libtoolize: linking file `ltdl/Makefile.in'
|
|
libtoolize: linking file `ltdl/config-h.in'
|
|
libtoolize: linking file `ltdl/configure'
|
|
libtoolize: linking file `ltdl/argz_.h'
|
|
libtoolize: linking file `ltdl/argz.c'
|
|
libtoolize: linking file `ltdl/loaders/dld_link.c'
|
|
libtoolize: linking file `ltdl/loaders/dlopen.c'
|
|
libtoolize: linking file `ltdl/loaders/dyld.c'
|
|
libtoolize: linking file `ltdl/loaders/load_add_on.c'
|
|
libtoolize: linking file `ltdl/loaders/loadlibrary.c'
|
|
libtoolize: linking file `ltdl/loaders/shl_load.c'
|
|
libtoolize: linking file `ltdl/lt__dirent.c'
|
|
libtoolize: linking file `ltdl/lt__strl.c'
|
|
libtoolize: linking file `ltdl/libltdl/lt__alloc.h'
|
|
libtoolize: linking file `ltdl/libltdl/lt__dirent.h'
|
|
libtoolize: linking file `ltdl/libltdl/lt__glibc.h'
|
|
libtoolize: linking file `ltdl/libltdl/lt__private.h'
|
|
libtoolize: linking file `ltdl/libltdl/lt__strl.h'
|
|
libtoolize: linking file `ltdl/libltdl/lt_dlloader.h'
|
|
libtoolize: linking file `ltdl/libltdl/lt_error.h'
|
|
libtoolize: linking file `ltdl/libltdl/lt_system.h'
|
|
libtoolize: linking file `ltdl/libltdl/slist.h'
|
|
libtoolize: linking file `ltdl/loaders/preopen.c'
|
|
libtoolize: linking file `ltdl/lt__alloc.c'
|
|
libtoolize: linking file `ltdl/lt_dlloader.c'
|
|
libtoolize: linking file `ltdl/lt_error.c'
|
|
libtoolize: linking file `ltdl/ltdl.c'
|
|
libtoolize: linking file `ltdl/ltdl.h'
|
|
libtoolize: linking file `ltdl/slist.c'
|
|
]])
|
|
|
|
AT_DATA([configure.ac],
|
|
[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
|
LT_CONFIG_LTDL_DIR([ltdl])
|
|
AC_CONFIG_AUX_DIR([ltdl/config])
|
|
AC_CONFIG_MACRO_DIR([ltdl/m4])
|
|
LT_INIT
|
|
LTDL_INIT
|
|
AC_OUTPUT
|
|
]])
|
|
])# _LT_AT_LTDL_SETUP
|
|
|
|
## ------------------------------------------------ ##
|
|
## First we make sure libtoolize --ltdl is working. ##
|
|
## ------------------------------------------------ ##
|
|
|
|
AT_SETUP([copy ltdl.m4 with shared macro directory])
|
|
|
|
_LT_AT_LTDL_SETUP
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--ltdl], 0, expout)
|
|
|
|
AT_CLEANUP
|
|
|
|
## ----------------------------------------------------- ##
|
|
## And also that libtoolize is taking note of LTDL_INIT. ##
|
|
## ----------------------------------------------------- ##
|
|
|
|
AT_SETUP([correctly parse LTDL_INIT from configure.ac])
|
|
|
|
_LT_AT_LTDL_SETUP
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([], 0, expout)
|
|
|
|
AT_CLEANUP
|
|
|
|
## ----------------------------------------------------------- ##
|
|
## And finally, that libtoolize diagnoses a missing LTDL_INIT. ##
|
|
## ----------------------------------------------------------- ##
|
|
|
|
AT_SETUP([diagnose missing LTDL_INIT invocation])
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `ltdl/config'.
|
|
libtoolize: copying file `ltdl/config/compile'
|
|
libtoolize: copying file `ltdl/config/config.guess'
|
|
libtoolize: copying file `ltdl/config/config.sub'
|
|
libtoolize: copying file `ltdl/config/depcomp'
|
|
libtoolize: copying file `ltdl/config/install-sh'
|
|
libtoolize: copying file `ltdl/config/missing'
|
|
libtoolize: copying file `ltdl/config/ltmain.sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `ltdl/m4'.
|
|
libtoolize: copying file `ltdl/m4/argz.m4'
|
|
libtoolize: copying file `ltdl/m4/libtool.m4'
|
|
libtoolize: copying file `ltdl/m4/ltdl.m4'
|
|
libtoolize: copying file `ltdl/m4/ltoptions.m4'
|
|
libtoolize: copying file `ltdl/m4/ltsugar.m4'
|
|
libtoolize: copying file `ltdl/m4/ltversion.m4'
|
|
libtoolize: copying file `ltdl/m4/lt~obsolete.m4'
|
|
libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, `ltdl'.
|
|
libtoolize: copying file `ltdl/COPYING.LIB'
|
|
libtoolize: copying file `ltdl/README'
|
|
libtoolize: copying file `ltdl/Makefile.am'
|
|
libtoolize: copying file `ltdl/configure.ac'
|
|
libtoolize: copying file `ltdl/aclocal.m4'
|
|
libtoolize: copying file `ltdl/Makefile.in'
|
|
libtoolize: copying file `ltdl/config-h.in'
|
|
libtoolize: copying file `ltdl/configure'
|
|
libtoolize: copying file `ltdl/argz_.h'
|
|
libtoolize: copying file `ltdl/argz.c'
|
|
libtoolize: copying file `ltdl/loaders/dld_link.c'
|
|
libtoolize: copying file `ltdl/loaders/dlopen.c'
|
|
libtoolize: copying file `ltdl/loaders/dyld.c'
|
|
libtoolize: copying file `ltdl/loaders/load_add_on.c'
|
|
libtoolize: copying file `ltdl/loaders/loadlibrary.c'
|
|
libtoolize: copying file `ltdl/loaders/shl_load.c'
|
|
libtoolize: copying file `ltdl/lt__dirent.c'
|
|
libtoolize: copying file `ltdl/lt__strl.c'
|
|
libtoolize: copying file `ltdl/libltdl/lt__alloc.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__dirent.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__glibc.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__private.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__strl.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_dlloader.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_error.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_system.h'
|
|
libtoolize: copying file `ltdl/libltdl/slist.h'
|
|
libtoolize: copying file `ltdl/loaders/preopen.c'
|
|
libtoolize: copying file `ltdl/lt__alloc.c'
|
|
libtoolize: copying file `ltdl/lt_dlloader.c'
|
|
libtoolize: copying file `ltdl/lt_error.c'
|
|
libtoolize: copying file `ltdl/ltdl.c'
|
|
libtoolize: copying file `ltdl/ltdl.h'
|
|
libtoolize: copying file `ltdl/slist.c'
|
|
libtoolize: Remember to add `LTDL_INIT' to configure.ac.
|
|
]])
|
|
|
|
AT_DATA([configure.ac],
|
|
[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
|
LT_CONFIG_LTDL_DIR([ltdl])
|
|
AC_CONFIG_AUX_DIR([ltdl/config])
|
|
AC_CONFIG_MACRO_DIR([ltdl/m4])
|
|
LT_INIT
|
|
AC_OUTPUT
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--ltdl --copy], 0, expout)
|
|
|
|
AT_CLEANUP
|
|
|
|
m4_popdef([_LT_AT_LTDL_SETUP])
|
|
|
|
## ------------------------------------------------------ ##
|
|
## Creating an aclocal.m4 without in-tree libtool macros. ##
|
|
## ------------------------------------------------------ ##
|
|
|
|
AT_SETUP([upgrading verbatim style aclocal.m4])
|
|
|
|
AT_DATA([configure.ac],
|
|
[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
LT_INIT
|
|
AC_OUTPUT
|
|
]])
|
|
|
|
[cat >expout <<EOF
|
|
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, \`build-aux'.
|
|
libtoolize: copying file \`build-aux/ltmain.sh'
|
|
libtoolize: You should add the contents of the following files to \`aclocal.m4':
|
|
libtoolize: \`$tst_aclocaldir/libtool.m4'
|
|
libtoolize: \`$tst_aclocaldir/ltoptions.m4'
|
|
libtoolize: \`$tst_aclocaldir/ltversion.m4'
|
|
libtoolize: \`$tst_aclocaldir/ltsugar.m4'
|
|
libtoolize: \`$tst_aclocaldir/lt~obsolete.m4'
|
|
EOF]
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout)
|
|
|
|
|
|
## --------------------------------------- ##
|
|
## Upgrading a hand maintained aclocal.m4. ##
|
|
## --------------------------------------- ##
|
|
|
|
AT_DATA([configure.ac],
|
|
[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
LT_INIT
|
|
AC_OUTPUT
|
|
]])
|
|
|
|
AT_DATA([aclocal.m4],
|
|
[[# This should need upgrading:
|
|
# serial 25 LT_INIT
|
|
AC_DEFUN([LT_INIT],
|
|
[blah])
|
|
|
|
# This is newer than the upgrade version:
|
|
# serial 99999 ltoptions.m4
|
|
|
|
# This is older than the upgrade version:
|
|
# serial 1 ltversion.m4
|
|
]])
|
|
|
|
AT_DATA([expout],
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: `build-aux/ltmain.sh' is already up to date.
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: copying file `m4/ltoptions.m4'
|
|
libtoolize: copying file `m4/ltsugar.m4'
|
|
libtoolize: You should add the contents of `m4/ltsugar.m4' to `aclocal.m4'.
|
|
libtoolize: copying file `m4/ltversion.m4'
|
|
libtoolize: You should add the contents of `m4/ltversion.m4' to `aclocal.m4'.
|
|
libtoolize: copying file `m4/lt~obsolete.m4'
|
|
libtoolize: You should add the contents of `m4/lt~obsolete.m4' to `aclocal.m4'.
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout)
|
|
|
|
|
|
## ------------------------------------------- ##
|
|
## Upgrading an aclocal maintained aclocal.m4. ##
|
|
## ------------------------------------------- ##
|
|
|
|
LT_AT_ACLOCAL([-I m4])
|
|
|
|
rm -f m4/libtool.m4 m4/ltoptions.m4
|
|
|
|
# This file should be upgraded.
|
|
AT_DATA([m4/libtool.m4], [[
|
|
# serial 25 LT_INIT
|
|
AC_DEFUN([LT_INIT])
|
|
]])
|
|
|
|
# This file has a very high serial number, and should be left unchanged.
|
|
AT_DATA([m4/ltoptions.m4], [[
|
|
# serial 99999 ltoptions.m4
|
|
]])
|
|
|
|
AT_DATA([expout],
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: `build-aux/ltmain.sh' is already up to date.
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: `m4/ltsugar.m4' is already up to date.
|
|
libtoolize: `m4/ltversion.m4' is already up to date.
|
|
libtoolize: `m4/lt~obsolete.m4' is already up to date.
|
|
]])
|
|
|
|
AT_DATA([experr],
|
|
[[libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr)
|
|
|
|
## ----------------------------------------------------------- ##
|
|
## Now, a forced update to downgrade files with newer serials. ##
|
|
## ----------------------------------------------------------- ##
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: copying file `build-aux/ltmain.sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: copying file `m4/ltoptions.m4'
|
|
libtoolize: copying file `m4/ltsugar.m4'
|
|
libtoolize: copying file `m4/ltversion.m4'
|
|
libtoolize: copying file `m4/lt~obsolete.m4'
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy --force], 0, expout)
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
## ------------------------------------------------------------- ##
|
|
## Check nonrecursive ltdl puts m4 files in AC_CONFIG_MACRO_DIR. ##
|
|
## ------------------------------------------------------------- ##
|
|
|
|
AT_SETUP([nonrecursive ltdl with AC_CONFIG_MACRO_DIR])
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: copying file `build-aux/config.guess'
|
|
libtoolize: copying file `build-aux/config.sub'
|
|
libtoolize: copying file `build-aux/install-sh'
|
|
libtoolize: copying file `build-aux/ltmain.sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
|
|
libtoolize: copying file `m4/argz.m4'
|
|
libtoolize: copying file `m4/libtool.m4'
|
|
libtoolize: copying file `m4/ltdl.m4'
|
|
libtoolize: copying file `m4/ltoptions.m4'
|
|
libtoolize: copying file `m4/ltsugar.m4'
|
|
libtoolize: copying file `m4/ltversion.m4'
|
|
libtoolize: copying file `m4/lt~obsolete.m4'
|
|
libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, `ltdl'.
|
|
libtoolize: copying file `ltdl/COPYING.LIB'
|
|
libtoolize: copying file `ltdl/README'
|
|
libtoolize: copying file `ltdl/argz_.h'
|
|
libtoolize: copying file `ltdl/argz.c'
|
|
libtoolize: copying file `ltdl/loaders/dld_link.c'
|
|
libtoolize: copying file `ltdl/loaders/dlopen.c'
|
|
libtoolize: copying file `ltdl/loaders/dyld.c'
|
|
libtoolize: copying file `ltdl/loaders/load_add_on.c'
|
|
libtoolize: copying file `ltdl/loaders/loadlibrary.c'
|
|
libtoolize: copying file `ltdl/loaders/shl_load.c'
|
|
libtoolize: copying file `ltdl/lt__dirent.c'
|
|
libtoolize: copying file `ltdl/lt__strl.c'
|
|
libtoolize: copying file `ltdl/libltdl/lt__alloc.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__dirent.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__glibc.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__private.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__strl.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_dlloader.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_error.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_system.h'
|
|
libtoolize: copying file `ltdl/libltdl/slist.h'
|
|
libtoolize: copying file `ltdl/loaders/preopen.c'
|
|
libtoolize: copying file `ltdl/lt__alloc.c'
|
|
libtoolize: copying file `ltdl/lt_dlloader.c'
|
|
libtoolize: copying file `ltdl/lt_error.c'
|
|
libtoolize: copying file `ltdl/ltdl.c'
|
|
libtoolize: copying file `ltdl/ltdl.h'
|
|
libtoolize: copying file `ltdl/slist.c'
|
|
libtoolize: creating file `ltdl/Makefile.inc'
|
|
]])
|
|
|
|
AT_DATA([configure.ac],
|
|
[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
|
LT_CONFIG_LTDL_DIR([ltdl])
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
LT_INIT
|
|
LTDL_INIT([nonrecursive])
|
|
AC_OUTPUT
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy --install --ltdl=ltdl], 0, expout)
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
## -------------------------------------------------------- ##
|
|
## Check subproject ltdl with non-shared AC_CONFIG_.*_DIRs. ##
|
|
## -------------------------------------------------------- ##
|
|
|
|
AT_SETUP([subproject ltdl with non-shared directories])
|
|
|
|
AT_DATA(expout,
|
|
[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
|
|
libtoolize: copying file `build-aux/config.guess'
|
|
libtoolize: copying file `build-aux/config.sub'
|
|
libtoolize: copying file `build-aux/install-sh'
|
|
libtoolize: copying file `build-aux/ltmain.sh'
|
|
libtoolize: putting auxiliary files in `build-aux'.
|
|
libtoolize: copying file `ltdl/config/compile'
|
|
libtoolize: copying file `ltdl/config/config.guess'
|
|
libtoolize: copying file `ltdl/config/config.sub'
|
|
libtoolize: copying file `ltdl/config/depcomp'
|
|
libtoolize: copying file `ltdl/config/install-sh'
|
|
libtoolize: copying file `ltdl/config/missing'
|
|
libtoolize: copying file `ltdl/config/ltmain.sh'
|
|
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `acm4'.
|
|
libtoolize: copying file `acm4/argz.m4'
|
|
libtoolize: copying file `acm4/libtool.m4'
|
|
libtoolize: copying file `acm4/ltdl.m4'
|
|
libtoolize: copying file `acm4/ltoptions.m4'
|
|
libtoolize: copying file `acm4/ltsugar.m4'
|
|
libtoolize: copying file `acm4/ltversion.m4'
|
|
libtoolize: copying file `acm4/lt~obsolete.m4'
|
|
libtoolize: putting macros in `ltdl/m4'.
|
|
libtoolize: copying file `ltdl/m4/argz.m4'
|
|
libtoolize: copying file `ltdl/m4/libtool.m4'
|
|
libtoolize: copying file `ltdl/m4/ltdl.m4'
|
|
libtoolize: copying file `ltdl/m4/ltoptions.m4'
|
|
libtoolize: copying file `ltdl/m4/ltsugar.m4'
|
|
libtoolize: copying file `ltdl/m4/ltversion.m4'
|
|
libtoolize: copying file `ltdl/m4/lt~obsolete.m4'
|
|
libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, `ltdl'.
|
|
libtoolize: copying file `ltdl/COPYING.LIB'
|
|
libtoolize: copying file `ltdl/README'
|
|
libtoolize: copying file `ltdl/Makefile.am'
|
|
libtoolize: copying file `ltdl/configure.ac'
|
|
libtoolize: copying file `ltdl/aclocal.m4'
|
|
libtoolize: copying file `ltdl/Makefile.in'
|
|
libtoolize: copying file `ltdl/config-h.in'
|
|
libtoolize: copying file `ltdl/configure'
|
|
libtoolize: copying file `ltdl/argz_.h'
|
|
libtoolize: copying file `ltdl/argz.c'
|
|
libtoolize: copying file `ltdl/loaders/dld_link.c'
|
|
libtoolize: copying file `ltdl/loaders/dlopen.c'
|
|
libtoolize: copying file `ltdl/loaders/dyld.c'
|
|
libtoolize: copying file `ltdl/loaders/load_add_on.c'
|
|
libtoolize: copying file `ltdl/loaders/loadlibrary.c'
|
|
libtoolize: copying file `ltdl/loaders/shl_load.c'
|
|
libtoolize: copying file `ltdl/lt__dirent.c'
|
|
libtoolize: copying file `ltdl/lt__strl.c'
|
|
libtoolize: copying file `ltdl/libltdl/lt__alloc.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__dirent.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__glibc.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__private.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt__strl.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_dlloader.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_error.h'
|
|
libtoolize: copying file `ltdl/libltdl/lt_system.h'
|
|
libtoolize: copying file `ltdl/libltdl/slist.h'
|
|
libtoolize: copying file `ltdl/loaders/preopen.c'
|
|
libtoolize: copying file `ltdl/lt__alloc.c'
|
|
libtoolize: copying file `ltdl/lt_dlloader.c'
|
|
libtoolize: copying file `ltdl/lt_error.c'
|
|
libtoolize: copying file `ltdl/ltdl.c'
|
|
libtoolize: copying file `ltdl/ltdl.h'
|
|
libtoolize: copying file `ltdl/slist.c'
|
|
libtoolize: Consider using `AC_CONFIG_AUX_DIR([ltdl/config])' in configure.ac.
|
|
libtoolize: Consider using `AC_CONFIG_MACRO_DIR([ltdl/m4])' in configure.ac.
|
|
]])
|
|
|
|
AT_DATA([configure.ac],
|
|
[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
|
|
LT_CONFIG_LTDL_DIR([ltdl])
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
AC_CONFIG_MACRO_DIR([acm4])
|
|
LT_INIT
|
|
LTDL_INIT([subproject])
|
|
AC_OUTPUT
|
|
]])
|
|
|
|
LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout)
|
|
|
|
AT_CLEANUP
|
|
|