* build-aux/ltmain.in (func_mode_link): Append major to soname_spec.
Set major and versuffix.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Set version_type to windows.
Append major to soname_spec.
---
build-aux/ltmain.in | 4 ++--
m4/libtool.m4 | 4 +++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 39b1b53..3a1d720 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -4865,7 +4865,7 @@ func_mode_link ()
continue
;;
os2dllname)
- soname_spec="\`eval \$ECHO $arg | cut -b -8 | tr . _\`\${shared_ext}"
+ soname_spec="\`eval \$ECHO $arg | cut -b -\$((8 - \${#major})) | tr .
_\`\${major}\${shared_ext}"
prev=
continue
;;
@@ -6252,7 +6252,7 @@ func_mode_link ()
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw* | *cegcc*)
+ *cygwin* | mingw* | *cegcc* | *os2*)
func_arith $current - $age
major=$func_arith_result
versuffix=-$major
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index b0414be..dcb0e86 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2808,12 +2808,14 @@ openbsd* | bitrig*)
os2*)
libname_spec='$name'
+ version_type=windows
shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
# OS/2 limits a length of a DLL basename up to 8 characters.
# So there is need to use a short name instead of a original name
# longer than 8 characters. And replace '.' with '_'.
- soname_spec='`eval $ECHO $libname | cut -b -8 | tr . _`${shared_ext}'
+ soname_spec='`eval $ECHO $libname | cut -b -$((8 - ${#major})) | tr .
_`${major}${shared_ext}'
library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
shlibpath_var=BEGINLIBPATH
--
1.7.3.2