Bug #2477: Make GLU/GLw/glut build properly even with -fvisibility=hidden.
authorAdam Jackson <ajax@freedesktop.org>
Tue, 8 Feb 2005 05:46:53 +0000 (05:46 +0000)
committerAdam Jackson <ajax@freedesktop.org>
Tue, 8 Feb 2005 05:46:53 +0000 (05:46 +0000)
include/GL/gl.h
include/GL/glut.h
src/glw/GLwDrawA.h
src/glw/GLwDrawAP.h

index f910c3221aaef3b7994615c1d5937eeb70b44a70..1426df481c2b11e6153730234b0d830968be7838 100644 (file)
@@ -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__)
index c1b78aa4e59873f98c477c612e2aba0f6e39144a..2e5be8a77c2ef14908d5cc6061fc47c34fde5496 100644 (file)
@@ -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
index a62852c260f1b2ae44d4bc2d2b9104041b5606b5..4a381ac38cc09899d9837e9ff6f6e41200459bca 100644 (file)
@@ -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 
 
index f1217019541f8349ef900a307e28b1ecb3f2ff9e..031531b7e6e12bd74a2644e81f60937f9511da4c 100644 (file)
@@ -59,7 +59,7 @@ typedef struct _GLwMDrawingAreaClassRec {
   } GLwMDrawingAreaClassRec;
 
 
-extern GLwMDrawingAreaClassRec glwMDrawingAreaClassRec;
+GLAPI extern GLwMDrawingAreaClassRec glwMDrawingAreaClassRec;
 
 
 /* XT */