libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Tijl Coosemans
Subject: [PATCH] make freebsd-elf version type similar to linux version type
Date: Thu, 27 Nov 2014 18:59:56 +0100

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]