[Top][All Lists]
[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...