[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Re: soext link option
From: |
Robert Boehne |
Subject: |
[PATCH] Re: soext link option |
Date: |
Thu, 19 Dec 2002 23:26:08 -0600 |
Oops, Did I forget the patch?
Robert
Robert Boehne wrote:
>
> Ralph,
>
> I've heavily modified your patch for CVS Libtool and tested it
> extensively. I changed the option to "-shrext" because -SOext
> seems like an oxymoron. In addition, one instance where this is
> needed is Mac OS X with Jave JNI libraries that must be modules.
> Under OS X, the original patch would not change the name of a module,
> and X's Java won't load a module named *.dylib. I don't see why
> this can't be used under Cyg/Ming/win & pw32, so I removed the
> references that stated it was not supported there. I can't say
> that it will work there, is there some OS restriciton that prevents it?
>
> 2002-12-20 Ralph Schleicher <address@hidden>
>
> Rework by Robert Boehne <address@hidden>
> * ltmain.in: New link option -shrext.
> * libtool.m4 (AC_LIBTOOL_CONFIG): New libtool variable shrext.
> (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Replace all hard coded shared
> library file name extensions in library_names_spec and soname_spec
> by $shrext.
> * doc/libtool.texi (Link mode): Document it.
>
> Ok to commit?
>
> Robert
>
> "Schleicher Ralph (LLI)" wrote:
> >
> > Hi,
> >
> > please find attached my patch for setting the file name extension of
> > shared libraries.
> >
> > ------------------------------------------------------------------------
> > Name: libtool-1.4d.soext.diff
> > libtool-1.4d.soext.diff Type: unspecified type
> > (application/octet-stream)
> > Encoding: base64
> > Description: libtool-1.4d.soext.diff
> >
> > Name: ATT00149.ATT
> > ATT00149.ATT Type: Plain Text (text/plain)
> > Encoding: base64
> > Description: ATT00149.ATT
>
> _______________________________________________
> Libtool-patches mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/libtool-patches
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libtool.m4,v
retrieving revision 1.281
diff -u -r1.281 libtool.m4
--- libtool.m4 18 Dec 2002 21:04:45 -0000 1.281
+++ libtool.m4 20 Dec 2002 04:11:28 -0000
@@ -1044,6 +1044,7 @@
library_names_spec=
libname_spec='lib$name'
soname_spec=
+shrext="so"
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -1077,11 +1078,11 @@
case $host_os in
aix3*)
version_type=linux
- library_names_spec='${libname}${release}.so$versuffix $libname.a'
+ library_names_spec='${libname}${release}.${shrext}$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}.so$major'
+ soname_spec='${libname}${release}.${shrext}$major'
;;
aix4* | aix5*)
@@ -1091,7 +1092,7 @@
hardcode_into_libs=yes
if test "$host_cpu" = ia64; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}.so$major
${libname}${release}.so$versuffix $libname.so'
+ library_names_spec='${libname}${release}.${shrext}$major
${libname}${release}.${shrext}$versuffix $libname.${shrext}'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
@@ -1117,12 +1118,12 @@
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major $libname.so'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
else
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}.so$major'
+ soname_spec='${libname}${release}.${shrext}$major'
fi
shlibpath_var=LIBPATH
fi
@@ -1135,7 +1136,7 @@
;;
beos*)
- library_names_spec='${libname}.so'
+ library_names_spec='${libname}.${shrext}'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
@@ -1143,8 +1144,8 @@
bsdi4*)
version_type=linux
need_version=no
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major $libname.so'
- soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib
/usr/local/lib"
@@ -1176,12 +1177,12 @@
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | $SED -e 's/^lib/cyg/'``echo ${release} |
$SED -e 's/[[.]]/-/g'`${versuffix}.dll'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} |
$SED -e 's/[[.]]/-/g'`${versuffix}.${shrext}'
sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib"
;;
mingw*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e
's/[[.]]/-/g'`${versuffix}.dll'
+ soname_spec='${libname}`echo ${release} | $SED -e
's/[[.]]/-/g'`${versuffix}.${shrext}'
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" |
$SED -e "s/^libraries://" -e "s,=/,/,g"`
if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null];
then
# It is most probably a Windows format PATH printed by
@@ -1197,13 +1198,13 @@
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | $SED -e 's/^lib/pw/'``echo
${release} | $SED -e 's/[.]/-/g'`${versuffix}.dll'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo
${release} | $SED -e 's/[.]/-/g'`${versuffix}.${shrext}'
;;
esac
;;
*)
- library_names_spec='${libname}`echo ${release} | $SED -e
's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
+ library_names_spec='${libname}`echo ${release} | $SED -e
's/[[.]]/-/g'`${versuffix}.${shrext} $libname.lib'
;;
esac
dynamic_linker='Win32 ld.exe'
@@ -1219,18 +1220,19 @@
# FIXME: Relying on posixy $() will cause problems for
# cross-compilation, but unfortunately the echo tests do not
# yet detect zsh echo's removal of \ escapes.
- library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes
&& echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes
&& echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo
dylib)'
- soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so
|| echo dylib)'
+ library_names_spec='${libname}${release}${versuffix}.$shrext
${libname}${release}${major}.$shrext ${libname}.$shrext'
+ soname_spec='${libname}${release}${major}.$shrext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
+ shrext='$(test .$module = .yes && echo so || echo dylib)'
;;
dgux*)
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'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.$shrext'
+ soname_spec='${libname}${release}.${shrext}$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -1243,12 +1245,12 @@
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so $libname.so'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext} $libname.${shrext}'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}.so$versuffix
$libname.so$versuffix'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
$libname.${shrext}$versuffix'
need_version=yes
;;
esac
@@ -1272,8 +1274,8 @@
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'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}${major} ${libname}.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
shlibpath_var=LD_LIBRARY_PATH
hardcode_into_libs=yes
;;
@@ -1289,8 +1291,8 @@
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major $libname.so'
- soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
if test "X$HPUX_IA64_MODE" = X32; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32
/usr/local/lib"
else
@@ -1301,8 +1303,9 @@
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}.sl$versuffix
${libname}${release}.sl$major $libname.sl'
- soname_spec='${libname}${release}.sl$major'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
+ shrext="sl"
fi
# HP-UX runs *really* slowly unless shared libraries are mode 555.
postinstall_cmds='chmod 555 $lib'
@@ -1315,8 +1318,8 @@
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}.so$major'
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major ${libname}${release}.so $libname.so'
+ soname_spec='${libname}${release}.${shrext}$major'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major ${libname}${release}.${shrext}
$libname.${shrext}'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -1343,11 +1346,12 @@
# This must be Linux ELF.
linux*)
+ shrext="so"
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'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -1370,12 +1374,12 @@
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}.so$versuffix
${libname}.so$versuffix'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}.${shrext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
- soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major ${libname}${release}.${shrext}
${libname}.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -1385,7 +1389,7 @@
newsos6)
version_type=linux
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major $libname.so'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
@@ -1394,8 +1398,8 @@
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'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
@@ -1404,7 +1408,7 @@
version_type=sunos
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}.so$versuffix
${libname}.so$versuffix'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}.${shrext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test
"$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
@@ -1423,8 +1427,9 @@
os2*)
libname_spec='$name'
+ shrext="dll"
need_lib_prefix=no
- library_names_spec='$libname.dll $libname.a'
+ library_names_spec='$libname.${shrext} $libname.a'
dynamic_linker='OS/2 ld.exe'
shlibpath_var=LIBPATH
;;
@@ -1433,8 +1438,8 @@
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}.so$major'
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.${shrext}$major'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc
/usr/lib /usr/local/lib /var/shlib"
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
@@ -1442,8 +1447,8 @@
sco3.2v5*)
version_type=osf
- soname_spec='${libname}${release}.so$major'
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.${shrext}$major'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -1451,8 +1456,8 @@
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'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -1462,7 +1467,7 @@
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}.so$versuffix
${libname}.so$versuffix'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}.${shrext}$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -1474,8 +1479,8 @@
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
version_type=linux
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major $libname.so'
- soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
@@ -1499,16 +1504,16 @@
sysv4*MP*)
if test -d /usr/nec ;then
version_type=linux
- library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
- soname_spec='$libname.so.$major'
+ library_names_spec='$libname.${shrext}.$versuffix
$libname.${shrext}.$major $libname.${shrext}'
+ soname_spec='$libname.${shrext}.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
uts4*)
version_type=linux
- library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major $libname.so'
- soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.${shrext}$versuffix
${libname}${release}.${shrext}$major $libname.${shrext}'
+ soname_spec='${libname}${release}.${shrext}$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -2488,10 +2493,10 @@
_LT_AC_TAGVAR(postdeps, $1)=
_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-# Source file extension for C test sources.
+# Source file extension for C++ test sources.
ac_ext=cc
-# Object file extension for compiled C test sources.
+# Object file extension for compiled C++ test sources.
objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
@@ -2850,9 +2855,8 @@
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | $SED -e
"s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects
$compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='templib=`echo $lib | $SED -e
"s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects
$compiler_flags --soname $soname -o \$templib
${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-
+ _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | $SED -e
"s/\.${shrext}\..*/\.${shrext}/"`; $CC $predep_objects $libobjs $deplibs
$postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib
$lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='templib=`echo $lib | $SED -e
"s/\.${shrext}\..*/\.${shrext}/"`; $CC $predep_objects $libobjs $deplibs
$postdep_objects $compiler_flags --soname $soname -o \$templib
${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
@@ -2861,7 +2865,7 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o
libconftest.so 2>&1 | grep "ld"`; rm -f libconftest.so; list=""; for z in
$templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *)
list="$list $z";;esac; done; echo $list'
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o
libconftest.$shrext 2>&1 | grep "ld"`; rm -f libconftest.$shrext; list=""; for
z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);;
*) list="$list $z";;esac; done; echo $list'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -2940,7 +2944,7 @@
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | $SED -e
"s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects
$compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | $SED -e
"s/\.${shrext}\..*/\.${shrext}/"`; $CC $predep_objects $libobjs $deplibs
$postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib
$lib'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3000,7 +3004,7 @@
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | $SED -e
"s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects
$compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | $SED -e
"s/\.${shrext}\..*/\.${shrext}/"`; $CC $predep_objects $libobjs $deplibs
$postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib
$lib'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3460,10 +3464,10 @@
AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
[AC_LANG_SAVE
-# Source file extension for C test sources.
+# Source file extension for Java test sources.
ac_ext=java
-# Object file extension for compiled C test sources.
+# Object file extension for compiled Java test sources.
objext=o
_LT_AC_TAGVAR(objext, $1)=$objext
@@ -3767,6 +3771,9 @@
# Old archive suffix (normally "a").
libext="$libext"
+# Shared library suffix (normally "so").
+shrext="$shrext"
+
# Executable file suffix (normally "").
exeext="$exeext"
@@ -3917,7 +3924,7 @@
# Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# Set to yes if using DIR/libNAME.${shrext} during linking hardcodes DIR into
the
# resulting binary.
hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
@@ -4986,6 +4993,8 @@
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
# Tell ltmain to make .lib files, not .a files.
libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext="dll"
# FIXME: Setting linknames here is a bad hack.
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags
`echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
Index: ltmain.in
===================================================================
RCS file: /cvsroot/libtool/libtool/ltmain.in,v
retrieving revision 1.315
diff -u -r1.315 ltmain.in
--- ltmain.in 11 Dec 2002 16:05:24 -0000 1.315
+++ ltmain.in 20 Dec 2002 04:11:33 -0000
@@ -1306,6 +1306,11 @@
continue
;;
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
-no-fast-install)
fast_install=no
continue
Index: doc/libtool.texi
===================================================================
RCS file: /cvsroot/libtool/libtool/doc/libtool.texi,v
retrieving revision 1.131
diff -u -r1.131 libtool.texi
--- doc/libtool.texi 19 Nov 2002 09:42:39 -0000 1.131
+++ doc/libtool.texi 20 Dec 2002 04:11:39 -0000
@@ -1282,6 +1282,13 @@
@var{libdir}. If @var{output-file} is a program, add @var{libdir} to
the run-time path of the program.
address@hidden -shrext @var{suffix}
+If @var{output-file} is a libtool library, replace the system's standard
+file name extension for shared libraries with @var{suffix} (most systems
+use @file{so} here). This option is helpful in certain cases where an
+application requires that shared libraries (typically modules) have an
+extension other than the default one.
+
@item -R @var{libdir}
If @var{output-file} is a program, add @var{libdir} to its run-time
path. If @var{output-file} is a library, add address@hidden to its