Revision
292
Author
jeremyhu@freedesktop.org
Date
2009-03-07 06:15:44 -0800 (Sat, 07 Mar 2009)

Log Message

Default to using Version A of OpenGL.framework to make us more compatible if the major version of OpenGL.framework changes out from under us.  Allow a OPENGL_FRAMEWORK_PATH environment variable to choose our framework

Modified Paths

Diff

Modified: AppleSGLX/trunk/apple_cgl.c (291 => 292)


--- AppleSGLX/trunk/apple_cgl.c	2009-03-07 09:21:53 UTC (rev 291)
+++ AppleSGLX/trunk/apple_cgl.c	2009-03-07 14:15:44 UTC (rev 292)
@@ -36,7 +36,7 @@
 #include "apple_glx.h"
 
 #ifndef OPENGL_FRAMEWORK_PATH
-#define OPENGL_FRAMEWORK_PATH "/System/Library/Frameworks/OpenGL.framework/OpenGL"
+#define OPENGL_FRAMEWORK_PATH "/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL"
 #endif
 
 static void *dl_handle = NULL;
@@ -61,17 +61,23 @@
 void apple_cgl_init(void) {
     void *h;
     GLint major = 0, minor = 0;
+    const char *opengl_framework_path;
     
     if(initialized)
 	return;
+    
+    opengl_framework_path = getenv("OPENGL_FRAMEWORK_PATH");
+    if(!opengl_framework_path) {
+        opengl_framework_path = OPENGL_FRAMEWORK_PATH;
+    }
 
     (void)dlerror(); /*drain dlerror*/
-    h = dlopen(OPENGL_FRAMEWORK_PATH, RTLD_NOW);
+    h = dlopen(opengl_framework_path, RTLD_NOW);
 
     if(NULL == h) {
-	fprintf(stderr, "error: unable to dlopen " OPENGL_FRAMEWORK_PATH " : " "%s\n",
-		dlerror());
-	abort();
+        fprintf(stderr, "error: unable to dlopen %s : %s\n", opengl_framework_path,
+                dlerror());
+        abort();
     }
 
     dl_handle = h;