summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-01-23 12:27:10 +0000
committerJosé Fonseca <jfonseca@vmware.com>2011-07-11 20:05:24 +0100
commit7a5f36a665bb06546ffcfadb2e2ed75f38dc84c8 (patch)
tree29e31ae1768a98921d4a20e766c2d7ff825c2f99
parent8b2c5b3f0098028a1f627447fd2eb87277b4e13c (diff)
downloadglut-7a5f36a665bb06546ffcfadb2e2ed75f38dc84c8.tar.gz
glut: Do not rely on GLAPIENTRY symbol.
GLEW does some defining/undefining of GLAPIENTRY making it unreliable. GLEW should also be fixed, but removing the dependency on this symbol. This also restores the ability for GLUT to be used with -fvisibility=hidden. The downside of this is that ld warns of: Warning: size of symbol `glutBitmapXXXXX' changed from 4 in glut_xxx.o to 16 in glut_xxxx.o Due to the fonts being declared void * (*4 bytes), but defined as 16byte static structure. I'll fix that in a later commit. See also commits: - f321f16e83cae427d6496c11955fd1c898d0395c - d084982240bafba0169c4a6cacf02d45d6cfd8c1
-rw-r--r--include/GL/glut.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/GL/glut.h b/include/GL/glut.h
index 45fed43..a3add59 100644
--- a/include/GL/glut.h
+++ b/include/GL/glut.h
@@ -200,10 +200,17 @@ WGLAPI int GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *);
# pragma warning( pop )
#endif
-#else /* _WIN32 not defined */
+#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
-/* Define GLUTAPIENTRY and GLUTCALLBACK to nothing if we aren't on Win32. */
-# define GLUTAPIENTRY GLAPIENTRY
+# define GLUTAPIENTRY
+# define GLUTAPIENTRYV
+# define GLUTCALLBACK
+# define GLUTAPI __attribute__((visibility("default")))
+
+#else
+
+/* Define GLUTAPIENTRY and GLUTCALLBACK to nothing */
+# define GLUTAPIENTRY
# define GLUTAPIENTRYV
# define GLUTCALLBACK
# define GLUTAPI extern