Re: [patch #6416] AmigaOS4 support in libtool
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 [EMAIL PROTECTED] * 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 --- NEWS4 Mar 2008 22:31:33 - 1.222 +++ NEWS12 Mar 2008 19:47:00 - @@ -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 - 1.142 +++ libltdl/m4/libtool.m4 12 Mar 2008 19:47:04 - @@ -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
Re: [patch #6416] AmigaOS4 support in libtool
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 [EMAIL PROTECTED] * 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 - 1.222 +++ NEWS 12 Mar 2008 19:47:00 - @@ -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 - 1.142 +++ libltdl/m4/libtool.m4 12 Mar 2008 19:47:04 - @@ -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