diff --git a/configure.ac b/configure.ac index 427d2fb..b5080b3 100644 --- a/configure.ac +++ b/configure.ac @@ -214,20 +214,21 @@ rm -f conftest.$ac_objext conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl AC_MSG_CHECKING(for GNUC visibility attribute) GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([ -void -__attribute__ ((visibility ("hidden"))) - f_hidden (void) -{ -} -void -__attribute__ ((visibility ("default"))) - f_default (void) -{ -} + +#define LIB3270_INTERNAL extern __attribute__((visibility("hidden"))) +#define LIB3270_EXPORT extern __attribute__((visibility("default"))) + +LIB3270_INTERNAL void f_hidden(void); +LIB3270_EXPORT void f_export(void); + +void f_hidden (void) { } + +void f_export (void) { } + int main (int argc, char **argv) { f_hidden(); - f_internal(); + f_export(); return 0; } ])],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no) diff --git a/src/include/lib3270.h b/src/include/lib3270.h index af4a8ef..f09cad7 100644 --- a/src/include/lib3270.h +++ b/src/include/lib3270.h @@ -284,20 +284,25 @@ #if defined( ANDROID ) - #define LIB3270_EXPORT extern __attribute__((visibility("hidden"))) + #define LIB3270_INTERNAL extern __attribute__((visibility("hidden"))) + #define LIB3270_EXPORT extern __attribute__((visibility("hidden"))) #elif defined(_WIN32) #include - #define LIB3270_EXPORT extern __declspec (dllexport) + + #define LIB3270_INTERNAL extern + #define LIB3270_EXPORT extern __declspec (dllexport) #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) - #define LIB3270_EXPORT extern + #define LIB3270_INTERNAL extern + #define LIB3270_EXPORT extern #elif defined (HAVE_GNUC_VISIBILITY) - #define LIB3270_EXPORT extern __attribute__((visibility("default"))) + #define LIB3270_INTERNAL extern __attribute__((visibility("hidden"))) + #define LIB3270_EXPORT extern __attribute__((visibility("default"))) #else -- libgit2 0.21.2