summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Jackson <[email protected]>2005-02-08 05:46:53 +0000
committerAdam Jackson <[email protected]>2005-02-08 05:46:53 +0000
commitd084982240bafba0169c4a6cacf02d45d6cfd8c1 (patch)
tree691f990d4581a5367599bc44718d12303b27da87
parent4885a9eb207655ac23b64274034e1d51d2c8e6ce (diff)
Bug #2477: Make GLU/GLw/glut build properly even with -fvisibility=hidden.
-rw-r--r--include/GL/gl.h3
-rw-r--r--include/GL/glut.h2
-rw-r--r--src/glw/GLwDrawA.h4
-rw-r--r--src/glw/GLwDrawAP.h2
4 files changed, 7 insertions, 4 deletions
diff --git a/include/GL/gl.h b/include/GL/gl.h
index f910c3221aa..1426df481c2 100644
--- a/include/GL/gl.h
+++ b/include/GL/gl.h
@@ -62,6 +62,9 @@
#elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows opengl32 */
# define GLAPI extern
# define GLAPIENTRY __stdcall
+#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
+# define GLAPI __attribute__((visibility("default")))
+# define GLAPIENTRY
#endif /* WIN32 && !CYGWIN */
#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
diff --git a/include/GL/glut.h b/include/GL/glut.h
index c1b78aa4e59..2e5be8a77c2 100644
--- a/include/GL/glut.h
+++ b/include/GL/glut.h
@@ -193,7 +193,7 @@ WGLAPI int GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *);
#else /* _WIN32 not defined */
/* Define GLUTAPIENTRY and GLUTCALLBACK to nothing if we aren't on Win32. */
-# define GLUTAPIENTRY
+# define GLUTAPIENTRY GLAPI
# define GLUTAPIENTRYV
# define GLUT_APIENTRY_DEFINED
# define GLUTCALLBACK
diff --git a/src/glw/GLwDrawA.h b/src/glw/GLwDrawA.h
index a62852c260f..4a381ac38cc 100644
--- a/src/glw/GLwDrawA.h
+++ b/src/glw/GLwDrawA.h
@@ -182,9 +182,9 @@ extern void GLwDrawingAreaSwapBuffers(Widget w);
#ifdef __GLX_MOTIF
#ifdef _NO_PROTO
-extern Widget GLwCreateMDrawingArea();
+GLAPI extern Widget GLwCreateMDrawingArea();
#else
-extern Widget GLwCreateMDrawingArea(Widget parent,char *name,ArgList arglist,Cardinal argcount);
+GLAPI extern Widget GLwCreateMDrawingArea(Widget parent,char *name,ArgList arglist,Cardinal argcount);
#endif
#endif
diff --git a/src/glw/GLwDrawAP.h b/src/glw/GLwDrawAP.h
index f1217019541..031531b7e6e 100644
--- a/src/glw/GLwDrawAP.h
+++ b/src/glw/GLwDrawAP.h
@@ -59,7 +59,7 @@ typedef struct _GLwMDrawingAreaClassRec {
} GLwMDrawingAreaClassRec;
-extern GLwMDrawingAreaClassRec glwMDrawingAreaClassRec;
+GLAPI extern GLwMDrawingAreaClassRec glwMDrawingAreaClassRec;
/* XT */