[PATCH] make freebsd-elf version type similar to linux version type

Tijl Coosemans <[email protected]>
Newsgroups gmane.comp.gnu.libtool.patches
Message-ID <[email protected]>
On FreeBSD we have switched from using .so.$current as library extension
to .so.$major.$age.$revision where $major is $current-$age.  Our package
of libtool has been patched similar to the patch below which you can see
here: https://svnweb.freebsd.org/ports/head/devel/libtool/files/

The "freebsd-elf" version type was also used for SCO UnixWare.  This
patch creates a separate version type "sco" for that system.

---
 build-aux/ltmain.in | 14 ++++++++++----
 m4/libtool.m4       |  5 +++--
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 65b5a2d..6cea0f8 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -6795,13 +6795,13 @@ func_mode_link ()
 	  #
 	  case $version_type in
 	  # correct linux to gnu/linux during the next big refactor
-	  darwin|linux|osf|windows|none)
+	  darwin|freebsd-elf|linux|osf|windows|none)
 	    func_arith $number_major + $number_minor
 	    current=$func_arith_result
 	    age=$number_minor
 	    revision=$number_revision
 	    ;;
-	  freebsd-aout|freebsd-elf|qnx|sunos)
+	  freebsd-aout|qnx|sco|sunos)
 	    current=$number_major
 	    revision=$number_minor
 	    age=0
@@ -6887,8 +6887,9 @@ func_mode_link ()
 	  ;;
 
 	freebsd-elf)
-	  major=.$current
-	  versuffix=.$current
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
 	  ;;
 
 	irix | nonstopux)
@@ -6951,6 +6952,11 @@ func_mode_link ()
 	  versuffix=.$current
 	  ;;
 
+	sco)
+	  major=.$current
+	  versuffix=.$current
+	  ;;
+
 	sunos)
 	  major=.$current
 	  versuffix=.$current.$revision
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 320d8b3..acbda77 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2543,7 +2543,8 @@ freebsd* | dragonfly*)
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
@@ -2888,7 +2889,7 @@ sysv4*MP*)
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
   library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
-- 
2.1.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.