added GCC visibility support

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-07-09 10:12:51 +00:00
parent b5dbe15d0b
commit 0ff20b9f00
9 changed files with 249 additions and 33 deletions

126
configure vendored
View File

@@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Id: configure.in 46713 2007-06-26 20:44:58Z VS .
# From configure.in Id: configure.in 47230 2007-07-08 07:04:38Z VS .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for wxWidgets 2.9.0.
#
@@ -707,6 +707,8 @@ PANGOFT2_CFLAGS
PANGOFT2_LIBS
PANGOXFT_CFLAGS
PANGOXFT_LIBS
CFLAGS_VISIBILITY
CXXFLAGS_VISIBILITY
REZ
DEREZ
SETFILE
@@ -33096,6 +33098,105 @@ echo "${ECHO_T}$wx_cv_version_script" >&6; }
esac
if test -n "$GCC"; then
CFLAGS_VISIBILITY="-fvisibility=hidden"
CXXFLAGS_VISIBILITY="-fvisibility=hidden -fvisibility-inlines-hidden"
{ echo "$as_me:$LINENO: checking for symbols visibility support" >&5
echo $ECHO_N "checking for symbols visibility support... $ECHO_C" >&6; }
if test "${wx_cv_cc_visibility+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
wx_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $CXXFLAGS_VISIBILITY"
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* we need gcc >= 4.0, older versions with visibility support
didn't have class visibility: */
#if defined(__GNUC__) && __GNUC__ < 4
error this gcc is too old;
#endif
extern __attribute__((__visibility__("hidden"))) int hiddenvar;
extern __attribute__((__visibility__("default"))) int exportedvar;
extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
extern __attribute__((__visibility__("default"))) int exportedfunc (void);
class __attribute__((__visibility__("default"))) Foo {
Foo() {}
};
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
wx_cv_cc_visibility=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
wx_cv_cc_visibility=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
CXXFLAGS="$wx_save_CXXFLAGS"
fi
{ echo "$as_me:$LINENO: result: $wx_cv_cc_visibility" >&5
echo "${ECHO_T}$wx_cv_cc_visibility" >&6; }
if test $wx_cv_cc_visibility = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_VISIBILITY 1
_ACEOF
else
CFLAGS_VISIBILITY=""
CXXFLAGS_VISIBILITY=""
fi
fi
if test "x$SUNCXX" = xyes; then
SAMPLES_RPATH_FLAG="-R\$(wx_top_builddir)/lib"
WXCONFIG_RPATH="-R\$libdir"
@@ -49482,6 +49583,9 @@ case "${host}" in
;;
esac
CFLAGS="$CFLAGS $CFLAGS_VISIBILITY"
CXXFLAGS="$CXXFLAGS $CXXFLAGS_VISIBILITY"
SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
@@ -50511,12 +50615,12 @@ PANGOFT2_CFLAGS!$PANGOFT2_CFLAGS$ac_delim
PANGOFT2_LIBS!$PANGOFT2_LIBS$ac_delim
PANGOXFT_CFLAGS!$PANGOXFT_CFLAGS$ac_delim
PANGOXFT_LIBS!$PANGOXFT_LIBS$ac_delim
CFLAGS_VISIBILITY!$CFLAGS_VISIBILITY$ac_delim
CXXFLAGS_VISIBILITY!$CXXFLAGS_VISIBILITY$ac_delim
REZ!$REZ$ac_delim
DEREZ!$DEREZ$ac_delim
SETFILE!$SETFILE$ac_delim
LIBICONV!$LIBICONV$ac_delim
SDL_CONFIG!$SDL_CONFIG$ac_delim
SDL_CFLAGS!$SDL_CFLAGS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -50558,6 +50662,8 @@ _ACEOF
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
SDL_CONFIG!$SDL_CONFIG$ac_delim
SDL_CFLAGS!$SDL_CFLAGS$ac_delim
SDL_LIBS!$SDL_LIBS$ac_delim
LIBGNOMEPRINTUI_CFLAGS!$LIBGNOMEPRINTUI_CFLAGS$ac_delim
LIBGNOMEPRINTUI_LIBS!$LIBGNOMEPRINTUI_LIBS$ac_delim
@@ -50653,8 +50759,6 @@ COND_BUILD_DEBUG!$COND_BUILD_DEBUG$ac_delim
COND_BUILD_DEBUG_DEBUG_FLAG_DEFAULT!$COND_BUILD_DEBUG_DEBUG_FLAG_DEFAULT$ac_delim
COND_BUILD_DEBUG_DEBUG_INFO_DEFAULT!$COND_BUILD_DEBUG_DEBUG_INFO_DEFAULT$ac_delim
COND_BUILD_DEBUG_UNICODE_0!$COND_BUILD_DEBUG_UNICODE_0$ac_delim
COND_BUILD_DEBUG_UNICODE_1!$COND_BUILD_DEBUG_UNICODE_1$ac_delim
COND_BUILD_RELEASE!$COND_BUILD_RELEASE$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -50696,6 +50800,8 @@ _ACEOF
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
COND_BUILD_DEBUG_UNICODE_1!$COND_BUILD_DEBUG_UNICODE_1$ac_delim
COND_BUILD_RELEASE!$COND_BUILD_RELEASE$ac_delim
COND_BUILD_RELEASE_DEBUG_INFO_DEFAULT!$COND_BUILD_RELEASE_DEBUG_INFO_DEFAULT$ac_delim
COND_BUILD_RELEASE_UNICODE_0!$COND_BUILD_RELEASE_UNICODE_0$ac_delim
COND_BUILD_RELEASE_UNICODE_1!$COND_BUILD_RELEASE_UNICODE_1$ac_delim
@@ -50791,8 +50897,6 @@ COND_TOOLKIT_!$COND_TOOLKIT_$ac_delim
COND_TOOLKIT_COCOA!$COND_TOOLKIT_COCOA$ac_delim
COND_TOOLKIT_COCOA_USE_GUI_1!$COND_TOOLKIT_COCOA_USE_GUI_1$ac_delim
COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0!$COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0$ac_delim
COND_TOOLKIT_DFB!$COND_TOOLKIT_DFB$ac_delim
COND_TOOLKIT_DFB_USE_GUI_1!$COND_TOOLKIT_DFB_USE_GUI_1$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -50834,6 +50938,8 @@ _ACEOF
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
COND_TOOLKIT_DFB!$COND_TOOLKIT_DFB$ac_delim
COND_TOOLKIT_DFB_USE_GUI_1!$COND_TOOLKIT_DFB_USE_GUI_1$ac_delim
COND_TOOLKIT_GTK!$COND_TOOLKIT_GTK$ac_delim
COND_TOOLKIT_GTK_TOOLKIT_VERSION_!$COND_TOOLKIT_GTK_TOOLKIT_VERSION_$ac_delim
COND_TOOLKIT_GTK_TOOLKIT_VERSION_2!$COND_TOOLKIT_GTK_TOOLKIT_VERSION_2$ac_delim
@@ -50929,8 +51035,6 @@ GUIDIST!$GUIDIST$ac_delim
DISTDIR!$DISTDIR$ac_delim
SAMPLES_SUBDIRS!$SAMPLES_SUBDIRS$ac_delim
LDFLAGS_GL!$LDFLAGS_GL$ac_delim
OPENGL_LIBS!$OPENGL_LIBS$ac_delim
DMALLOC_LIBS!$DMALLOC_LIBS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -50972,6 +51076,8 @@ _ACEOF
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
OPENGL_LIBS!$OPENGL_LIBS$ac_delim
DMALLOC_LIBS!$DMALLOC_LIBS$ac_delim
WX_VERSION_TAG!$WX_VERSION_TAG$ac_delim
RESCOMP!$RESCOMP$ac_delim
RESFLAGS!$RESFLAGS$ac_delim
@@ -50987,7 +51093,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 13; then
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 15; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5