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: Craig Dooley
Subject: Re: Second attempt at patch to libtool 1.5.10
Date: Wed, 22 Dec 2004 09:42:12 -0500

Yes, /usr/bin/objformat does exist.
> objformat 
elf

I believe support for a.out has been removed from the toolchain, so I
don't think there need to be tests for dragonfly-aout, simplifying us
from the freebsd tests.  I'm not sure there are any immediate plans to
modify the versioning mechanism.  There have recently been talks about
it on the user list, and there are some pretty ambitious packaging
goals involving vfs overlays, which should actually relax the need for
versioning of libraries, but I think for now it should be fine to just
use the FreeBSD style versioning.  As to AC_LTDL_SYS_DLOPEN_DEPLIBS,
I'm pretty sure that dlopen and friends are part of libc, and do not
need to load any external libraries, so should this be set to yes for
freebsd and dragonfly?  I will try this patch against libtool from CVS
this morning and tell you how the test suite goes.

-Craig

On Wed, 22 Dec 2004 15:25:26 +0100, Ralf Wildenhues
<address@hidden> wrote:
> * 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
>             ;;
> 
> 
> 


-- 
-----------------------------------------------------------------------
Craig Dooley <address@hidden>




reply via email to

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