summaryrefslogtreecommitdiffabout
authorIngo Weinhold <ingo_weinhold@gmx.de>2009-11-01 09:53:23 (GMT)
committer Ralf Wildenhues <Ralf.Wildenhues@gmx.de>2009-11-01 09:53:23 (GMT)
commita4cc3d2c9f4190a0425d03f57bb38bfb4a0ea1b7 (patch) (side-by-side diff)
treea97ced56dfc058587ebb67a356ad8be4173fabdf
parent16988b353264adf6ef21f123e7d9e0dd125f60e9 (diff)
downloadlibtool-a4cc3d2c9f4190a0425d03f57bb38bfb4a0ea1b7.tar.gz
Support for the Haiku operating system.
* libltdl/config/ltmain.m4sh (func_mode_link): Add cases for `*-*-haiku*' alongside `*-*-beos*'. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, LT_LIB_M, _LT_COMPILER_PIC) (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Add cases for `haiku*'. * NEWS, THANKS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ChangeLog11
-rw-r--r--NEWS1
-rw-r--r--THANKS1
-rw-r--r--libltdl/config/ltmain.m4sh4
-rw-r--r--libltdl/m4/libtool.m440
5 files changed, 54 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index d91de61..496911b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2009-11-01 Ingo Weinhold <ingo_weinhold@gmx.de> (tiny change)
+
+ Support for the Haiku operating system.
+ * libltdl/config/ltmain.m4sh (func_mode_link): Add cases for
+ `*-*-haiku*' alongside `*-*-beos*'.
+ * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
+ (_LT_CHECK_MAGIC_METHOD, LT_LIB_M, _LT_COMPILER_PIC)
+ (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Add cases for
+ `haiku*'.
+ * NEWS, THANKS: Update.
+
2009-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix quoting of AS, DLLTOOL, and OBJDUMP for the libtool script.
diff --git a/NEWS b/NEWS
index 7843378..80f0413 100644
--- a/NEWS
+++ b/NEWS
@@ -26,6 +26,7 @@ New in 2.2.8 2009-??-??: git version 2.2.7a, Libtool team:
- Improved support for Atari FreeMiNT.
- With binutils 2.19.50+, shared libraries can be built on AIX.
- Initial support for the Cuda Compiler Driver on GNU/Linux.
+ - Support for Haiku (i586-pc-haiku).
* Bug fixes:
diff --git a/THANKS b/THANKS
index d18609a..03cd592 100644
--- a/THANKS
+++ b/THANKS
@@ -100,6 +100,7 @@
Henning Nielsen Lund hnl_dk@amigaos.dk
Howard Chu hyc@highlandsun.com
Ian Lance Taylor ian@cygnus.com
+ Ingo Weinhold ingo_weinhold@gmx.de
Jakub Bogusz qboosh@pld-linux.org
Jacob Meuser jakemsr@jakemsr.com
James Su james.su@gmail.com
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index f1bf43f..91d0800 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -4126,7 +4126,7 @@ func_mode_link ()
-l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
continue
;;
@@ -6083,7 +6083,7 @@ func_mode_link ()
if test "$build_libtool_libs" = yes; then
if test -n "$rpath"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 02f5b5d..02b49c9 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -2324,6 +2324,19 @@ gnu*)
hardcode_into_libs=yes
;;
+haiku*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
hpux9* | hpux10* | hpux11*)
# Give a soname corresponding to the major version so that dld.sl refuses to
# link against other versions.
@@ -3029,6 +3042,10 @@ gnu*)
lt_cv_deplibs_check_method=pass_all
;;
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
hpux10.20* | hpux11*)
lt_cv_file_magic_cmd=/usr/bin/file
case $host_cpu in
@@ -3259,7 +3276,7 @@ AC_DEFUN([LT_LIB_M],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
@@ -3597,6 +3614,11 @@ m4_if([$1], [CXX], [
# DJGPP does not support shared libraries at all
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
@@ -3902,6 +3924,12 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
hpux*)
# PIC is the default for 64-bit PA HP-UX, but not for 32-bit
# PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
@@ -4389,6 +4417,11 @@ _LT_EOF
fi
;;
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -5743,6 +5776,11 @@ if test "$_lt_caught_CXX_error" != yes; then
gnu*)
;;
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
hpux9*)
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=: