Hi,
I ported libtool to GNU/kOpenSolaris [1]. Because the checks are
always the same for all Glibc-based systems, and having to wait for
libtool to propagate to every package out there is a PITA, I propose
using a generic '*-gnu' match.
Attached is a patch for libtool (with ChangeLog entry) and a
"make check" log.
[1] Glibc-based system on kernel of Opensolaris, see:
http://csclub.uwaterloo.ca/~dtbartle/opensolaris/
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
2008-12-22 Robert Millan <[email protected]>
* libltdl/m4/libtool.m4: Recognize all Glibc-based GNU variants
by matching $host_os against `*-gnu'.
* libltdl/m4/ltdl.m4: Likewise.
index b7b566d..c8dfa77 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -2380,7 +2380,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | *-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -3014,7 +3014,7 @@ irix5* | irix6* | nonstopux*)
;;
# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | *-gnu)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3635,7 +3635,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- linux* | k*bsd*-gnu)
+ linux* | *-gnu)
case $cc_basename in
KCC*)
# KAI C++ Compiler
@@ -3919,7 +3919,7 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- linux* | k*bsd*-gnu)
+ linux* | *-gnu)
case $cc_basename in
# old Intel for x86_64 which still supported -KPIC.
ecc*)
@@ -4300,7 +4300,7 @@ _LT_EOF
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | tpf* | k*bsd*-gnu)
+ gnu* | linux* | tpf* | *-gnu)
tmp_diet=no
if test "$host_os" = linux-dietlibc; then
case $cc_basename in
@@ -5792,7 +5792,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
- linux* | k*bsd*-gnu)
+ linux* | *-gnu)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
index a2b1a4e..2dbefed 100644
--- a/libltdl/m4/ltdl.m4
+++ b/libltdl/m4/ltdl.m4
@@ -468,7 +468,7 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
freebsd* | dragonfly*)
lt_cv_sys_dlopen_deplibs=yes
;;
- gnu* | linux* | k*bsd*-gnu)
+ gnu* | linux* | *-gnu)
# GNU and its variants, using gnu ld.so (Glibc)
lt_cv_sys_dlopen_deplibs=yes
;;
PASS: tests/link.test
PASS: tests/link-2.test
PASS: tests/nomode.test
PASS: tests/objectlist.test
PASS: tests/quote.test
PASS: tests/sh.test
PASS: tests/suffix.test
PASS: tests/tagtrace.test
PASS: tests/cdemo-static.test
PASS: tests/cdemo-make.test
PASS: tests/cdemo-exec.test
PASS: tests/demo-static.test
PASS: tests/demo-make.test
PASS: tests/demo-exec.test
PASS: tests/demo-inst.test
PASS: tests/demo-unst.test
PASS: tests/depdemo-static.test
PASS: tests/depdemo-make.test
PASS: tests/depdemo-exec.test
PASS: tests/depdemo-inst.test
PASS: tests/depdemo-unst.test
PASS: tests/mdemo-static.test
PASS: tests/mdemo-make.test
PASS: tests/mdemo-exec.test
PASS: tests/mdemo-inst.test
PASS: tests/mdemo-unst.test
PASS: tests/cdemo-conf.test
PASS: tests/cdemo-make.test
PASS: tests/cdemo-exec.test
PASS: tests/demo-conf.test
PASS: tests/demo-make.test
PASS: tests/demo-exec.test
PASS: tests/demo-inst.test
PASS: tests/demo-unst.test
PASS: tests/demo-deplibs.test
PASS: tests/depdemo-conf.test
PASS: tests/depdemo-make.test
PASS: tests/depdemo-exec.test
PASS: tests/depdemo-inst.test
PASS: tests/depdemo-unst.test
PASS: tests/mdemo-conf.test
PASS: tests/mdemo-make.test
PASS: tests/mdemo-exec.test
PASS: tests/mdemo-inst.test
PASS: tests/mdemo-unst.test
PASS: tests/mdemo-dryrun.test
PASS: tests/mdemo2-conf.test
PASS: tests/mdemo2-make.test
PASS: tests/mdemo2-exec.test
PASS: tests/pdemo-conf.test
PASS: tests/pdemo-make.test
PASS: tests/pdemo-exec.test
PASS: tests/pdemo-inst.test
PASS: tests/demo-nofast.test
PASS: tests/demo-make.test
PASS: tests/demo-exec.test
PASS: tests/demo-inst.test
PASS: tests/demo-unst.test
PASS: tests/depdemo-nofast.test
PASS: tests/depdemo-make.test
PASS: tests/depdemo-exec.test
PASS: tests/depdemo-inst.test
PASS: tests/depdemo-unst.test
PASS: tests/demo-pic.test
PASS: tests/demo-make.test
PASS: tests/demo-exec.test
PASS: tests/demo-nopic.test
PASS: tests/demo-make.test
PASS: tests/demo-exec.test
PASS: tests/cdemo-shared.test
PASS: tests/cdemo-make.test
PASS: tests/cdemo-exec.test
PASS: tests/demo-shared.test
PASS: tests/demo-make.test
PASS: tests/demo-exec.test
PASS: tests/demo-inst.test
PASS: tests/demo-hardcode.test
PASS: tests/demo-relink.test
PASS: tests/demo-noinst-link.test
PASS: tests/demo-unst.test
PASS: tests/depdemo-shared.test
PASS: tests/depdemo-make.test
PASS: tests/depdemo-exec.test
PASS: tests/depdemo-inst.test
PASS: tests/depdemo-relink.test
PASS: tests/depdemo-unst.test
PASS: tests/mdemo-shared.test
PASS: tests/mdemo-make.test
PASS: tests/mdemo-exec.test
PASS: tests/mdemo-inst.test
PASS: tests/mdemo-unst.test
PASS: tests/cdemo-undef.test
PASS: tests/cdemo-make.test
PASS: tests/cdemo-exec.test
PASS: tests/tagdemo-static.test
PASS: tests/tagdemo-make.test
PASS: tests/tagdemo-exec.test
PASS: tests/tagdemo-conf.test
PASS: tests/tagdemo-make.test
PASS: tests/tagdemo-exec.test
PASS: tests/tagdemo-shared.test
PASS: tests/tagdemo-make.test
PASS: tests/tagdemo-exec.test
PASS: tests/tagdemo-undef.test
PASS: tests/tagdemo-make.test
PASS: tests/tagdemo-exec.test
====================
All 106 tests passed
====================
[...]
## -------------------------- ##
## libtool 2.2.7a test suite. ##
## -------------------------- ##
Libtoolize operation.
1: libtoolize macro installation ok
2: libtoolize macro directory mismatch error ok
3: libtoolize macro serial update ok
4: libtoolize config files serial update ok
5: diagnose missing LT_CONFIG_LTDL_DIR ok
6: copy ltdl.m4 with shared macro directory ok
7: correctly parse LTDL_INIT from configure.ac ok
8: diagnose missing LTDL_INIT invocation ok
9: upgrading verbatim style aclocal.m4 ok
10: verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR ok
11: nonrecursive ltdl with AC_CONFIG_MACRO_DIR ok
12: subproject ltdl with non-shared directories ok
13: LIBTOOLIZE_OPTIONS ok
14: cleanup old installation ok
Testing libtool functions.
15: duplicate members in archive tests ok
16: duplicate convenience archive names ok
17: preserve duplicate convenience deps expected failure
(duplicate_deps.at:72)
18: inherited_linker_flags ok
19: C convenience archives ok
20: C++ convenience archives ok
21: F77 convenience archives skipped
(convenience.at:110)
22: FC convenience archives skipped
(convenience.at:170)
23: Java convenience archives skipped
(convenience.at:230)
24: Link order test ok
25: Link order of deplibs ok
26: Failure tests ok
27: shlibpath_overrides_runpath ok
28: Runpath in libtool library files ok
29: static linking flags for programs ok
30: ccache -all-static ok
31: Export test ok
32: sys_lib_search_path ok
33: indirect convenience ok
34: indirect uninstalled ok
35: static library contains static library expected failure
(archive-in-archive.at:49)
36: execute mode ok
37: inferred tag ok
38: CXX inferred tag ok
39: F77 inferred tag skipped (infer-tag.at:56)
40: FC inferred tag skipped (infer-tag.at:70)
41: GCJ inferred tag skipped (infer-tag.at:84)
42: localized compiler messages ok
43: Install tests ok
DESTDIR tests
44: Simple DESTDIR install ok
45: DESTDIR with in-package deplibs ok
Support for older m4 interface.
46: AM_PROG_LIBTOOL ok
47: AC_WITH_LTDL ok
Libtool subdir-objects support.
48: C subdir-objects ok
49: C++ subdir-objects ok
Libltdl functionality.
50: lt_dlexit unloading libs ok
51: lt_dlopenadvise library loading ok
52: ltdl API skipped (ltdl-api.at:31)
53: enforced lib prefix ok
Standalone Libltdl.
54: compiling softlinked libltdl ok
55: compiling copied libltdl ok
56: installable libltdl ok
57: linking libltdl without autotools ok
Subproject Libltdl.
58: compiling softlinked libltdl ok
59: compiling copied libltdl ok
60: installable libltdl ok
61: linking libltdl without autotools ok
Nonrecursive Automake Libltdl.
62: compiling softlinked libltdl ok
63: compiling copied libltdl ok
64: installable libltdl ok
Recursive Automake Libltdl.
65: compiling softlinked libltdl ok
66: compiling copied libltdl ok
67: installable libltdl ok
C++ template tests.
68: simple template test ok
69: template test with subdirs ok
Constructors.
70: C++ static constructors ok
libtool script generation.
71: config.status ok
72: config.lt ok
Libtool usage in GCC
73: AC_NO_EXECUTABLES ok
Detecting identical deplibs.
74: build tree relpaths expected failure
(deplibs-ident.at:68)
configure interface to libltdl.
75: installable libltdl ok
76: --with-ltdl-include/lib ok
77: --with-included-ltdl ok
78: convenience libltdl ok
Libtool stress test.
79: Link option thorough search test ok
80: Run tests with low max_cmd_len ok
Mac OS X tests
81: darwin fat compile skipped (darwin.at:42)
## ------------- ##
## Test results. ##
## ------------- ##
73 tests behaved as expected.
8 tests were skipped.