libtool-patches
[Top][All Lists]
Advanced

[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
            ;;


Attachment: dragonfly-branch-2-0.diff
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]