35 # include <GL/wglew.h>
36 #elif !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))
37 # include <GL/glxew.h>
44 # define glewGetContext() ctx
46 # define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx
47 # define GLEW_CONTEXT_ARG_VAR_INIT ctx
48 # define wglewGetContext() ctx
49 # define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx
50 # define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx
52 # define GLEW_CONTEXT_ARG_DEF_INIT void
53 # define GLEW_CONTEXT_ARG_VAR_INIT
54 # define glxewGetContext() ctx
55 # define GLXEW_CONTEXT_ARG_DEF_INIT void
56 # define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx
58 # define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx
60 # define GLEW_CONTEXT_ARG_DEF_INIT void
61 # define GLEW_CONTEXT_ARG_VAR_INIT
62 # define GLEW_CONTEXT_ARG_DEF_LIST void
63 # define WGLEW_CONTEXT_ARG_DEF_INIT void
64 # define WGLEW_CONTEXT_ARG_DEF_LIST void
65 # define GLXEW_CONTEXT_ARG_DEF_INIT void
66 # define GLXEW_CONTEXT_ARG_DEF_LIST void
69 #if defined(__sgi) || defined (__sun) || defined(GLEW_APPLE_GLX)
76 static void*
h =
NULL;
81 if ((h = dlopen(
NULL, RTLD_LAZY | RTLD_LOCAL)) ==
NULL)
return NULL;
82 gpa = dlsym(h,
"glXGetProcAddress");
88 return dlsym(h, (
const char*)name);
92 #if defined(__APPLE__)
95 #include <AvailabilityMacros.h>
97 #ifdef MAC_OS_X_VERSION_10_3
108 image = dlopen(
"libRegal.dylib", RTLD_LAZY);
110 image = dlopen(
"/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY);
113 if( !image )
return NULL;
114 addr = dlsym(image, (
const char*)name);
115 if( addr )
return addr;
116 #ifdef GLEW_APPLE_GLX
117 return dlGetProcAddress( name );
124 #include <mach-o/dyld.h>
126 void* NSGLGetProcAddress (
const GLubyte *name)
128 static const struct mach_header* image =
NULL;
134 image = NSAddImage(
"libRegal.dylib", NSADDIMAGE_OPTION_RETURN_ON_ERROR);
136 image = NSAddImage(
"/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", NSADDIMAGE_OPTION_RETURN_ON_ERROR);
140 symbolName =
malloc(strlen((
const char*)name) + 2);
141 strcpy(symbolName+1, (
const char*)name);
146 symbol = image ? NSLookupSymbolInImage(image, symbolName, NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) :
NULL;
148 if( symbol )
return NSAddressOfSymbol(symbol);
149 #ifdef GLEW_APPLE_GLX
150 return dlGetProcAddress( name );
162 # define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
163 #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
164 # define glewGetProcAddress(name) NSGLGetProcAddress(name)
165 #elif defined(__sgi) || defined(__sun)
166 # define glewGetProcAddress(name) dlGetProcAddress(name)
167 #elif defined(__ANDROID__)
168 # define glewGetProcAddress(name) NULL
169 #elif defined(__native_client__)
170 # define glewGetProcAddress(name) NULL
172 # define glewGetProcAddress(name) (*glXGetProcAddressARB)(name)
178 #define CONST_CAST(x) (*(GLboolean*)&x)
187 if (s ==
NULL)
return 0;
188 while (s[i] !=
'\0') i++;
195 if (s ==
NULL)
return 0;
196 while (s[i] !=
'\0' && s[i] != c) i++;
197 return (s[i] ==
'\0' || s[i] == c) ? i : 0;
205 while (i < n && a[i] !=
'\0' && b[i] !=
'\0' && a[i] == b[i]) i++;
211 while (*na > 0 && (**a ==
' ' || **a ==
'\n' || **a ==
'\r' || **a ==
'\t'))
219 while (i < nb && (*a)+i !=
NULL && b+i !=
NULL && (*a)[i] == b[i]) i++;
235 while (i < nb && (*a)+i !=
NULL && b+i !=
NULL && (*a)[i] == b[i]) i++;
251 while (i < nb && (*a)+i !=
NULL && b+i !=
NULL && (*a)[i] == b[i]) i++;
252 if (i == nb && (*na == nb || (*a)[i] ==
' ' || (*a)[i] ==
'\n' || (*a)[i] ==
'\r' || (*a)[i] ==
'\t'))
282 #if !defined(_WIN32) || !defined(GLEW_MX)
2707 #if !defined(GLEW_MX)