In the GNU Serveez configure.ac, i see:
dnl
dnl Check if libtool copes with SunOS/Solaris. GNU libtool 1.4.2 and less
dnl fail to create self-contained shared libraries. This is due to the gcc
dnl - native linker combination. The below macro adds the -liberty path
dnl and -lgcc to the linker line if necessary.
dnl
SVZ_LIBTOOL_SOLARIS
(full macro source below). I don't know how to evaluate the relevance
of this comment given the (much newer) Libtool 2.4 i use locally and am
considering imposing as the prereq in configure.ac. IOW, if i specify:
LT_PREREQ([2.4])
would it be safe to remove this check/workaround? I would appreciate any
pointers on discussion or documentation regarding this, or (even better) a
simple "yeah, no sweat, libtool 2.4 DTRT" from someone more knowledgable.
FWIW, the current libtool prereq is 1.9b (first release to have ‘LT_INIT’).
Following is the macro definition. Thanks for reading this.
AC_DEFUN([SVZ_LIBTOOL_SOLARIS],[
AS_IF([SVZ_Y([GCC]) && SVZ_Y([enable_shared])],
[AS_CASE([$host_os],[solaris*],[
LIBERTY=`gcc --print-file-name=libiberty.a`
LIBERTY="-L`dirname $LIBERTY 2>/dev/null`"
SERVEEZ_LDFLAGS="$SERVEEZ_LDFLAGS $LIBERTY"
GCCLIB=`gcc --print-libgcc-file-name`
GCCDIR="-L`dirname $GCCLIB 2>/dev/null`"
GCCFILE=`basename $GCCLIB 2>/dev/null`
GCCFILE="-l`echo "$GCCFILE" | sed -e 's/lib\(.*\)\.a/\1/'`"
SERVEEZ_LDFLAGS="$SERVEEZ_LDFLAGS $GCCDIR"
SERVEEZ_LIBS="$SERVEEZ_LIBS $GCCFILE"
AC_MSG_WARN([
The configure script added
'$LIBERTY $GCCDIR $GCCFILE'
to your linker line. This may not be what you want. Please report
to if we failed to build shared libraries
for '$host_os'.])
AS_UNSET([LIBERTY])
AS_UNSET([GCCLIB])
AS_UNSET([GCCDIR])
AS_UNSET([GCCFILE])])])
])
___
http://lists.gnu.org/mailman/listinfo/libtool