]> git.cworth.org Git - apitrace/blobdiff - glproc.py
Don't change behavior of glproc code via RETRACE define.
[apitrace] / glproc.py
index 67079e45623de2e2b0bb41dac30a20b605d66874..b54f713f02d12bc92b882991d2b51a2f54bac1c7 100644 (file)
--- a/glproc.py
+++ b/glproc.py
@@ -492,40 +492,18 @@ public_symbols.update([
 class GlDispatcher(Dispatcher):
 
     def header(self):
-        print '#ifdef RETRACE'
-        print '#  if defined(TRACE_EGL)'
-        print '#    define __getPrivateProcAddress(name) eglGetProcAddress(name)'
-        print '#  elif defined(_WIN32)'
-        print '#    define __getPrivateProcAddress(name) wglGetProcAddress(name)'
-        print '#  elif defined(__APPLE__)'
-        print '#    include <dlfcn.h>'
-        print '#    define __getPrivateProcAddress(name) dlsym(RTLD_DEFAULT, name)'
-        print '#  else'
-        print '#    define __getPrivateProcAddress(name) glXGetProcAddressARB((const GLubyte *)(name))'
-        print '#  endif'
-        print '#else /* !RETRACE */'
-        print '#  if defined(TRACE_EGL)'
-        print '#    define __getPublicProcAddress(name) __libegl_sym(name)'
-        print '#    define __getPrivateProcAddress(name) __libegl_sym(name)'
-        print '     void * __libegl_sym(const char *symbol);'
-        print '#  elif defined(_WIN32)'
-        print '     PROC __getPublicProcAddress(LPCSTR lpProcName);'
-        print '#    define __getPrivateProcAddress(name) __wglGetProcAddress(name)'
-        print '     static inline PROC __stdcall __wglGetProcAddress(const char * lpszProc);'
-        print '#  else'
-        print '#    define __getPublicProcAddress(name) __libgl_sym(name)'
-        print '     void * __libgl_sym(const char *symbol);'
-        print '#    ifdef __APPLE__'
-        print '#      define __getPrivateProcAddress(name) __getPublicProcAddress(name)'
-        print '#    else'
-        print '#      define __getPrivateProcAddress(name) __glXGetProcAddressARB((const GLubyte *)(name))'
-        print '       static inline __GLXextFuncPtr __glXGetProcAddressARB(const GLubyte * procName);'
-        print '#    endif'
-        print '#  endif'
-        print '#endif /* !RETRACE */'
-        print
+        print '''
+#if defined(_WIN32)
+extern HINSTANCE __libGlHandle;
+#else
+extern void * __libGlHandle;
+#endif
+
+void * __getPublicProcAddress(const char *procName);
+void * __getPrivateProcAddress(const char *procName);
+'''
         
-    def is_public_function(self, function):
+    def isFunctionPublic(self, function):
         return function.name in public_symbols or function.name.startswith('CGL')
 
 
@@ -537,20 +515,24 @@ if __name__ == '__main__':
     print '#include "glimports.hpp"'
     print '#include "os.hpp"'
     print
-    print
     dispatcher = GlDispatcher()
+    print
     dispatcher.header()
-    print '#if defined(TRACE_EGL)'
     print
     dispatcher.dispatch_api(eglapi)
-    print '#elif defined(_WIN32)'
+    print
+    print '#if defined(_WIN32)'
     print
     dispatcher.dispatch_api(wglapi)
+    print
     print '#elif defined(__APPLE__)'
+    print
     dispatcher.dispatch_api(cglapi)
-    print '#else'
+    print
+    print '#elif defined(HAVE_X11)'
     print
     dispatcher.dispatch_api(glxapi)
+    print
     print '#endif'
     print
     dispatcher.dispatch_api(glapi)