the Ubuntu visibility bug only happens when building shared libraries on some systems, use -shared when testing for it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-08-07 21:13:11 +00:00
parent f5ca194a78
commit 34b340a08e
2 changed files with 12 additions and 4 deletions

View File

@@ -66,19 +66,23 @@ AC_DEFUN([WX_VISIBILITY],
AC_MSG_CHECKING([for broken libstdc++ visibility])
AC_CACHE_VAL(wx_cv_cc_broken_libstdcxx_visibility, [
wx_save_CXXFLAGS="$CXXFLAGS"
wx_save_LDFLAGS="$LDFLAGS"
CXXFLAGS="$CXXFLAGS $CXXFLAGS_VISIBILITY"
LDFLAGS="$LDFLAGS -shared -fPIC"
AC_LANG_PUSH(C++)
AC_TRY_LINK(
[
#include <string>
],
[
std::string x;
std::string s("hello");
return s.length();
],
wx_cv_cc_broken_libstdcxx_visibility=no,
wx_cv_cc_broken_libstdcxx_visibility=yes)
AC_LANG_POP()
CXXFLAGS="$wx_save_CXXFLAGS"])
CXXFLAGS="$wx_save_CXXFLAGS"
LDFLAGS="$wx_save_LDFLAGS"])
AC_MSG_RESULT([$wx_cv_cc_broken_libstdcxx_visibility])
if test $wx_cv_cc_broken_libstdcxx_visibility = yes; then
AC_DEFINE([HAVE_BROKEN_LIBSTDCXX_VISIBILITY])