| OLD | NEW |
| 1 /* | 1 /* |
| 2 ** The OpenGL Extension Wrangler Library | 2 ** The OpenGL Extension Wrangler Library |
| 3 ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> | 3 ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> |
| 4 ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> | 4 ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> |
| 5 ** Copyright (C) 2002, Lev Povalahev | 5 ** Copyright (C) 2002, Lev Povalahev |
| 6 ** All rights reserved. | 6 ** All rights reserved. |
| 7 ** | 7 ** |
| 8 ** Redistribution and use in source and binary forms, with or without | 8 ** Redistribution and use in source and binary forms, with or without |
| 9 ** modification, are permitted provided that the following conditions are met: | 9 ** modification, are permitted provided that the following conditions are met: |
| 10 ** | 10 ** |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 # define GLEW_CONTEXT_ARG_DEF_INIT void | 59 # define GLEW_CONTEXT_ARG_DEF_INIT void |
| 60 # define GLEW_CONTEXT_ARG_VAR_INIT | 60 # define GLEW_CONTEXT_ARG_VAR_INIT |
| 61 # define GLEW_CONTEXT_ARG_DEF_LIST void | 61 # define GLEW_CONTEXT_ARG_DEF_LIST void |
| 62 # define WGLEW_CONTEXT_ARG_DEF_INIT void | 62 # define WGLEW_CONTEXT_ARG_DEF_INIT void |
| 63 # define WGLEW_CONTEXT_ARG_DEF_LIST void | 63 # define WGLEW_CONTEXT_ARG_DEF_LIST void |
| 64 # define GLXEW_CONTEXT_ARG_DEF_INIT void | 64 # define GLXEW_CONTEXT_ARG_DEF_INIT void |
| 65 # define GLXEW_CONTEXT_ARG_DEF_LIST void | 65 # define GLXEW_CONTEXT_ARG_DEF_LIST void |
| 66 #endif /* GLEW_MX */ | 66 #endif /* GLEW_MX */ |
| 67 | 67 |
| 68 #if defined(__APPLE__) | 68 #if defined(__APPLE__) |
| 69 #include <mach-o/dyld.h> | 69 #include <dlfcn.h> |
| 70 #include <stdlib.h> | 70 #include <stdlib.h> |
| 71 #include <string.h> | 71 #include <string.h> |
| 72 | 72 |
| 73 void* NSGLGetProcAddress (const GLubyte *name) | 73 void* NSGLGetProcAddress (const GLubyte *name) |
| 74 { | 74 { |
| 75 static const struct mach_header* image = NULL; | 75 static void* image = NULL; |
| 76 NSSymbol symbol; | |
| 77 char* symbolName; | |
| 78 if (NULL == image) | 76 if (NULL == image) |
| 79 { | 77 { |
| 80 image = NSAddImage("/System/Library/Frameworks/OpenGL.framework/Versions/Cur
rent/OpenGL", NSADDIMAGE_OPTION_RETURN_ON_ERROR); | 78 image = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current
/OpenGL", RTLD_LAZY | RTLD_LOCAL); |
| 81 } | 79 } |
| 82 /* prepend a '_' for the Unix C symbol mangling convention */ | 80 return image ? dlsym(image, (const char*) name) : NULL; |
| 83 symbolName = malloc(strlen((const char*)name) + 2); | |
| 84 strcpy(symbolName+1, (const char*)name); | |
| 85 symbolName[0] = '_'; | |
| 86 symbol = NULL; | |
| 87 /* if (NSIsSymbolNameDefined(symbolName)) | |
| 88 » symbol = NSLookupAndBindSymbol(symbolName); */ | |
| 89 symbol = image ? NSLookupSymbolInImage(image, symbolName, NSLOOKUPSYMBOLINIMAG
E_OPTION_BIND | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) : NULL; | |
| 90 free(symbolName); | |
| 91 return symbol ? NSAddressOfSymbol(symbol) : NULL; | |
| 92 } | 81 } |
| 93 #endif /* __APPLE__ */ | 82 #endif /* __APPLE__ */ |
| 94 | 83 |
| 95 #if defined(__sgi) || defined (__sun) | 84 #if defined(__sgi) || defined (__sun) |
| 96 #include <dlfcn.h> | 85 #include <dlfcn.h> |
| 97 #include <stdio.h> | 86 #include <stdio.h> |
| 98 #include <stdlib.h> | 87 #include <stdlib.h> |
| 99 | 88 |
| 100 void* dlGetProcAddress (const GLubyte* name) | 89 void* dlGetProcAddress (const GLubyte* name) |
| 101 { | 90 { |
| (...skipping 12069 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12171 } | 12160 } |
| 12172 #endif | 12161 #endif |
| 12173 } | 12162 } |
| 12174 } | 12163 } |
| 12175 ret = (len == 0); | 12164 ret = (len == 0); |
| 12176 } | 12165 } |
| 12177 return ret; | 12166 return ret; |
| 12178 } | 12167 } |
| 12179 | 12168 |
| 12180 #endif /* _WIN32 */ | 12169 #endif /* _WIN32 */ |
| OLD | NEW |