diff -ur libtool-2.2.5a/libltdl/config/ltmain.m4sh libtool-2.2.5a-haiku/libltdl/config/ltmain.m4sh
--- libtool-2.2.5a/libltdl/config/ltmain.m4sh	2008-06-02 07:07:26.000000000 +0000
+++ libtool-2.2.5a-haiku/libltdl/config/ltmain.m4sh	2008-06-05 16:07:25.000000000 +0000
@@ -4072,7 +4072,7 @@
       -l*)
 	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
 	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-*-haiku*)
 	    # These systems don't actually have a C or math library (as such)
 	    continue
 	    ;;
@@ -6026,7 +6026,7 @@
       if test "$build_libtool_libs" = yes; then
 	if test -n "$rpath"; then
 	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-*-haiku*)
 	    # these systems don't actually have a c library (as such)!
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
diff -ur libtool-2.2.5a/libltdl/m4/libtool.m4 libtool-2.2.5a-haiku/libltdl/m4/libtool.m4
--- libtool-2.2.5a/libltdl/m4/libtool.m4	2008-05-26 07:05:05.000000000 +0000
+++ libtool-2.2.5a-haiku/libltdl/m4/libtool.m4	2008-06-06 09:32:17.000000000 +0000
@@ -2344,6 +2344,18 @@
   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
+  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.
@@ -5656,6 +5668,10 @@
       gnu*)
         ;;
 
+      haiku*)
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        ;;
+
       hpux9*)
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
