bug-libtool
[Top][All Lists]
Advanced

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

Re: [patch #6416] AmigaOS4 support in libtool


From: Henning Nielsen Lund
Subject: Re: [patch #6416] AmigaOS4 support in libtool
Date: Wed, 12 Mar 2008 21:00:05 +0100 (CET)
User-agent: SquirrelMail/1.4.13

Thank you Ralf

I hope that I will find some more time to make some more tests/changes in
about week.

Best regards,
Henning


> Hello Henning,
>
> I have applied your patch now, including a NEWS entry, as below, and put
> you in THANKS.  Please check that I did not make any errors, thanks.
>
> Gathering from the testsuite failure, the shared library support has
> some work ahead yet.
>
> Cheers,
> Ralf
>
> 2008-03-12  Henning Nielsen Lund  <address@hidden>
>
>       * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
>       (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [amigaos]: Port to
>       AmigaOS4 shared libraries on powerpc.
>       * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [amigaos]:
>       Likewise.
>       * THANKS, NEWS: Update.
>
> Index: NEWS
> ===================================================================
> RCS file: /cvsroot/libtool/libtool/NEWS,v
> retrieving revision 1.222
> diff -u -r1.222 NEWS
> --- NEWS      4 Mar 2008 22:31:33 -0000       1.222
> +++ NEWS      12 Mar 2008 19:47:00 -0000
> @@ -2,6 +2,10 @@
>
>  New in 2.3b: 2008-??-??: CVS version 2.3a, Libtool team:
>
> +* Changes in supported systems or compilers:
> +
> +  - Initial shared library support for AmigaOS4 on powerpc.
> +
>  * Bug fixes:
>
>    - Fix 2.2 regression in libltdl that causes memory corruption upon
> Index: libltdl/m4/libtool.m4
> ===================================================================
> RCS file: /cvsroot/libtool/libtool/libltdl/m4/libtool.m4,v
> retrieving revision 1.142
> diff -u -r1.142 libtool.m4
> --- libltdl/m4/libtool.m4     8 Mar 2008 12:14:15 -0000       1.142
> +++ libltdl/m4/libtool.m4     12 Mar 2008 19:47:04 -0000
> @@ -2150,13 +2150,18 @@
>    ;;
>
>  amigaos*)
> -  if test "$host_cpu" = m68k; then
> +  case $host_cpu in
> +  powerpc)
> +    # Since July 2007 AmigaOS4 officially supports .so libraries.
> +    # When compiling the executable, add -use-dynld -Lsobjs: to the
> compileline.
> +    library_names_spec='${libname}${release}${shared_ext}$versuffix
> ${libname}${release}${shared_ext}$major $libname${shared_ext}'
> +    ;;
> +  m68k)
>      library_names_spec='$libname.ixlibrary $libname.a'
>      # Create ${libname}_ixlibrary.a entries in /sys/libs.
>      finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do
> libname=`$ECHO "X$lib" | $Xsed -e
> '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM
> /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib
> ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib
> ${libname}_ixlibrary.a || exit 1; done'
> -  else
> -    dynamic_linker=no
> -  fi
> +    ;;
> +  esac
>    ;;
>
>  beos*)
> @@ -3524,14 +3529,22 @@
>       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
>        fi
>        ;;
> +
>      amigaos*)
> -      if test "$host_cpu" = m68k; then
> -        # FIXME: we need at least 68020 code to build shared libraries,
> but
> -        # adding the `-m68020' flag to GCC prevents building anything
> better,
> -        # like `-m68040'.
> -        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32
> -malways-restore-a4'
> -      fi
> +      case $host_cpu in
> +      powerpc)
> +            # see comment about AmigaOS4 .so support
> +            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
> +        ;;
> +      m68k)
> +            # FIXME: we need at least 68020 code to build shared
> libraries, but
> +            # adding the `-m68020' flag to GCC prevents building anything
> better,
> +            # like `-m68040'.
> +            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32
> -malways-restore-a4'
> +        ;;
> +      esac
>        ;;
> +
>      beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
>        # PIC is the default for these OSes.
>        ;;
> @@ -3816,12 +3829,18 @@
>        ;;
>
>      amigaos*)
> -      if test "$host_cpu" = m68k; then
> -        # FIXME: we need at least 68020 code to build shared libraries,
> but
> -        # adding the `-m68020' flag to GCC prevents building anything
> better,
> -        # like `-m68040'.
> -        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32
> -malways-restore-a4'
> -      fi
> +      case $host_cpu in
> +      powerpc)
> +            # see comment about AmigaOS4 .so support
> +            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
> +        ;;
> +      m68k)
> +            # FIXME: we need at least 68020 code to build shared
> libraries, but
> +            # adding the `-m68020' flag to GCC prevents building anything
> better,
> +            # like `-m68040'.
> +            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32
> -malways-restore-a4'
> +        ;;
> +      esac
>        ;;
>
>      beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
> @@ -4228,19 +4247,18 @@
>        ;;
>
>      amigaos*)
> -      if test "$host_cpu" = m68k; then
> -        _LT_TAGVAR(archive_cmds, $1)='$RM
> $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" >
> $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >>
> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >>
> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >>
> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB
> $lib~(cd $output_objdir && a2ixlibrary -32)'
> -        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
> -        _LT_TAGVAR(hardcode_minus_L, $1)=yes
> -      fi
> -
> -      # Samuel A. Falvo II <address@hidden> reports
> -      # that the semantics of dynamic libraries on AmigaOS, at least up
> -      # to version 4, is to share data among multiple programs linked
> -      # with the same dynamic library.  Since this doesn't match the
> -      # behavior of shared libraries on other platforms, we can't use
> -      # them.
> -      _LT_TAGVAR(ld_shlibs, $1)=no
> +      case $host_cpu in
> +      powerpc)
> +            # see comment about AmigaOS4 .so support
> +            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs
> $compiler_flags ${wl}-soname $wl$soname -o $lib'
> +            _LT_TAGVAR(archive_expsym_cmds, $1)=''
> +        ;;
> +      m68k)
> +            _LT_TAGVAR(archive_cmds, $1)='$RM
> $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" >
> $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >>
> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >>
> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >>
> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB
> $lib~(cd $output_objdir && a2ixlibrary -32)'
> +            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
> +            _LT_TAGVAR(hardcode_minus_L, $1)=yes
> +        ;;
> +      esac
>        ;;
>
>      beos*)
> @@ -4587,13 +4605,18 @@
>        ;;
>
>      amigaos*)
> -      if test "$host_cpu" = m68k; then
> -        _LT_TAGVAR(archive_cmds, $1)='$RM
> $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" >
> $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >>
> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >>
> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >>
> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB
> $lib~(cd $output_objdir && a2ixlibrary -32)'
> -        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
> -        _LT_TAGVAR(hardcode_minus_L, $1)=yes
> -      fi
> -      # see comment about different semantics on the GNU ld section
> -      _LT_TAGVAR(ld_shlibs, $1)=no
> +      case $host_cpu in
> +      powerpc)
> +            # see comment about AmigaOS4 .so support
> +            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs
> $compiler_flags ${wl}-soname $wl$soname -o $lib'
> +            _LT_TAGVAR(archive_expsym_cmds, $1)=''
> +        ;;
> +      m68k)
> +            _LT_TAGVAR(archive_cmds, $1)='$RM
> $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" >
> $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >>
> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >>
> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >>
> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB
> $lib~(cd $output_objdir && a2ixlibrary -32)'
> +            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
> +            _LT_TAGVAR(hardcode_minus_L, $1)=yes
> +        ;;
> +      esac
>        ;;
>
>      bsdi[[45]]*)
> Index: libltdl/m4/ltdl.m4
> ===================================================================
> RCS file: /cvsroot/libtool/libtool/libltdl/m4/ltdl.m4,v
> retrieving revision 1.43
> diff -u -r1.43 ltdl.m4
> --- libltdl/m4/ltdl.m4        31 Jan 2008 16:17:06 -0000      1.43
> +++ libltdl/m4/ltdl.m4        12 Mar 2008 19:47:05 -0000
> @@ -472,6 +472,13 @@
>    aix[[4-9]]*)
>      lt_cv_sys_dlopen_deplibs=yes
>      ;;
> +  amigaos*)
> +    case $host_cpu in
> +    powerpc)
> +      lt_cv_sys_dlopen_deplibs=no
> +      ;;
> +    esac
> +    ;;
>    darwin*)
>      # Assuming the user has installed a libdl from somewhere, this is
> true
>      # If you are looking for one
> http://www.opendarwin.org/projects/dlcompat
>


-- 
best regards,
hnl_dk - Henning Nielsen Lund

µA1-C (IBM PowerPC 750 FX V2.2 @ 800MHz), 256MB RAM, NEC ND-3500A DVD/CD
RW, Samsung SP1604N 160GB PATA Harddisk drive, Acer AL1721 17" TFT,
modified Tyan M2042 1->3 PCI Riser...





reply via email to

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