[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
more useful installcheck (was: HEAD: cross-compile test new testsuite)
From: |
Ralf Wildenhues |
Subject: |
more useful installcheck (was: HEAD: cross-compile test new testsuite) |
Date: |
Thu, 6 Oct 2005 17:41:08 +0200 |
User-agent: |
Mutt/1.5.11 |
Hi Gary,
* Gary V. Vaughan wrote on Wed, Oct 05, 2005 at 03:37:17PM CEST:
> Gary V. Vaughan wrote:
> >@@ -0,0 +1 @@
> >+libtoolize: $pkgltdldir not a directory:
> >`/Users/gary/devel/savannah/libtool/+inst/share/libtool'
> >--- expout 2005-10-05 14:24:22.000000000 +0100
> >+++
>
> Looks like an automake bug. If I change $(abs_top_srcdir) in Makefile.am
> to @abs_top_srcdir@, then everything works as expected.
>
> If you agree with my diagnosis, please commit a fix, and file a bug on
> address@hidden
Well, Alexandre is aware of the issue, I believe, as this has been
discussed before on bug-automake:
http://sourceware.org/ml/bug-automake/2005/msg00572.html
In order to be able to fix another couple of items, I propose to go back
to my INSTALLCHECK_ENVIRONMENT, and use the workaround described in the
thread above, to fix this:
- LIBTOOL and LIBTOOLIZE point to the installed scripts during `make
installcheck'.
- fix installcheck (mostly) for transformed program names.
- try to unset both before invoking `make -e', else we won't test the
libtool scripts generated by the tests. Strictly speaking, this is
orthogonal, as it has been an issue before. It does break down on
shells without `unset', none of which are to be found on anything
Libtool is reasonably interested in (and even then, we don't fail,
we only test less thoroughly).
OK to apply? I believe following the `make -e' approach is less error-
prone than remembering to set all variables for sub-makes in the
Makefile.
Cheers,
Ralf
* configure.ac (abs_top_builddir, abs_top_srcdir): always
substitute.
* Makefile.am (BUILDCHECK_ENVIRONMENT)
(INSTALLCHECK_ENVIRONMENT): New macros. Set _lt_pkgdatadir,
LIBTOOL, LIBTOOLIZE accordingly, by using above, and
program_transform_name.
* tests/testsuite.at (TESTS_PREPARE): Do not set them anymore.
Set $unset.
(LT_AT_MAKE): Use to unset LIBTOOL and LIBTOOLIZE.
Index: Makefile.am
===================================================================
RCS file: /cvsroot/libtool/libtool/Makefile.am,v
retrieving revision 1.171
diff -u -r1.171 Makefile.am
--- Makefile.am 5 Oct 2005 15:02:54 -0000 1.171
+++ Makefile.am 6 Oct 2005 15:13:35 -0000
@@ -493,6 +493,14 @@
FC="$(FC)" FCFLAGS="$(FCFLAGS)" \
GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)"
+BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \
+ LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \
+ LIBTOOL="$(abs_top_builddir)/libtool"
+
+INSTALLCHECK_ENVIRONMENT = \
+ LIBTOOLIZE="$(bindir)/`echo libtoolize | sed
'$(program_transform_name)'`" \
+ LIBTOOL="$(bindir)/`echo libtool | sed '$(program_transform_name)'`"
+
check-recursive: $(srcdir)/$(TESTSUITE)
# Use `$(srcdir)' for the benefit of non-GNU makes: this is
@@ -521,12 +529,12 @@
# Hook the test suite into the check rule
check-local: tests/atconfig $(srcdir)/$(TESTSUITE)
$(CD_TESTDIR); \
- $(TESTS_ENVIRONMENT) _lt_pkgdatadir="$$abs_srcdir" $(SHELL)
$$abs_srcdir/$(TESTSUITE) $(TESTSUITE_FLAGS)
+ $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(SHELL)
$$abs_srcdir/$(TESTSUITE) $(TESTSUITE_FLAGS)
# Run the test suite on the *installed* tree.
installcheck-local:
$(CD_TESTDIR); \
- $(TESTS_ENVIRONMENT) $(SHELL) $$abs_srcdir/$(TESTSUITE)
$(TESTSUITE_FLAGS) AUTOTEST_PATH=$(exec_prefix)/bin
+ $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(SHELL)
$$abs_srcdir/$(TESTSUITE) $(TESTSUITE_FLAGS) AUTOTEST_PATH=$(exec_prefix)/bin
# We need to remove any file droppings left behind by testsuite
clean-local: clean-local-legacy
Index: configure.ac
===================================================================
RCS file: /cvsroot/libtool/libtool/configure.ac,v
retrieving revision 1.73
diff -u -r1.73 configure.ac
--- configure.ac 26 Sep 2005 12:04:46 -0000 1.73
+++ configure.ac 6 Oct 2005 15:13:35 -0000
@@ -134,6 +134,9 @@
## Libtool specific configuration. ##
## ------------------------------- ##
+dnl automake-1.9 does not substitute these two by default
+AC_SUBST([abs_top_srcdir])
+AC_SUBST([abs_top_builddir])
AC_SUBST([aclocaldir], ["\${datadir}/aclocal"])
AC_SUBST([pkgdatadir], ["\${datadir}/$PACKAGE"])
Index: tests/testsuite.at
===================================================================
RCS file: /cvsroot/libtool/libtool/tests/testsuite.at,v
retrieving revision 1.24
diff -u -r1.24 testsuite.at
--- tests/testsuite.at 5 Oct 2005 15:02:54 -0000 1.24
+++ tests/testsuite.at 6 Oct 2005 15:13:35 -0000
@@ -19,14 +19,12 @@
# 02110-1301, USA.
m4_divert_push([PREPARE_TESTS])dnl
-: ${LIBTOOLIZE="${abs_top_builddir}/libtoolize"}
-: ${LIBTOOL="${abs_top_builddir}/libtool"}
: ${ACLOCAL=aclocal}
: ${AUTOHEADER=autoheader}
: ${AUTOCONF=autoconf}
: ${AUTOMAKE=automake}
: ${AUTORECONF=autoreconf}
-export LIBTOOLIZE LIBTOOL ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF
+export ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF
macrodir="$abs_top_srcdir/libltdl/m4"
eval `$LIBTOOL --config | grep ^EGREP=`
eval `$LIBTOOL --config | $EGREP '^(host|host_os|host_alias|build|ECHO)='`
@@ -34,6 +32,11 @@
if test -n "$host_alias"; then
configure_options="--host $host_alias"
fi
+if (unset FOO) >/dev/null 2>&1; then
+ unset=unset
+else
+ unset=false
+fi
m4_divert_pop([PREPARE_TESTS])dnl
@@ -83,7 +86,8 @@
# LT_AT_MAKE([TGTS], [VARS])
# --------------------------
m4_define([LT_AT_MAKE],
-[AT_CHECK([$2 $MAKE -e $1], [0], [ignore], [ignore])
+[( $unset LIBTOOL LIBTOOLIZE
+ AT_CHECK([$2 $MAKE -e $1], [0], [ignore], [ignore]) )
])
- Re: HEAD: cross-compile test new testsuite, Ralf Wildenhues, 2005/10/02
- Re: HEAD: cross-compile test new testsuite, Ralf Wildenhues, 2005/10/05
- Re: HEAD: cross-compile test new testsuite, Gary V. Vaughan, 2005/10/05
- Re: HEAD: cross-compile test new testsuite, Ralf Wildenhues, 2005/10/05
- Re: HEAD: cross-compile test new testsuite, Gary V. Vaughan, 2005/10/05
- Re: HEAD: cross-compile test new testsuite, Gary V. Vaughan, 2005/10/05
- more useful installcheck (was: HEAD: cross-compile test new testsuite),
Ralf Wildenhues <=
- Re: more useful installcheck, Gary V. Vaughan, 2005/10/07
- Re: more useful installcheck, Ralf Wildenhues, 2005/10/07
- Re: HEAD: cross-compile test new testsuite, Ralf Wildenhues, 2005/10/05
- Re: HEAD: cross-compile test new testsuite, Gary V. Vaughan, 2005/10/05
- FYI: HEAD: cross-compile test new testsuite, Ralf Wildenhues, 2005/10/05