[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Second attempt at patch to libtool 1.5.10
From: |
Ralf Wildenhues |
Subject: |
Re: Second attempt at patch to libtool 1.5.10 |
Date: |
Wed, 22 Dec 2004 15:25:26 +0100 |
User-agent: |
Mutt/1.4.1i |
* Craig Dooley wrote on Tue, Dec 21, 2004 at 03:15:24PM CET:
> Here is a second attempt at a patch to add dragonfly support for
> libtool 1.5.10. This was tested on dragonfly1.1-CURRENT with gcc
> 3.4.1. With this patch installed, all the test suites pass, except
> one saying shlibpath_overrides_runpath should be set to yes. As
> dragonfly was a fork from FreeBSD 4.8, I chose to leave
> shlibpath_overrides_runpath as no, to match the FreeBSD behavior.
Great, thanks!
While looking over the patch, a question occurred to me: Since Dragonfly
is so close to FreeBSD, we can condense further. Three questions:
Does Dragonfly have /usr/bin/objformat, and what does it output?
Also, do you know if they intend to change their shared library
versioning mechanism (I'd doubt that)? I don't think we need to
introduce another version_type for this, just share with freebsd.
Last but not least: Neither FreeBSD nor Dragonfly info are provided
in ltdl.m4's AC_LTDL_SYS_DLOPEN_DEPLIBS. Would be nice to know more
here as well.
If you could answer those question, I'll apply the following to
branch-1-5. A forward-port to branch-2-0 is attached.
Regarding `shlibpath_overrides_runpath': someone knowledgeable please
look at this eventually.
Regards,
Ralf
> 2004-12-21 Craig Dooley <address@hidden>
>
> * libtool.m4, ltmain.in: Add support for DragonFly
>
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/libtool.m4,v
retrieving revision 1.314.2.55
diff -u -r1.314.2.55 libtool.m4
--- libtool.m4 20 Dec 2004 08:45:46 -0000 1.314.2.55
+++ libtool.m4 22 Dec 2004 14:08:53 -0000
@@ -678,7 +678,7 @@
lt_cv_sys_max_cmd_len=8192;
;;
- netbsd* | freebsd* | openbsd* | darwin* )
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -1314,7 +1314,7 @@
dynamic_linker='GNU ld.so'
;;
-freebsd*)
+freebsd* | dragonfly*)
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
version_type=freebsd-$objformat
case $version_type in
@@ -2160,13 +2160,13 @@
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | kfreebsd*-gnu)
+freebsd* | kfreebsd*-gnu | dragonfly*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86
(compact )?demand paged shared library'
+ lt_cv_deplibs_check_method='file_magic
(FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
@@ -2970,7 +2970,7 @@
freebsd-elf*)
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
;;
- freebsd* | kfreebsd*-gnu)
+ freebsd* | kfreebsd*-gnu | dragonfly*)
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
# conventions
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
@@ -4672,7 +4672,7 @@
;;
esac
;;
- freebsd* | kfreebsd*-gnu)
+ freebsd* | kfreebsd*-gnu | dragonfly*)
# FreeBSD uses GNU C++
;;
hpux9* | hpux10* | hpux11*)
@@ -5548,7 +5548,7 @@
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu)
+ freebsd* | kfreebsd*-gnu | dragonfly*)
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs
$compiler_flags'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
Index: ltmain.in
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/ltmain.in,v
retrieving revision 1.334.2.44
diff -u -r1.334.2.44 ltmain.in
--- ltmain.in 18 Dec 2004 22:54:11 -0000 1.334.2.44
+++ ltmain.in 22 Dec 2004 14:08:53 -0000
@@ -1474,7 +1474,7 @@
# These systems don't actually have a C library (as such)
test "X$arg" = "X-lc" && continue
;;
- *-*-openbsd* | *-*-freebsd*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
# Do not include libc due to us having libc/libc_r.
test "X$arg" = "X-lc" && continue
;;
@@ -1485,7 +1485,7 @@
esac
elif test "X$arg" = "X-lc_r"; then
case $host in
- *-*-openbsd* | *-*-freebsd*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
@@ -3350,7 +3350,7 @@
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
;;
- *-*-openbsd* | *-*-freebsd*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
# Do not include libc due to us having libc/libc_r.
test "X$arg" = "X-lc" && continue
;;
dragonfly-branch-2-0.diff
Description: Text document