2004-10-16 22:43:48 +08:00
|
|
|
# Process with autom4te to create an -*- Autotest -*- test suite.
|
|
|
|
|
|
|
|
# Test suite for GNU Libtool.
|
2005-04-05 01:16:48 +08:00
|
|
|
# Copyright 2004, 2005 Free Software Foundation, Inc.
|
2004-10-16 22:43:48 +08:00
|
|
|
|
|
|
|
# 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
|
2005-04-22 18:10:31 +08:00
|
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
|
|
# 02110-1301, USA.
|
2004-10-16 22:43:48 +08:00
|
|
|
|
2004-11-29 21:50:54 +08:00
|
|
|
m4_divert_push([PREPARE_TESTS])dnl
|
2005-08-19 01:07:17 +08:00
|
|
|
: ${ACLOCAL=aclocal}
|
2005-09-30 08:46:52 +08:00
|
|
|
: ${AUTOHEADER=autoheader}
|
2005-08-19 01:07:17 +08:00
|
|
|
: ${AUTOCONF=autoconf}
|
2005-10-05 16:58:19 +08:00
|
|
|
: ${AUTOMAKE=automake}
|
2005-09-27 14:48:22 +08:00
|
|
|
: ${AUTORECONF=autoreconf}
|
2005-10-07 16:52:10 +08:00
|
|
|
export ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
eval `$LIBTOOL --config | grep ^EGREP=`
|
2005-10-05 16:58:19 +08:00
|
|
|
eval `$LIBTOOL --config | $EGREP '^(host|host_os|host_alias|build|ECHO)='`
|
|
|
|
configure_options=
|
|
|
|
if test -n "$host_alias"; then
|
|
|
|
configure_options="--host $host_alias"
|
|
|
|
fi
|
2005-10-07 16:52:10 +08:00
|
|
|
if (unset FOO) >/dev/null 2>&1; then
|
|
|
|
unset=unset
|
|
|
|
else
|
|
|
|
unset=false
|
|
|
|
fi
|
2004-11-29 21:50:54 +08:00
|
|
|
m4_divert_pop([PREPARE_TESTS])dnl
|
|
|
|
|
2005-10-05 16:58:19 +08:00
|
|
|
|
2005-01-03 22:06:12 +08:00
|
|
|
# LT_AT_LIBTOOLIZE([ARGS])
|
|
|
|
# ------------------------
|
|
|
|
m4_define([LT_AT_LIBTOOLIZE],
|
2005-10-05 16:58:19 +08:00
|
|
|
[$LIBTOOLIZE $1
|
2004-11-29 21:50:54 +08:00
|
|
|
])
|
|
|
|
|
|
|
|
|
2005-01-03 22:06:12 +08:00
|
|
|
# LT_AT_CHECK_LIBTOOLIZE(ARGS, [EXIT-STATUS = 0], [STDOUT = `'], [STDERR = `'])
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
m4_define([LT_AT_CHECK_LIBTOOLIZE],
|
|
|
|
[AT_CHECK([LT_AT_LIBTOOLIZE([$1])],
|
2004-11-29 21:50:54 +08:00
|
|
|
[$2], [$3], [$4])
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2005-10-05 16:58:19 +08:00
|
|
|
# LT_AT_ACLOCAL([OPTIONS])
|
|
|
|
# --------------------------
|
|
|
|
m4_define([LT_AT_ACLOCAL],
|
|
|
|
[AT_CHECK([$ACLOCAL $1], [0], [ignore], [ignore])
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
|
|
# LT_AT_AUTOCONF([OPTIONS])
|
|
|
|
# --------------------------
|
|
|
|
m4_define([LT_AT_AUTOCONF],
|
|
|
|
[AT_CHECK([$AUTOCONF $1], [0], [ignore], [ignore])
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2005-10-12 00:51:50 +08:00
|
|
|
# LT_AT_AUTOMAKE([OPTIONS])
|
|
|
|
# --------------------------
|
|
|
|
m4_define([LT_AT_AUTOMAKE],
|
|
|
|
[AT_CHECK([$AUTOMAKE $1], [0], [ignore], [ignore])
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2005-11-03 01:43:51 +08:00
|
|
|
# LT_AT_AUTOHEADER([OPTIONS])
|
|
|
|
# ---------------------------
|
|
|
|
m4_define([LT_AT_AUTOHEADER],
|
|
|
|
[AT_CHECK([$AUTOHEADER $1], [0], [ignore], [ignore])
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2005-10-05 16:58:19 +08:00
|
|
|
# LT_AT_AUTORECONF([OPTIONS])
|
|
|
|
# --------------------------
|
|
|
|
m4_define([LT_AT_AUTORECONF],
|
|
|
|
[AT_CHECK([$AUTORECONF $1], [0], [ignore], [ignore])
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
|
|
# LT_AT_CONFIGURE([OPTIONS])
|
|
|
|
# --------------------------
|
|
|
|
m4_define([LT_AT_CONFIGURE],
|
|
|
|
[AT_CHECK([./configure $configure_options $1], [0], [ignore], [ignore])
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
|
|
# LT_AT_MAKE([TGTS], [VARS])
|
|
|
|
# --------------------------
|
|
|
|
m4_define([LT_AT_MAKE],
|
2005-10-07 16:52:10 +08:00
|
|
|
[( $unset LIBTOOL LIBTOOLIZE
|
|
|
|
AT_CHECK([$2 $MAKE -e $1], [0], [ignore], [ignore]) )
|
2005-10-05 16:58:19 +08:00
|
|
|
])
|
|
|
|
|
|
|
|
|
2005-11-10 22:57:50 +08:00
|
|
|
# LT_AT_BOOTSTRAP([LIBTOOLIZE-ARGS], [ACLOCAL-ARGS], [AUTOHEADER-ARGS],
|
|
|
|
# [AUTOMAKE-ARGS], [AUTOCONF-ARGS], [CONFIGURE-ARGS], [MAKE-ARGS])
|
|
|
|
# ----------------------------------------------------------------------
|
2005-01-03 22:06:12 +08:00
|
|
|
m4_define([LT_AT_BOOTSTRAP],
|
2005-11-10 22:57:50 +08:00
|
|
|
[m4_if([$1], [ignore], [], [LT_AT_LIBTOOLIZE([$1])])
|
|
|
|
m4_if([$2], [ignore], [], [LT_AT_ACLOCAL([$2])])
|
|
|
|
m4_if([$3], [ignore], [], [LT_AT_AUTOHEADER([$3])])
|
|
|
|
m4_if([$4], [ignore], [], [LT_AT_AUTOMAKE([$4])])
|
|
|
|
m4_if([$5], [ignore], [], [LT_AT_AUTOCONF([$5])])
|
|
|
|
m4_if([$6], [ignore], [], [LT_AT_CONFIGURE([$6])])
|
|
|
|
m4_if([$7], [ignore], [], [LT_AT_MAKE([$7])])
|
2004-11-29 21:50:54 +08:00
|
|
|
])
|
2004-10-16 22:43:48 +08:00
|
|
|
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
|
|
|
|
# LT_AT_EXEC_CHECK(EXECUTABLE, [STATUS = 0], [STDOUT], [STDERR])
|
|
|
|
# --------------------------------------------------------------
|
|
|
|
m4_define([LT_AT_EXEC_CHECK],
|
2005-09-16 16:33:24 +08:00
|
|
|
[AT_CHECK([$1; lt_status=$?; if test $lt_status -eq 0; then :;
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
elif test "X$host" != "X$build" && \
|
|
|
|
{ test -x "$1" || test -x "$1"$EXEEXT; }
|
2005-09-16 16:33:24 +08:00
|
|
|
then (exit 77); else (exit $lt_status); fi],[$2],[$3],[$4])
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
])
|
|
|
|
|
|
|
|
|
|
|
|
# LT_AT_TAG(TAG)
|
|
|
|
# --------------
|
|
|
|
m4_define([LT_AT_TAG],
|
|
|
|
[AT_KEYWORDS([$1])
|
|
|
|
eval `$LIBTOOL --tag=$1 --config | sed -n '/^CC=/ { s/CC/$1/; p;}'`
|
|
|
|
AT_CHECK([test -n "[$]$1" || (exit 77)])
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2005-11-07 23:37:11 +08:00
|
|
|
## ------------------------------- ##
|
|
|
|
## Files for a small ltdl project. ##
|
|
|
|
## ------------------------------- ##
|
|
|
|
|
|
|
|
# _LTDL_PROJECT_FILES([LTDL-DIR])
|
|
|
|
# -------------------------------
|
|
|
|
# LTDL-DIR is needed to generate a correct Makefile. If the argument
|
|
|
|
# is omitted, then no Makefile is created.
|
|
|
|
m4_define([_LTDL_PROJECT_FILES],
|
|
|
|
[AT_DATA([module.c],
|
|
|
|
[[const char *
|
|
|
|
hello (void)
|
|
|
|
{
|
|
|
|
return "Hello!";
|
|
|
|
}
|
|
|
|
]])
|
|
|
|
|
|
|
|
AT_DATA([main.c],
|
|
|
|
[[#include <stdio.h>
|
|
|
|
#include "ltdl.h"
|
|
|
|
|
|
|
|
int
|
|
|
|
main (int argc, char **argv)
|
|
|
|
{
|
|
|
|
lt_dlhandle module;
|
|
|
|
const char *(*func) (void) = 0;
|
|
|
|
int status = 1;
|
|
|
|
|
|
|
|
LTDL_SET_PRELOADED_SYMBOLS();
|
|
|
|
if (lt_dlinit() != 0) {
|
|
|
|
fprintf (stderr, "error during initialisation: %s\n", lt_dlerror());
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
module = lt_dlopen("module.la");
|
|
|
|
if (!module) {
|
|
|
|
fprintf (stderr, "error dlopening module.la: %s\n", lt_dlerror());
|
|
|
|
goto finish;
|
|
|
|
}
|
|
|
|
|
|
|
|
func = (const char *(*)(void)) lt_dlsym (module, "hello");
|
|
|
|
if (!func) {
|
|
|
|
fprintf (stderr, "error fetching func: %s\n", lt_dlerror());
|
|
|
|
goto finish;
|
|
|
|
}
|
|
|
|
|
|
|
|
printf ("%s\n", (*func) ());
|
|
|
|
status = 0;
|
|
|
|
|
|
|
|
finish:
|
|
|
|
if (lt_dlexit() != 0) {
|
|
|
|
fprintf (stderr, "error during finalisation: %s\n", lt_dlerror());
|
|
|
|
status = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
]])
|
|
|
|
|
|
|
|
m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$]))
|
|
|
|
m4_ifval([$1],
|
|
|
|
[AT_DATA([Makefile],
|
|
|
|
[[top_builddir = .
|
|
|
|
LIBTOOL = ./]_ARG_DIR[/libtool
|
|
|
|
INCLUDES = -I./]_ARG_DIR[
|
|
|
|
MODFLAGS = -module -avoid-version -no-undefined
|
|
|
|
|
|
|
|
LTCOMPILE = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=compile \
|
|
|
|
$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
|
|
|
LTLINK = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=link \
|
|
|
|
$(CC) $(CFLAGS) $(LDFLAGS)
|
|
|
|
|
|
|
|
TARGETS = ]_ARG_DIR[/libltdlc.la module.la ltdldemo$(EXEEXT)
|
|
|
|
|
|
|
|
all: $(TARGETS)
|
|
|
|
|
|
|
|
$(LIBTOOL) ]_ARG_DIR[/libltdlc.la: ]_ARG_DIR[/Makefile
|
|
|
|
cd ]_ARG_DIR[ && $(MAKE)
|
|
|
|
|
|
|
|
]_ARG_DIR[/Makefile:
|
|
|
|
cd ]_ARG_DIR[ && ./configure $(CONFIGURE_OPTIONS)
|
|
|
|
|
|
|
|
ltdldemo$(EXEEXT): $(LIBTOOL) module.la ]_ARG_DIR[/libltdlc.la main.lo
|
|
|
|
$(LTLINK) -o ltdldemo main.lo -dlopen module.la ./]_ARG_DIR[/libltdlc.la
|
|
|
|
|
|
|
|
main.lo: $(LIBTOOL) main.c
|
|
|
|
$(LTCOMPILE) -c main.c
|
|
|
|
|
|
|
|
module.la: $(LIBTOOL) module.lo
|
|
|
|
$(LTLINK) -o module.la module.lo $(MODFLAGS) -rpath /dev/null
|
|
|
|
|
|
|
|
module.lo: $(LIBTOOL) module.c
|
|
|
|
$(LTCOMPILE) -c module.c
|
|
|
|
]])])
|
|
|
|
m4_popdef([_ARG_DIR])
|
|
|
|
])# _LTDL_PROJECT_FILES
|
|
|
|
|
|
|
|
|
2004-10-16 22:43:48 +08:00
|
|
|
# We use `dnl' in zillions of places...
|
|
|
|
m4_pattern_allow([^dnl$])
|
|
|
|
|
2004-11-29 21:50:54 +08:00
|
|
|
# We exercise these tools.
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
dnl AT_TESTED([grep autoreconf autom4te automake])
|
2004-10-16 22:43:48 +08:00
|
|
|
|
|
|
|
## ----------- ##
|
|
|
|
## The suite. ##
|
|
|
|
## ----------- ##
|
|
|
|
|
|
|
|
AT_INIT
|
|
|
|
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
# libtoolize tests
|
|
|
|
m4_include([libtoolize.at])
|
2005-01-10 23:44:13 +08:00
|
|
|
# Testing func_extract_archives
|
2005-04-17 22:30:34 +08:00
|
|
|
m4_include([duplicate_members.at])
|
2005-01-10 23:44:13 +08:00
|
|
|
# Test that inherited_linker_flags in the .la actually gets used.
|
|
|
|
m4_include([inherited_flags.at])
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
# convenience archives test
|
|
|
|
m4_include([convenience.at])
|
2005-04-14 19:59:10 +08:00
|
|
|
# link order test
|
|
|
|
m4_include([link-order.at])
|
2005-09-30 08:46:52 +08:00
|
|
|
# Ensure our continued support for old interfaces.
|
|
|
|
m4_include([old-m4-iface.at])
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
# Torturing subdir-objects builds
|
|
|
|
m4_include([am-subdir.at])
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
# standalone libltdl compilation
|
|
|
|
m4_include([standalone.at])
|
2005-10-05 23:02:54 +08:00
|
|
|
# subproject libltdl compilation
|
|
|
|
m4_include([subproject.at])
|
2005-11-03 01:43:51 +08:00
|
|
|
# nonrecursive libltdl compilation
|
|
|
|
m4_include([nonrecursive.at])
|
2005-11-07 22:16:15 +08:00
|
|
|
# recursive libltdl compilation
|
|
|
|
m4_include([recursive.at])
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
# C++ templates tests
|
|
|
|
m4_include([template.at])
|
2005-08-19 01:07:17 +08:00
|
|
|
# Behaviour of LT_OUTPUT
|
|
|
|
m4_include([early-libtool.at])
|
2005-10-01 00:00:23 +08:00
|
|
|
# identical deplibs
|
|
|
|
m4_include([deplibs-ident.at])
|
* tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
2005-04-28 02:18:10 +08:00
|
|
|
# stress test
|
|
|
|
m4_include([stresstest.at])
|