// Prevent including system's glext.h
#define __glext_h_
+// Some functions take GLenum disguised as GLint. Apple noticed and fixed it
+// in the Mac OS X 10.6.x gl.h headers. Regardless, C++ typechecking rules
+// force the wrappers to match the prototype precisely.
+#if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_7)
+#define GLenum_int GLenum
+#else
+#define GLenum_int GLint
+#endif
+
#if defined(_WIN32)
#include <OpenGL/CGLIOSurface.h>
#include <OpenGL/CGLDevice.h>
+#ifndef CGL_VERSION_1_3
+#define kCGLPFAOpenGLProfile 99
+#define kCGLOGLPVersion_Legacy 0x1000
+#define kCGLOGLPVersion_3_2_Core 0x3200
+#endif
+
extern "C" {
-typedef int CGSConnectionID;
+// From http://www.opensource.apple.com/source/gdb/gdb-954/libcheckpoint/cpcg.c
+typedef void * CGSConnectionID;
typedef int CGSWindowID;
typedef int CGSSurfaceID;
#include <GL/glx.h>
#include "glext/glxext.h"
-/* Prevent collision with Trace::Bool */
+/* Prevent collision with trace::Bool */
#undef Bool
#endif