149 |
|
|
150 |
]) |
]) |
151 |
|
|
152 |
|
# AC_LIBTOOL_HEADER_ASSERT |
153 |
|
# ------------------------ |
154 |
|
AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT], |
155 |
|
[AC_CACHE_CHECK([whether $CC supports assert without backlinking], |
156 |
|
[lt_cv_func_assert_works], |
157 |
|
[case $host in |
158 |
|
*-*-solaris*) |
159 |
|
if test "$GCC" = yes && test "$with_gnu_ld" != yes; then |
160 |
|
case `$CC --version 2>/dev/null` in |
161 |
|
[[12]].*) lt_cv_func_assert_works=no ;; |
162 |
|
*) lt_cv_func_assert_works=yes ;; |
163 |
|
esac |
164 |
|
fi |
165 |
|
;; |
166 |
|
esac]) |
167 |
|
|
168 |
|
if test "x$lt_cv_func_assert_works" = xyes; then |
169 |
|
AC_CHECK_HEADERS(assert.h) |
170 |
|
fi |
171 |
|
])# AC_LIBTOOL_HEADER_ASSERT |
172 |
|
|
173 |
# _LT_AC_CHECK_DLFCN |
# _LT_AC_CHECK_DLFCN |
174 |
# -------------------- |
# -------------------- |
175 |
AC_DEFUN([_LT_AC_CHECK_DLFCN], |
AC_DEFUN([_LT_AC_CHECK_DLFCN], |
1729 |
;; |
;; |
1730 |
|
|
1731 |
solaris*) |
solaris*) |
1732 |
no_undefined_flag=' -z text' |
# gcc --version < 3.0 without binutils cannot create self contained |
1733 |
|
# shared libraries reliably, requiring libgcc.a to resolve some of |
1734 |
|
# the object symbols generated in some cases. Libraries that use |
1735 |
|
# assert need libgcc.a to resolve __eprintf, for example. Linking |
1736 |
|
# a copy of libgcc.a into every shared library to guarantee resolving |
1737 |
|
# such symbols causes other problems: According to Tim Van Holder |
1738 |
|
# <tim.van.holder@pandora.be>, C++ libraries end up with a separate |
1739 |
|
# (to the application) exception stack for one thing. |
1740 |
|
no_undefined_flag=' -z defs' |
1741 |
|
if test "$GCC" = yes; then |
1742 |
|
case `$CC --version 2>/dev/null` in |
1743 |
|
[[12]].*) |
1744 |
|
cat <<EOF 1>&2 |
1745 |
|
|
1746 |
|
*** Warning: Releases of GCC earlier than version 3.0 cannot reliably |
1747 |
|
*** create self contained shared libraries on Solaris systems, without |
1748 |
|
*** introducing a dependency on libgcc.a. Therefore, libtool is disabling |
1749 |
|
*** -no-undefined support, which will at least allow you to build shared |
1750 |
|
*** libraries. However, you may find that when you link such libraries |
1751 |
|
*** into an application without using GCC, you have to manually add |
1752 |
|
*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to |
1753 |
|
*** upgrade to a newer version of GCC. Another option is to rebuild your |
1754 |
|
*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer. |
1755 |
|
|
1756 |
|
EOF |
1757 |
|
no_undefined_flag= |
1758 |
|
;; |
1759 |
|
esac |
1760 |
|
fi |
1761 |
# $CC -shared without GNU ld will not create a library from C++ |
# $CC -shared without GNU ld will not create a library from C++ |
1762 |
# object files and a static libstdc++, better avoid it by now |
# object files and a static libstdc++, better avoid it by now |
1763 |
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' |
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' |