From: José Fonseca Date: Fri, 23 Jan 2009 12:27:10 +0000 (+0000) Subject: glut: Do not rely on GLAPIENTRY symbol. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d150e6a2e677a49813fdd5422b14ebdc59a904e9;p=mesa.git 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 --- diff --git a/include/GL/glut.h b/include/GL/glut.h index 45fed435492..a3add59a4f1 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