egl: Fix breakage from -fvisibility=hidden.

Mark EGL API and driver functions as PUBLIC.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
This commit is contained in:
Chia-I Wu
2010-01-05 21:39:15 +08:00
committed by Kristian Høgsberg
parent ae44b92f61
commit 897cb8950a
12 changed files with 46 additions and 30 deletions

View File

@@ -18,6 +18,11 @@
#include <stdint.h> #include <stdint.h>
#endif #endif
#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
# define EGLAPI __attribute__((visibility("default")))
# define EGLAPIENTRY
#endif
/* Macros used in EGL function prototype declarations. /* Macros used in EGL function prototype declarations.
* *
* EGLAPI return-type EGLAPIENTRY eglFunction(arguments); * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);

View File

@@ -61,4 +61,14 @@
#endif #endif
/**
* Function visibility
*/
#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
# define PUBLIC __attribute__((visibility("default")))
#else
# define PUBLIC
#endif
#endif /* EGLCOMPILER_INCLUDED */ #endif /* EGLCOMPILER_INCLUDED */

View File

@@ -91,11 +91,11 @@ _eglSetConfigAttrib(_EGLConfig *conf, EGLint attr, EGLint val)
} }
extern void PUBLIC void
_eglInitConfig(_EGLConfig *config, EGLint id); _eglInitConfig(_EGLConfig *config, EGLint id);
extern EGLConfig PUBLIC EGLConfig
_eglAddConfig(_EGLDisplay *dpy, _EGLConfig *conf); _eglAddConfig(_EGLDisplay *dpy, _EGLConfig *conf);
@@ -144,24 +144,24 @@ _eglGetConfigHandle(_EGLConfig *conf)
} }
extern EGLBoolean PUBLIC EGLBoolean
_eglValidateConfig(const _EGLConfig *conf, EGLBoolean for_matching); _eglValidateConfig(const _EGLConfig *conf, EGLBoolean for_matching);
extern EGLBoolean PUBLIC EGLBoolean
_eglMatchConfig(const _EGLConfig *conf, const _EGLConfig *criteria); _eglMatchConfig(const _EGLConfig *conf, const _EGLConfig *criteria);
extern EGLBoolean PUBLIC EGLBoolean
_eglParseConfigAttribList(_EGLConfig *conf, const EGLint *attrib_list); _eglParseConfigAttribList(_EGLConfig *conf, const EGLint *attrib_list);
extern EGLint PUBLIC EGLint
_eglCompareConfigs(const _EGLConfig *conf1, const _EGLConfig *conf2, _eglCompareConfigs(const _EGLConfig *conf1, const _EGLConfig *conf2,
const _EGLConfig *criteria, EGLBoolean compare_id); const _EGLConfig *criteria, EGLBoolean compare_id);
extern void PUBLIC void
_eglSortConfigs(const _EGLConfig **configs, EGLint count, _eglSortConfigs(const _EGLConfig **configs, EGLint count,
EGLint (*compare)(const _EGLConfig *, const _EGLConfig *, EGLint (*compare)(const _EGLConfig *, const _EGLConfig *,
void *), void *),

View File

@@ -7,16 +7,16 @@
#include "eglconfig.h" #include "eglconfig.h"
extern void PUBLIC void
_eglConfigToContextModesRec(const _EGLConfig *config, __GLcontextModes *mode); _eglConfigToContextModesRec(const _EGLConfig *config, __GLcontextModes *mode);
extern EGLBoolean PUBLIC EGLBoolean
_eglConfigFromContextModesRec(_EGLConfig *conf, const __GLcontextModes *m, _eglConfigFromContextModesRec(_EGLConfig *conf, const __GLcontextModes *m,
EGLint conformant, EGLint renderable_type); EGLint conformant, EGLint renderable_type);
extern EGLBoolean PUBLIC EGLBoolean
_eglFillInConfigs( _EGLConfig *configs, _eglFillInConfigs( _EGLConfig *configs,
EGLenum fb_format, EGLenum fb_type, EGLenum fb_format, EGLenum fb_type,
const uint8_t * depth_bits, const uint8_t * stencil_bits, const uint8_t * depth_bits, const uint8_t * stencil_bits,

View File

@@ -30,7 +30,7 @@ struct _egl_context
}; };
extern EGLBoolean PUBLIC EGLBoolean
_eglInitContext(_EGLDriver *drv, _EGLContext *ctx, _eglInitContext(_EGLDriver *drv, _EGLContext *ctx,
_EGLConfig *config, const EGLint *attrib_list); _EGLConfig *config, const EGLint *attrib_list);
@@ -47,7 +47,7 @@ extern EGLBoolean
_eglQueryContext(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx, EGLint attribute, EGLint *value); _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); _eglMakeCurrent(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw, _EGLSurface *read, _EGLContext *ctx);

View File

@@ -60,7 +60,7 @@ _eglConvertApiFromIndex(EGLint idx)
} }
extern _EGLThreadInfo * PUBLIC _EGLThreadInfo *
_eglGetCurrentThread(void); _eglGetCurrentThread(void);
@@ -72,19 +72,19 @@ extern EGLBoolean
_eglIsCurrentThreadDummy(void); _eglIsCurrentThreadDummy(void);
extern _EGLContext * PUBLIC _EGLContext *
_eglGetCurrentContext(void); _eglGetCurrentContext(void);
extern _EGLDisplay * PUBLIC _EGLDisplay *
_eglGetCurrentDisplay(void); _eglGetCurrentDisplay(void);
extern _EGLSurface * PUBLIC _EGLSurface *
_eglGetCurrentSurface(EGLint readdraw); _eglGetCurrentSurface(EGLint readdraw);
extern EGLBoolean PUBLIC EGLBoolean
_eglError(EGLint errCode, const char *msg); _eglError(EGLint errCode, const char *msg);

View File

@@ -78,11 +78,11 @@ extern _EGLDisplay *
_eglFindDisplay(NativeDisplayType nativeDisplay); _eglFindDisplay(NativeDisplayType nativeDisplay);
extern void PUBLIC void
_eglReleaseDisplayResources(_EGLDriver *drv, _EGLDisplay *dpy); _eglReleaseDisplayResources(_EGLDriver *drv, _EGLDisplay *dpy);
extern void PUBLIC void
_eglCleanupDisplay(_EGLDisplay *disp); _eglCleanupDisplay(_EGLDisplay *disp);

View File

@@ -25,7 +25,8 @@ struct _egl_driver
}; };
extern _EGLDriver *_eglMain(const char *args); PUBLIC _EGLDriver *
_eglMain(const char *args);
extern const char * extern const char *
@@ -48,11 +49,11 @@ extern _EGLDriver *
_eglLookupDriver(EGLDisplay d); _eglLookupDriver(EGLDisplay d);
extern void PUBLIC void
_eglInitDriverFallbacks(_EGLDriver *drv); _eglInitDriverFallbacks(_EGLDriver *drv);
extern EGLint PUBLIC EGLint
_eglFindAPIs(void); _eglFindAPIs(void);

View File

@@ -12,15 +12,15 @@
typedef void (*_EGLLogProc)(EGLint level, const char *msg); typedef void (*_EGLLogProc)(EGLint level, const char *msg);
extern void PUBLIC void
_eglSetLogProc(_EGLLogProc logger); _eglSetLogProc(_EGLLogProc logger);
extern void PUBLIC void
_eglSetLogLevel(EGLint level); _eglSetLogLevel(EGLint level);
extern void PUBLIC void
_eglLog(EGLint level, const char *fmtStr, ...); _eglLog(EGLint level, const char *fmtStr, ...);

View File

@@ -29,7 +29,7 @@ extern _EGLMode *
_eglLookupMode(EGLModeMESA mode, _EGLDisplay *dpy); _eglLookupMode(EGLModeMESA mode, _EGLDisplay *dpy);
extern _EGLMode * PUBLIC _EGLMode *
_eglAddNewMode(_EGLScreen *screen, EGLint width, EGLint height, _eglAddNewMode(_EGLScreen *screen, EGLint width, EGLint height,
EGLint refreshRate, const char *name); EGLint refreshRate, const char *name);

View File

@@ -30,7 +30,7 @@ extern EGLScreenMESA
_eglAllocScreenHandle(void); _eglAllocScreenHandle(void);
extern void PUBLIC void
_eglInitScreen(_EGLScreen *screen); _eglInitScreen(_EGLScreen *screen);
@@ -38,7 +38,7 @@ extern _EGLScreen *
_eglLookupScreen(EGLScreenMESA screen, _EGLDisplay *dpy); _eglLookupScreen(EGLScreenMESA screen, _EGLDisplay *dpy);
extern void PUBLIC void
_eglAddScreen(_EGLDisplay *display, _EGLScreen *screen); _eglAddScreen(_EGLDisplay *display, _EGLScreen *screen);
@@ -83,7 +83,7 @@ extern void
_eglDestroyScreenModes(_EGLScreen *scrn); _eglDestroyScreenModes(_EGLScreen *scrn);
extern void PUBLIC void
_eglDestroyScreen(_EGLScreen *scrn); _eglDestroyScreen(_EGLScreen *scrn);

View File

@@ -40,7 +40,7 @@ struct _egl_surface
}; };
extern EGLBoolean PUBLIC EGLBoolean
_eglInitSurface(_EGLDriver *drv, _EGLSurface *surf, EGLint type, _eglInitSurface(_EGLDriver *drv, _EGLSurface *surf, EGLint type,
_EGLConfig *config, const EGLint *attrib_list); _EGLConfig *config, const EGLint *attrib_list);