Commit 836c1304903cc1efcb666ab8b2a6fe9ff8938ee8
1 parent
1241cdd4
Exists in
master
and in
5 other branches
Melhorando detecção dos atributos de exportação
Showing
2 changed files
with
21 additions
and
15 deletions
Show diff stats
configure.ac
| @@ -214,20 +214,21 @@ rm -f conftest.$ac_objext conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl | @@ -214,20 +214,21 @@ rm -f conftest.$ac_objext conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl | ||
| 214 | 214 | ||
| 215 | AC_MSG_CHECKING(for GNUC visibility attribute) | 215 | AC_MSG_CHECKING(for GNUC visibility attribute) |
| 216 | GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([ | 216 | GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([ |
| 217 | -void | ||
| 218 | -__attribute__ ((visibility ("hidden"))) | ||
| 219 | - f_hidden (void) | ||
| 220 | -{ | ||
| 221 | -} | ||
| 222 | -void | ||
| 223 | -__attribute__ ((visibility ("default"))) | ||
| 224 | - f_default (void) | ||
| 225 | -{ | ||
| 226 | -} | 217 | + |
| 218 | +#define LIB3270_INTERNAL extern __attribute__((visibility("hidden"))) | ||
| 219 | +#define LIB3270_EXPORT extern __attribute__((visibility("default"))) | ||
| 220 | + | ||
| 221 | +LIB3270_INTERNAL void f_hidden(void); | ||
| 222 | +LIB3270_EXPORT void f_export(void); | ||
| 223 | + | ||
| 224 | +void f_hidden (void) { } | ||
| 225 | + | ||
| 226 | +void f_export (void) { } | ||
| 227 | + | ||
| 227 | int main (int argc, char **argv) | 228 | int main (int argc, char **argv) |
| 228 | { | 229 | { |
| 229 | f_hidden(); | 230 | f_hidden(); |
| 230 | - f_internal(); | 231 | + f_export(); |
| 231 | return 0; | 232 | return 0; |
| 232 | } | 233 | } |
| 233 | ])],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no) | 234 | ])],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no) |
src/include/lib3270.h
| @@ -284,20 +284,25 @@ | @@ -284,20 +284,25 @@ | ||
| 284 | 284 | ||
| 285 | #if defined( ANDROID ) | 285 | #if defined( ANDROID ) |
| 286 | 286 | ||
| 287 | - #define LIB3270_EXPORT extern __attribute__((visibility("hidden"))) | 287 | + #define LIB3270_INTERNAL extern __attribute__((visibility("hidden"))) |
| 288 | + #define LIB3270_EXPORT extern __attribute__((visibility("hidden"))) | ||
| 288 | 289 | ||
| 289 | #elif defined(_WIN32) | 290 | #elif defined(_WIN32) |
| 290 | 291 | ||
| 291 | #include <windows.h> | 292 | #include <windows.h> |
| 292 | - #define LIB3270_EXPORT extern __declspec (dllexport) | 293 | + |
| 294 | + #define LIB3270_INTERNAL extern | ||
| 295 | + #define LIB3270_EXPORT extern __declspec (dllexport) | ||
| 293 | 296 | ||
| 294 | #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) | 297 | #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) |
| 295 | 298 | ||
| 296 | - #define LIB3270_EXPORT extern | 299 | + #define LIB3270_INTERNAL extern |
| 300 | + #define LIB3270_EXPORT extern | ||
| 297 | 301 | ||
| 298 | #elif defined (HAVE_GNUC_VISIBILITY) | 302 | #elif defined (HAVE_GNUC_VISIBILITY) |
| 299 | 303 | ||
| 300 | - #define LIB3270_EXPORT extern __attribute__((visibility("default"))) | 304 | + #define LIB3270_INTERNAL extern __attribute__((visibility("hidden"))) |
| 305 | + #define LIB3270_EXPORT extern __attribute__((visibility("default"))) | ||
| 301 | 306 | ||
| 302 | #else | 307 | #else |
| 303 | 308 |