egl: Fix breakage from -fvisibility=hidden.
authorChia-I Wu <olvaffe@gmail.com>
Tue, 5 Jan 2010 13:39:15 +0000 (21:39 +0800)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 5 Jan 2010 16:23:52 +0000 (11:23 -0500)
Mark EGL API and driver functions as PUBLIC.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
12 files changed:
include/EGL/eglplatform.h
src/egl/main/eglcompiler.h
src/egl/main/eglconfig.h
src/egl/main/eglconfigutil.h
src/egl/main/eglcontext.h
src/egl/main/eglcurrent.h
src/egl/main/egldisplay.h
src/egl/main/egldriver.h
src/egl/main/egllog.h
src/egl/main/eglmode.h
src/egl/main/eglscreen.h
src/egl/main/eglsurface.h

index 9e83b600035e8774f01c1e94e384e982c1419784..09abb5d844a360056a080492ad26af9d05a48eee 100644 (file)
 #include <stdint.h>
 #endif
 
+#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
+#  define EGLAPI __attribute__((visibility("default")))
+#  define EGLAPIENTRY
+#endif
+
 /* Macros used in EGL function prototype declarations.
  *
  * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
index 6b639b75c6632076fd4c947875a5a59c9e33fe1f..f7c93f14ce22072f99c8ba04197511253c9dbdf3 100644 (file)
 #endif
 
 
+/**
+ * Function visibility
+ */
+#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
+#  define PUBLIC __attribute__((visibility("default")))
+#else
+#  define PUBLIC
+#endif
+
+
 #endif /* EGLCOMPILER_INCLUDED */
index 6b8a259984e04f2e1efb3be2674bccf46c384eaa..799bf4ee2424e557a18d0195bc476e6b6633e4a1 100644 (file)
@@ -91,11 +91,11 @@ _eglSetConfigAttrib(_EGLConfig *conf, EGLint attr, EGLint val)
 }
 
 
-extern void
+PUBLIC void
 _eglInitConfig(_EGLConfig *config, EGLint id);
 
 
-extern EGLConfig
+PUBLIC EGLConfig
 _eglAddConfig(_EGLDisplay *dpy, _EGLConfig *conf);
 
 
@@ -144,24 +144,24 @@ _eglGetConfigHandle(_EGLConfig *conf)
 }
 
 
-extern EGLBoolean
+PUBLIC EGLBoolean
 _eglValidateConfig(const _EGLConfig *conf, EGLBoolean for_matching);
 
 
-extern EGLBoolean
+PUBLIC EGLBoolean
 _eglMatchConfig(const _EGLConfig *conf, const _EGLConfig *criteria);
 
 
-extern EGLBoolean
+PUBLIC EGLBoolean
 _eglParseConfigAttribList(_EGLConfig *conf, const EGLint *attrib_list);
 
 
-extern EGLint
+PUBLIC EGLint
 _eglCompareConfigs(const _EGLConfig *conf1, const _EGLConfig *conf2,
                    const _EGLConfig *criteria, EGLBoolean compare_id);
 
 
-extern void
+PUBLIC void
 _eglSortConfigs(const _EGLConfig **configs, EGLint count,
                 EGLint (*compare)(const _EGLConfig *, const _EGLConfig *,
                                   void *),
index 8c923ee206a1abe3430e422cba0aaa3be819a6f3..9f8906dedb65c8f99e2a81d92f957789c4cbd883 100644 (file)
@@ -7,16 +7,16 @@
 #include "eglconfig.h"
 
 
-extern void
+PUBLIC void
 _eglConfigToContextModesRec(const _EGLConfig *config, __GLcontextModes *mode);
 
 
-extern EGLBoolean
+PUBLIC EGLBoolean
 _eglConfigFromContextModesRec(_EGLConfig *conf, const __GLcontextModes *m,
                               EGLint conformant, EGLint renderable_type);
 
 
-extern EGLBoolean
+PUBLIC EGLBoolean
 _eglFillInConfigs( _EGLConfig *configs,
                    EGLenum fb_format, EGLenum fb_type,
                    const uint8_t * depth_bits, const uint8_t * stencil_bits,
index 45c7b4717b7ab3bccc84e77337bee943ce5c2495..cb9e3f4a892584efc419981c188e71f0928f55ce 100644 (file)
@@ -30,7 +30,7 @@ struct _egl_context
 };
 
 
-extern EGLBoolean
+PUBLIC EGLBoolean
 _eglInitContext(_EGLDriver *drv, _EGLContext *ctx,
                 _EGLConfig *config, const EGLint *attrib_list);
 
@@ -47,7 +47,7 @@ extern EGLBoolean
 _eglQueryContext(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx, EGLint attribute, EGLint *value);
 
 
-extern EGLBoolean
+PUBLIC EGLBoolean
 _eglMakeCurrent(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw, _EGLSurface *read, _EGLContext *ctx);
 
 
index 9503e0aba0886d30f088be67dd687e6d7fa8365c..c4478b389146049ecab3d4cd448cda982ff458b6 100644 (file)
@@ -60,7 +60,7 @@ _eglConvertApiFromIndex(EGLint idx)
 }
 
 
-extern _EGLThreadInfo *
+PUBLIC _EGLThreadInfo *
 _eglGetCurrentThread(void);
 
 
@@ -72,19 +72,19 @@ extern EGLBoolean
 _eglIsCurrentThreadDummy(void);
 
 
-extern _EGLContext *
+PUBLIC _EGLContext *
 _eglGetCurrentContext(void);
 
 
-extern _EGLDisplay *
+PUBLIC _EGLDisplay *
 _eglGetCurrentDisplay(void);
 
 
-extern _EGLSurface *
+PUBLIC _EGLSurface *
 _eglGetCurrentSurface(EGLint readdraw);
 
 
-extern EGLBoolean
+PUBLIC EGLBoolean
 _eglError(EGLint errCode, const char *msg);
 
 
index ea4e35a8b3f6a84e7b1467abdcdc9b5f002d1a66..4f619e5371043672b54d8121a6e13363ac53a7e1 100644 (file)
@@ -78,11 +78,11 @@ extern _EGLDisplay *
 _eglFindDisplay(NativeDisplayType nativeDisplay);
 
 
-extern void
+PUBLIC void
 _eglReleaseDisplayResources(_EGLDriver *drv, _EGLDisplay *dpy);
 
 
-extern void
+PUBLIC void
 _eglCleanupDisplay(_EGLDisplay *disp);
 
 
index 6c848eb35eab5f2fe72d7bd08c936ff5c68c8861..59bd1954aa87585e09fef23e305e44ee3230c13f 100644 (file)
@@ -25,7 +25,8 @@ struct _egl_driver
 };
 
 
-extern _EGLDriver *_eglMain(const char *args);
+PUBLIC _EGLDriver *
+_eglMain(const char *args);
 
 
 extern const char *
@@ -48,11 +49,11 @@ extern _EGLDriver *
 _eglLookupDriver(EGLDisplay d);
 
 
-extern void
+PUBLIC void
 _eglInitDriverFallbacks(_EGLDriver *drv);
 
 
-extern EGLint
+PUBLIC EGLint
 _eglFindAPIs(void);
 
 
index 83c8bb72a6e5580b96c91cb99565da5e55361f29..3a99bfea4b759da8b2a01ec7a68d3c723cf3ecb6 100644 (file)
 typedef void (*_EGLLogProc)(EGLint level, const char *msg);
 
 
-extern void
+PUBLIC void
 _eglSetLogProc(_EGLLogProc logger);
 
 
-extern void
+PUBLIC void
 _eglSetLogLevel(EGLint level);
 
 
-extern void
+PUBLIC void
 _eglLog(EGLint level, const char *fmtStr, ...);
 
 
index af7c2c56d33c407f3a7a6f97d5b3a3c5ad1ee34d..a089a5e194349770ab45ee9083199468d5a4aefb 100644 (file)
@@ -29,7 +29,7 @@ extern _EGLMode *
 _eglLookupMode(EGLModeMESA mode, _EGLDisplay *dpy);
 
 
-extern _EGLMode *
+PUBLIC _EGLMode *
 _eglAddNewMode(_EGLScreen *screen, EGLint width, EGLint height,
                EGLint refreshRate, const char *name);
 
index 8860a2aa7f699104d27df12782498502577e2a81..d52e5388c3426f0e2e923c2cc3b2be3ed7b65c52 100644 (file)
@@ -30,7 +30,7 @@ extern EGLScreenMESA
 _eglAllocScreenHandle(void);
 
 
-extern void
+PUBLIC void
 _eglInitScreen(_EGLScreen *screen);
 
 
@@ -38,7 +38,7 @@ extern _EGLScreen *
 _eglLookupScreen(EGLScreenMESA screen, _EGLDisplay *dpy);
 
 
-extern void
+PUBLIC void
 _eglAddScreen(_EGLDisplay *display, _EGLScreen *screen);
 
 
@@ -83,7 +83,7 @@ extern void
 _eglDestroyScreenModes(_EGLScreen *scrn);
 
 
-extern void
+PUBLIC void
 _eglDestroyScreen(_EGLScreen *scrn);
 
 
index b75fa9c3686643f5641ddb8337fd47180afa0b0b..dacdf7e63ce742e661bb9341b2e13a403e69cf64 100644 (file)
@@ -40,7 +40,7 @@ struct _egl_surface
 };
 
 
-extern EGLBoolean
+PUBLIC EGLBoolean
 _eglInitSurface(_EGLDriver *drv, _EGLSurface *surf, EGLint type,
                 _EGLConfig *config, const EGLint *attrib_list);