added support for versioned symbols on Linux
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
51
acinclude.m4
51
acinclude.m4
@@ -382,6 +382,57 @@ AC_DEFUN([WX_ARG_ENABLE],
|
||||
])
|
||||
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl Linker features test
|
||||
dnl ===========================================================================
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl WX_VERSIONED_SYMBOLS checks whether the linker can create versioned
|
||||
dnl symbols. If it can, sets LDFLAGS_VERSIONING to $CXX flags needed to use
|
||||
dnl version script file named versionfile
|
||||
dnl
|
||||
dnl call WX_VERSIONED_SYMBOLS(versionfile)
|
||||
dnl ---------------------------------------------------------------------------
|
||||
AC_DEFUN([WX_VERSIONED_SYMBOLS],
|
||||
[
|
||||
found_versioning=no
|
||||
|
||||
dnl Check for known non-gcc cases:
|
||||
case "${host}" in
|
||||
*-*-solaris2* )
|
||||
if test "x$GCC" != "xyes" ; then
|
||||
LDFLAGS_VERSIONING="-M $1"
|
||||
found_versioning=yes
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Generic check for GCC or GCC-like behaviour (Intel C++, GCC):
|
||||
if test $found_versioning = no ; then
|
||||
AC_CACHE_CHECK([if the linker accepts --version-script], wx_cv_version_script,
|
||||
[
|
||||
echo "VER_1 { *; };" >conftest.sym
|
||||
echo "int main() { return 0; }" >conftest.cpp
|
||||
|
||||
if AC_TRY_COMMAND([
|
||||
$CXX -o conftest.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp
|
||||
-Wl,--version-script,conftest.sym >/dev/null 2>conftest.stderr]) ; then
|
||||
if test -s conftest.stderr ; then
|
||||
wx_cv_version_script=no
|
||||
else
|
||||
wx_cv_version_script=yes
|
||||
fi
|
||||
else
|
||||
wx_cv_version_script=no
|
||||
fi
|
||||
rm -f conftest.output conftest.stderr conftest.sym conftest.cpp
|
||||
])
|
||||
if test $wx_cv_version_script = yes ; then
|
||||
LDFLAGS_VERSIONING="-Wl,--version-script,$1"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl "3rd party" macros included here because they are not widely available
|
||||
|
Reference in New Issue
Block a user