#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__)
#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
#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
} GLwMDrawingAreaClassRec;
-extern GLwMDrawingAreaClassRec glwMDrawingAreaClassRec;
+GLAPI extern GLwMDrawingAreaClassRec glwMDrawingAreaClassRec;
/* XT */