[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Patches making libtool-2.2.10 build under GNU/Hurd



Package: libtool
Version: 2.2.10-1
Severity: important
Tags: patch, experimental
User: debian-hurd@lists.debian.org
Usertags: hurd

After spending a lot of time to understand how libtool is built and
tested (especially the m4 stuff) I finally found three one-liners
enabling a successful build on Debian GNU/Hurd. Attached are the
patches and the series file. 

The first defines shlibpath_overrides_runpath for gnu.

The second disables the test 102 of a low setting of max_cmd_len since
it has no meaning under GNU/Hurd.

The third updates the previous deplibs-ident.patch, expecting a failure
of test 96. Maybe the patch in bug 603971 is a better choice for the
third issue offering an updated version of link_all_deplibs.patch
disabling the test in libltdl/config/ltmain.m4sh
link_all_deplibs.patch
deplib_binary.patch
netbsdelf.patch
define_shlibpath_overrides_runpath4hurd.patch
version_type.patch
nopic-mips.patch
deplibs_test_disable.patch
disable-link-order2.patch
deplibs-ident2.patch
disable_cmdline_wrap4hurd.patch

# shlibpath_overrides_runpath is set to 'unknown' in libtool.m4
# and not defined under $host_os ="gnu"
# This patch make the tests/*demo* run.
--- libtool-2.2.10/libltdt/m4/libtool.m4.orig	2011-02-03 21:33:56.000000000 +0100
+++ libtool-2.2.10/libltdl/m4/libtool.m4	2011-02-03 21:43:46.000000000 +0100
@@ -2325,6 +2325,7 @@
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   ;;
 
# This test is broken for hurd-i386
# Skip for $host_os = "gnu", since max_cmd_len=-1 to indicate that
# max_cmd_len is not limited under GNU Hurd.
#
--- libtool-2.2.10/tests/cmdline_wrap.at.orig	2010-05-20 23:18:41.000000000 +0200
+++ libtool-2.2.10/tests/cmdline_wrap.at	2011-02-06 11:08:29.000000000 +0100
@@ -30,6 +30,9 @@
 m4_ifdef([AT_CAPTURE_FILE],
 [AT_CAPTURE_FILE([testsuite.log])])
 
+# Setting low max_cmd_len on "hurd-386" does not make sense"
+AT_CHECK([if test "$host_os" == "gnu" ; then exit 77; fi])
+
 sed 's,max_cmd_len=.*,max_cmd_len="24",' < $LIBTOOL > libtool
 chmod +x libtool
 LIBTOOL=`pwd`/libtool
# This test is broken for hurd-i386
# Expect failure for host_os = gnu, reason unknown
#
--- libtool-2.2.10/tests/deplibs-ident.at.orig	2010-05-20 23:18:41.000000000 +0200
+++ libtool-2.2.10/tests/deplibs-ident.at	2011-02-06 14:53:23.000000000 +0100
@@ -66,10 +66,11 @@
   AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b$EXEEXT b.$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere],
 	   [0],[stdout],[ignore])
   AT_CHECK([$EGREP 'cee.*cee' stdout], 1, [ignore], [ignore])
-  AT_XFAIL_IF([case $host in
-                 *-*-aix*|hppa*-*-hpux*|*-*-interix*|*-*-openbsd*) false;;
-                 *):;;
-               esac])
+  AT_XFAIL_IF([test "$host_os" == "gnu"])
+#  AT_XFAIL_IF([case $host in
+#                 *-*-aix*|hppa*-*-hpux*|*-*-interix*|*-*-openbsd*) false;;
+#                 *):;;
+#               esac])
   dnl This is currently broken in libtool
 )
 

Reply to: