glut: Use a new define GLUT_STATIC to distinguish static builds.
authorJosé Fonseca <jfonseca@vmware.com>
Sat, 24 Jan 2009 13:52:02 +0000 (13:52 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Sat, 24 Jan 2009 13:52:02 +0000 (13:52 +0000)
_DLL is defined by MSVC when building against a DLL version of the CRT
library. It bears no relation to whether we are building a DLL or not. That
is, we can build a DLL against a static CRT, or a static lib against a
dynamicaly linked CRT. See more detail at
http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx

This gets DLL version of glut linking correctly both with MinGW and MSVC.

PS: GL/gl.h (and others) must be fixed too.

include/GL/glut.h

index 6f877f3..f574f1d 100644 (file)
@@ -109,9 +109,9 @@ extern _CRTIMP void __cdecl exit(int);
 #endif
 
 /* GLUT API entry point declarations for Win32. */
-#if (defined(BUILD_GLUT32) || defined(GLUT_BUILDING_LIB)) && defined(_DLL)
+#if (defined(BUILD_GLUT32) || defined(GLUT_BUILDING_LIB)) && !defined(GLUT_STATIC)
 #      define GLUTAPI __declspec(dllexport)
-#elif defined(_DLL)
+#elif !defined(GLUT_STATIC)
 #   define GLUTAPI __declspec(dllimport)
 #else
 #      define GLUTAPI extern