From b9d4eff64fdcb4d8ccf27bb3d81cda9b990ec76a Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Mon, 13 Aug 2007 18:36:14 +0000 Subject: [PATCH] check for HAVE_VISIBILITY first when setting WXIMPORT/WXEXPORT; only set it on platforms where it makes sense git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- build/aclocal/visibility.m4 | 7 ++++++- configure | 7 ++++++- include/wx/dlimpexp.h | 8 ++++---- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/build/aclocal/visibility.m4 b/build/aclocal/visibility.m4 index 0f02567b9c..9ee33576dc 100644 --- a/build/aclocal/visibility.m4 +++ b/build/aclocal/visibility.m4 @@ -43,7 +43,12 @@ AC_DEFUN([WX_VISIBILITY], #if defined(__GNUC__) && __GNUC__ < 4 error this gcc is too old; #endif - + + /* visibility only makes sense for ELF shared libs: */ + #if !defined(__ELF__) && !defined(__APPLE__) + error this platform has no visibility; + #endif + extern __attribute__((__visibility__("hidden"))) int hiddenvar; extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); diff --git a/configure b/configure index 398c9f0e1e..d76b42fa5a 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Id: configure.in 47919 2007-08-07 01:38:18Z VZ . +# From configure.in Id: configure.in 47942 2007-08-07 22:29:07Z VZ . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for wxWidgets 2.9.0. # @@ -36143,6 +36143,11 @@ cat >>conftest.$ac_ext <<_ACEOF error this gcc is too old; #endif + /* visibility only makes sense for ELF shared libs: */ + #if !defined(__ELF__) && !defined(__APPLE__) + error this platform has no visibility; + #endif + extern __attribute__((__visibility__("hidden"))) int hiddenvar; extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); diff --git a/include/wx/dlimpexp.h b/include/wx/dlimpexp.h index 9160ad84c7..3df4f4e603 100644 --- a/include/wx/dlimpexp.h +++ b/include/wx/dlimpexp.h @@ -16,7 +16,10 @@ #ifndef _WX_DLIMPEXP_H_ #define _WX_DLIMPEXP_H_ -#if defined(__WINDOWS__) +#if defined(HAVE_VISIBILITY) +# define WXEXPORT __attribute__ ((visibility("default"))) +# define WXIMPORT __attribute__ ((visibility("default"))) +#elif defined(__WINDOWS__) /* __declspec works in BC++ 5 and later, Watcom C++ 11.0 and later as well as VC++ and gcc @@ -51,9 +54,6 @@ #elif defined(__CYGWIN__) # define WXEXPORT __declspec(dllexport) # define WXIMPORT __declspec(dllimport) -#elif defined(HAVE_VISIBILITY) -# define WXEXPORT __attribute__ ((visibility("default"))) -# define WXIMPORT __attribute__ ((visibility("default"))) #endif /* for other platforms/compilers we don't anything */ -- 2.47.2