From 0da793ff2b41776aa3b683eb952c0df5bbfaba0a Mon Sep 17 00:00:00 2001
From: Jim Wilson <wilson@redhat.com>
Date: Wed, 21 Jul 2004 19:21:41 +0000
Subject: [PATCH] knetbsd/kfreebsd patches from Robert Millan. * libtool.m4:
 Add kfreebsd*-gnu and knetbsd*-gnu. * ltconfig: Likewise. * ltcf-c.sh:
 Likewise. * ltcf-cxx.sh: Likewise. * ltcf-gcj.sh: Likewise.

---
 ChangeLog   | 13 +++++++++++++
 libtool.m4  |  4 ++--
 ltcf-c.sh   |  6 +++---
 ltcf-cxx.sh |  6 +++---
 ltcf-gcj.sh |  6 +++---
 ltconfig    | 11 +++++++++++
 6 files changed, 35 insertions(+), 11 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5dee42f79..ddba08e11 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2004-07-19  Robert Millan  <robertmh@gnu.org>
+
+	Synced from gcc:
+
+	2004-04-26  Robert Millan  <robertmh@gnu.org>
+
+	Add patches from libtool CVS.
+	* libtool.m4: Add kfreebsd*-gnu and knetbsd*-gnu.
+	* ltconfig: Likewise.
+	* ltcf-c.sh: Likewise.
+	* ltcf-cxx.sh: Likewise.
+	* ltcf-gcj.sh: Likewise.
+
 2004-07-12  Paolo Bonzini  <bonzini@gnu.org>
 
 	* configure.in: Add noconfigdirs for crx-*-*.
diff --git a/libtool.m4 b/libtool.m4
index d2e36088d..7e4a2eec4 100644
--- a/libtool.m4
+++ b/libtool.m4
@@ -577,7 +577,7 @@ darwin* | rhapsody*)
   esac
   ;;
 
-freebsd* )
+freebsd* | kfreebsd*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
@@ -645,7 +645,7 @@ linux-gnu*)
   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   ;;
 
-netbsd*)
+netbsd* | knetbsd*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
   else
diff --git a/ltcf-c.sh b/ltcf-c.sh
index d60a3baa1..e73ff16f7 100644
--- a/ltcf-c.sh
+++ b/ltcf-c.sh
@@ -185,7 +185,7 @@ EOF
     whole_archive_flag_spec='-all_load $convenience'
     ;;
 
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
       wlarc=
@@ -409,7 +409,7 @@ else
     ;;
 
   # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-  freebsd*)
+  freebsd* | kfreebsd*-gnu)
     archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
@@ -456,7 +456,7 @@ else
     link_all_deplibs=yes
     ;;
 
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
     else
diff --git a/ltcf-cxx.sh b/ltcf-cxx.sh
index 9059b1a00..465650ff4 100644
--- a/ltcf-cxx.sh
+++ b/ltcf-cxx.sh
@@ -244,7 +244,7 @@ case $host_os in
     # C++ shared libraries reported to be fairly broken before switch to ELF
     ld_shlibs=no
     ;;
-  freebsd*)
+  freebsd* | kfreebsd*-gnu)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     ld_shlibs=yes
@@ -404,7 +404,7 @@ case $host_os in
         ;;
     esac
     ;;
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     # NetBSD uses g++ - do we need to do anything?
     ;;
   osf3*)
@@ -759,7 +759,7 @@ else
           ;;
       esac
       ;;
-    freebsd*)
+    freebsd* | kfreebsd*-gnu)
       # FreeBSD uses GNU C++
       ;;
     gnu*)
diff --git a/ltcf-gcj.sh b/ltcf-gcj.sh
index 2d704975c..95c6fcd35 100644
--- a/ltcf-gcj.sh
+++ b/ltcf-gcj.sh
@@ -178,7 +178,7 @@ EOF
       $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
     ;;
 
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
       wlarc=
@@ -402,7 +402,7 @@ else
     ;;
 
   # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-  freebsd*)
+  freebsd* | kfreebsd*-gnu)
     archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
@@ -433,7 +433,7 @@ else
     link_all_deplibs=yes
     ;;
 
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
     else
diff --git a/ltconfig b/ltconfig
index 0a8c7d2f4..7972327da 100755
--- a/ltconfig
+++ b/ltconfig
@@ -1164,6 +1164,17 @@ gnu*)
   hardcode_into_libs=yes
   ;;
 
+kfreebsd*-gnu | knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  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.