Commit 836c1304903cc1efcb666ab8b2a6fe9ff8938ee8

Authored by perry.werneck@gmail.com
1 parent 1241cdd4

Melhorando detecção dos atributos de exportação

Showing 2 changed files with 21 additions and 15 deletions   Show diff stats
@@ -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