-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.10 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
+# 2005, 2006 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+m4_include([build/aclocal/ac_raf_func_which_getservbyname_r.m4])
+m4_include([build/aclocal/ax_func_which_gethostbyname_r.m4])
m4_include([build/aclocal/bakefile-dllar.m4])
m4_include([build/aclocal/bakefile-lang.m4])
m4_include([build/aclocal/bakefile.m4])
m4_include([build/aclocal/gtk.m4])
m4_include([build/aclocal/pkg.m4])
m4_include([build/aclocal/sdl.m4])
-m4_include([build/aclocal/ax_func_which_gethostbyname_r.m4])
-m4_include([build/aclocal/ac_raf_func_which_getservbyname_r.m4])
+m4_include([build/aclocal/visibility.m4])
m4_include([acinclude.m4])
--- /dev/null
+dnl visibility.m4 serial 1 (gettext-0.15)
+dnl Copyright (C) 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl Modified for use in wxWidgets by Vaclav Slavik:
+dnl - don't define HAVE_VISIBILITY (=0) if not supported
+dnl - use -fvisibility-inlines-hidden too
+dnl - test in C++ mode
+
+dnl Tests whether the compiler supports the command-line option
+dnl -fvisibility=hidden and the function and variable attributes
+dnl __attribute__((__visibility__("hidden"))) and
+dnl __attribute__((__visibility__("default"))).
+dnl Does *not* test for __visibility__("protected") - which has tricky
+dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
+dnl MacOS X.
+dnl Does *not* test for __visibility__("internal") - which has processor
+dnl dependent semantics.
+dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
+dnl "really only recommended for legacy code".
+dnl Set the variable CFLAG_VISIBILITY.
+dnl Defines and sets the variable HAVE_VISIBILITY.
+
+AC_DEFUN([WX_VISIBILITY],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ if test -n "$GCC"; then
+ CFLAGS_VISIBILITY="-fvisibility=hidden"
+ CXXFLAGS_VISIBILITY="-fvisibility=hidden -fvisibility-inlines-hidden"
+ AC_MSG_CHECKING([for symbols visibility support])
+ AC_CACHE_VAL(wx_cv_cc_visibility, [
+ wx_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $CXXFLAGS_VISIBILITY"
+ AC_LANG_PUSH(C++)
+ AC_TRY_COMPILE(
+ [
+ /* 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() {}
+ };
+ ],
+ [],
+ wx_cv_cc_visibility=yes,
+ wx_cv_cc_visibility=no)
+ AC_LANG_POP()
+ CXXFLAGS="$wx_save_CXXFLAGS"])
+ AC_MSG_RESULT([$wx_cv_cc_visibility])
+ if test $wx_cv_cc_visibility = yes; then
+ AC_DEFINE([HAVE_VISIBILITY])
+ else
+ CFLAGS_VISIBILITY=""
+ CXXFLAGS_VISIBILITY=""
+ fi
+ AC_SUBST([CFLAGS_VISIBILITY])
+ AC_SUBST([CXXFLAGS_VISIBILITY])
+ fi
+])
build/aclocal/gtk-2.0.m4 \
build/aclocal/gtk.m4 \
build/aclocal/pkg.m4 \
- build/aclocal/sdl.m4
+ build/aclocal/sdl.m4 \
+ build/aclocal/visibility.m4
# Run aclocal whenever acinclude or one of our local m4s is updated.
aclocal.m4: configure.in acinclude.m4 $(ACLOCAL_SOURCES)
#! /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.
#
PANGOFT2_LIBS
PANGOXFT_CFLAGS
PANGOXFT_LIBS
+CFLAGS_VISIBILITY
+CXXFLAGS_VISIBILITY
REZ
DEREZ
SETFILE
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"
;;
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'`"
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
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
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
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
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
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
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
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
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
dnl use versioned symbols if available on the platform
WX_VERSIONED_SYMBOLS([\$(wx_top_builddir)/version-script])
+ dnl test for GCC's visibility support (sets CFLAGS_VISIBILITY, which is
+ dnl assigned to CFLAGS and CXXFLAGS below)
+ WX_VISIBILITY
+
dnl test for Sun CC which can be used under both Solaris and Linux
if test "x$SUNCXX" = xyes; then
SAMPLES_RPATH_FLAG="-R\$(wx_top_builddir)/lib"
;;
esac
+dnl Add visibility support flags to CFLAGS/CXXFLAGS - do it this late so that
+dnl it doesn't affect compilation checks above
+CFLAGS="$CFLAGS $CFLAGS_VISIBILITY"
+CXXFLAGS="$CXXFLAGS $CXXFLAGS_VISIBILITY"
+
dnl for convenience, sort the samples in alphabetical order
dnl
dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
#ifndef _WX_DLIMPEXP_H_
#define _WX_DLIMPEXP_H_
-#if defined(__WXMSW__)
+#if defined(__WINDOWS__)
/*
__declspec works in BC++ 5 and later, Watcom C++ 11.0 and later as well
as VC++ and gcc
#elif defined(__CYGWIN__)
# define WXEXPORT __declspec(dllexport)
# define WXIMPORT __declspec(dllimport)
+#elif defined(HAVE_VISIBILITY)
+# define WXEXPORT __attribute__ ((visibility("default")))
+# define WXIMPORT
#endif
/* for other platforms/compilers we don't anything */
/* GCC warns about using __attribute__ on forward declarations, so we need
another set of macros for them: */
-#define WXDLLIMPEXP_FWD_BASE WXDLLIMPEXP_BASE
-#define WXDLLIMPEXP_FWD_NET WXDLLIMPEXP_NET
-#define WXDLLIMPEXP_FWD_CORE WXDLLIMPEXP_CORE
-#define WXDLLIMPEXP_FWD_ADV WXDLLIMPEXP_ADV
-#define WXDLLIMPEXP_FWD_QA WXDLLIMPEXP_QA
-#define WXDLLIMPEXP_FWD_ODBC WXDLLIMPEXP_ODBC
-#define WXDLLIMPEXP_FWD_DBGRID WXDLLIMPEXP_DBGRID
-#define WXDLLIMPEXP_FWD_HTML WXDLLIMPEXP_HTML
-#define WXDLLIMPEXP_FWD_GL WXDLLIMPEXP_GL
-#define WXDLLIMPEXP_FWD_XML WXDLLIMPEXP_XML
-#define WXDLLIMPEXP_FWD_XRC WXDLLIMPEXP_XRC
-#define WXDLLIMPEXP_FWD_AUI WXDLLIMPEXP_AUI
-#define WXDLLIMPEXP_FWD_RICHTEXT WXDLLIMPEXP_RICHTEXT
-#define WXDLLIMPEXP_FWD_MEDIA WXDLLIMPEXP_MEDIA
-#define WXDLLIMPEXP_FWD_STC WXDLLIMPEXP_STC
+#if defined(HAVE_VISIBILITY)
+ #define WXDLLIMPEXP_FWD_BASE
+ #define WXDLLIMPEXP_FWD_NET
+ #define WXDLLIMPEXP_FWD_CORE
+ #define WXDLLIMPEXP_FWD_ADV
+ #define WXDLLIMPEXP_FWD_QA
+ #define WXDLLIMPEXP_FWD_ODBC
+ #define WXDLLIMPEXP_FWD_DBGRID
+ #define WXDLLIMPEXP_FWD_HTML
+ #define WXDLLIMPEXP_FWD_GL
+ #define WXDLLIMPEXP_FWD_XML
+ #define WXDLLIMPEXP_FWD_XRC
+ #define WXDLLIMPEXP_FWD_AUI
+ #define WXDLLIMPEXP_FWD_RICHTEXT
+ #define WXDLLIMPEXP_FWD_MEDIA
+ #define WXDLLIMPEXP_FWD_STC
+#else
+ #define WXDLLIMPEXP_FWD_BASE WXDLLIMPEXP_BASE
+ #define WXDLLIMPEXP_FWD_NET WXDLLIMPEXP_NET
+ #define WXDLLIMPEXP_FWD_CORE WXDLLIMPEXP_CORE
+ #define WXDLLIMPEXP_FWD_ADV WXDLLIMPEXP_ADV
+ #define WXDLLIMPEXP_FWD_QA WXDLLIMPEXP_QA
+ #define WXDLLIMPEXP_FWD_ODBC WXDLLIMPEXP_ODBC
+ #define WXDLLIMPEXP_FWD_DBGRID WXDLLIMPEXP_DBGRID
+ #define WXDLLIMPEXP_FWD_HTML WXDLLIMPEXP_HTML
+ #define WXDLLIMPEXP_FWD_GL WXDLLIMPEXP_GL
+ #define WXDLLIMPEXP_FWD_XML WXDLLIMPEXP_XML
+ #define WXDLLIMPEXP_FWD_XRC WXDLLIMPEXP_XRC
+ #define WXDLLIMPEXP_FWD_AUI WXDLLIMPEXP_AUI
+ #define WXDLLIMPEXP_FWD_RICHTEXT WXDLLIMPEXP_RICHTEXT
+ #define WXDLLIMPEXP_FWD_MEDIA WXDLLIMPEXP_MEDIA
+ #define WXDLLIMPEXP_FWD_STC WXDLLIMPEXP_STC
+#endif
/* for backwards compatibility, define suffix-less versions too */
#define WXDLLEXPORT WXDLLIMPEXP_CORE
*/
#undef HAVE_GNU_CXX_HASH_MAP
+/*
+ * Define if the compiler supports simple visibility declarations.
+ */
+#undef HAVE_VISIBILITY
+
/*
* The built-in regex supports advanced REs in additional to POSIX's basic
* and extended. Your system regex probably won't support this, and in this
*/
#undef HAVE_GNU_CXX_HASH_MAP
+/*
+ * Define if the compiler supports simple visibility declarations.
+ */
+#undef HAVE_VISIBILITY
+
/*
* The built-in regex supports advanced REs in additional to POSIX's basic
* and extended. Your system regex probably won't support this, and in this
#
# # public symbols added in release 2.6.2 (please keep in alphabetical order):
# @WX_VERSION_TAG@.2 {
-# global:
# *wxChoice*GetCurrentSelection*;
# };
#
# generic branch tag (don't remove this!):
@WX_VERSION_TAG@ {
- global:
*;
};