Hello, this patch passes the value of $INSTALL to the (old and new) testsuite: <http://thread.gmane.org/gmane.comp.gnu.libtool.bugs/6539/focus=8765>
This breaks some tests when $INSTALL contains the relative path to the install-sh script in the source tree, without the subdir being adjusted. The addition was actually necessary only for the newly added test: the old testsuite tests all have configure scripts that compute $INSTALL by themselves. For the new testsuite the issue had been fixed up in commit 6d08820f7c04dc7269c40ac01bc844e3fedde624, so all that remains is to pass the value in a different variable that is not interpreted by the configure scripts of the old testsuite. Pushed as below. Tested on a system where `install' is deficient. Cheers, Ralf Do not pass $INSTALL via TESTS_ENVIRONMENT. * Makefile.am (TESTS_ENVIRONMENT): Set lt_INSTALL, not INSTALL, so that a bogus relative path to the install-sh script in the source tree is not propagated to the configure scripts of the old test suite. * tests/testsuite.at: Adjust. * tests/install.at (Install tests): Likewise. diff --git a/Makefile.am b/Makefile.am index 574147d..c49f749 100644 --- a/Makefile.am +++ b/Makefile.am @@ -501,7 +501,7 @@ EXTRA_DIST += $(srcdir)/$(TESTSUITE) $(TESTSUITE_AT) $(srcdir)/tests/package TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \ CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \ LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ - STRIP="$(STRIP)" INSTALL="$(INSTALL)" \ + STRIP="$(STRIP)" lt_INSTALL="$(INSTALL)" \ OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" \ SHELL="$(SHELL)" CONFIG_SHELL="$(SHELL)" \ CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" CXXCPP="$(CXXCPP)" \ diff --git a/tests/install.at b/tests/install.at index 1e944e5..5e15555 100644 --- a/tests/install.at +++ b/tests/install.at @@ -41,10 +41,10 @@ echo 'int a () { return 0; }' > a.c $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo ]dnl [-rpath $inst -no-undefined], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install $INSTALL liba.la $inst], +AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL liba.la $inst], [], [stdout], [ignore]) AT_CHECK([grep ' -m 755' stdout], [], [ignore]) -AT_CHECK([$LIBTOOL --mode=install $INSTALL -m 644 liba.la $inst], +AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL -m 644 liba.la $inst], [], [stdout], [ignore]) AT_CHECK([grep ' -m 755' stdout], [], [ignore]) AT_CHECK([grep ' -m 644.*liba.la' stdout], [], [ignore]) diff --git a/tests/testsuite.at b/tests/testsuite.at index 0929849..e9226ee 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -52,10 +52,10 @@ else unset=false fi : ${mkdir_p="$abs_top_srcdir/libltdl/config/install-sh -d"} -# Fix relative paths in $INSTALL -case $INSTALL in +# Fix relative paths in $lt_INSTALL +case $lt_INSTALL in *libltdl/config/install-sh*) - INSTALL=$abs_top_srcdir/libltdl/config/install-sh + lt_INSTALL=$abs_top_srcdir/libltdl/config/install-sh ;; esac