glapi: Always build libglapi.a.
authorChia-I Wu <olvaffe@gmail.com>
Fri, 16 Oct 2009 08:04:06 +0000 (16:04 +0800)
committerBrian Paul <brianp@vmware.com>
Fri, 23 Oct 2009 15:10:04 +0000 (09:10 -0600)
This is made possible by making glapioffsets.h and glapidispatch.h
internal headers of glapi.  They should only be included indirectly
through dispatch.h by mesa.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
12 files changed:
src/mesa/Makefile
src/mesa/glapi/dispatch.h
src/mesa/glapi/gl_offsets.py
src/mesa/glapi/gl_table.py
src/mesa/glapi/glapidispatch.h
src/mesa/glapi/glapioffsets.h
src/mesa/glapi/remap_helper.py
src/mesa/main/api_arrayelt.c
src/mesa/main/context.c
src/mesa/main/dispatch.c
src/mesa/main/remap_helper.h
src/mesa/main/vtxfmt_tmp.h

index 8300b30..6f58ad6 100644 (file)
@@ -39,11 +39,7 @@ libmesagallium.a: $(MESA_GALLIUM_OBJECTS)
 
 # Make archive of gl* API dispatcher functions only
 libglapi.a: $(GLAPI_OBJECTS)
-       @if [ "${WINDOW_SYSTEM}" = "dri" ] ; then \
-               touch libglapi.a ; \
-       else \
-               $(MKLIB) -o glapi -static $(GLAPI_OBJECTS) ; \
-       fi
+       $(MKLIB) -o glapi -static $(GLAPI_OBJECTS)
 
 ######################################################################
 # Device drivers
index dafcf3e..6623d52 100644 (file)
 #ifndef _DISPATCH_H
 #define _DISPATCH_H
 
+#ifdef IN_DRI_DRIVER
+#define _GLAPI_USE_REMAP_TABLE
+#endif
+
 #include "glapitable.h"
+#include "glapioffsets.h"
 #include "glapidispatch.h"
 
 #endif /* _DISPATCH_H */
index 59f8d37..ca6c90f 100644 (file)
@@ -43,6 +43,9 @@ class PrintGlOffsets(gl_XML.gl_print_base):
        def printBody(self, api):
                abi = [ "1.0", "1.1", "1.2", "GL_ARB_multitexture" ]
 
+               print '/* this file should not be included directly in mesa */'
+               print ''
+
                functions = []
                abi_functions = []
                count = 0
@@ -60,7 +63,7 @@ class PrintGlOffsets(gl_XML.gl_print_base):
                        last_static = f.offset
 
                print ''
-               print '#if !defined(IN_DRI_DRIVER)'
+               print '#if !defined(_GLAPI_USE_REMAP_TABLE)'
                print ''
 
                for [f, index] in functions:
@@ -76,7 +79,7 @@ class PrintGlOffsets(gl_XML.gl_print_base):
                        print '#define _gloffset_%s driDispatchRemapTable[%s_remap_index]' % (f.name, f.name)
 
                print ''
-               print '#endif /* !defined(IN_DRI_DRIVER) */'
+               print '#endif /* !defined(_GLAPI_USE_REMAP_TABLE) */'
 
                return
 
index 6cf26f8..0e05b34 100644 (file)
@@ -79,6 +79,8 @@ class PrintRemapTable(gl_XML.gl_print_base):
 
        def printRealHeader(self):
                print """
+/* this file should not be included directly in mesa */
+
 /**
  * \\file glapidispatch.h
  * Macros for handling GL dispatch tables.
@@ -132,7 +134,7 @@ class PrintRemapTable(gl_XML.gl_print_base):
 
 
                print ''
-               print '#if !defined(IN_DRI_DRIVER)'
+               print '#if !defined(_GLAPI_USE_REMAP_TABLE)'
                print ''
 
                for [f, index] in functions:
@@ -162,7 +164,7 @@ class PrintRemapTable(gl_XML.gl_print_base):
 
 
                print ''
-               print '#endif /* !defined(IN_DRI_DRIVER) */'
+               print '#endif /* !defined(_GLAPI_USE_REMAP_TABLE) */'
                return
 
 
index 1d26dfb..d6ba928 100644 (file)
@@ -29,6 +29,8 @@
 #  define _GLAPI_DISPATCH_H_
 
 
+/* this file should not be included directly in mesa */
+
 /**
  * \file glapidispatch.h
  * Macros for handling GL dispatch tables.
 #define GET_MultiTexCoord4svARB(disp) ((disp)->MultiTexCoord4svARB)
 #define SET_MultiTexCoord4svARB(disp, fn) ((disp)->MultiTexCoord4svARB = fn)
 
-#if !defined(IN_DRI_DRIVER)
+#if !defined(_GLAPI_USE_REMAP_TABLE)
 
 #define CALL_AttachShader(disp, parameters) (*((disp)->AttachShader)) parameters
 #define GET_AttachShader(disp) ((disp)->AttachShader)
@@ -4000,6 +4002,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define GET_GetQueryObjectui64vEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index])
 #define SET_GetQueryObjectui64vEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index], fn)
 
-#endif /* !defined(IN_DRI_DRIVER) */
+#endif /* !defined(_GLAPI_USE_REMAP_TABLE) */
 
 #endif /* !defined( _GLAPI_DISPATCH_H_ ) */
index a380774..3d10260 100644 (file)
@@ -29,6 +29,8 @@
 #if !defined( _GLAPI_OFFSETS_H_ )
 #  define _GLAPI_OFFSETS_H_
 
+/* this file should not be included directly in mesa */
+
 #define _gloffset_NewList 0
 #define _gloffset_EndList 1
 #define _gloffset_CallList 2
 #define _gloffset_MultiTexCoord4sARB 406
 #define _gloffset_MultiTexCoord4svARB 407
 
-#if !defined(IN_DRI_DRIVER)
+#if !defined(_GLAPI_USE_REMAP_TABLE)
 
 #define _gloffset_AttachShader 408
 #define _gloffset_CreateProgram 409
 #define _gloffset_GetQueryObjecti64vEXT driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index]
 #define _gloffset_GetQueryObjectui64vEXT driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index]
 
-#endif /* !defined(IN_DRI_DRIVER) */
+#endif /* !defined(_GLAPI_USE_REMAP_TABLE) */
 
 #endif /* !defined( _GLAPI_OFFSETS_H_ ) */
index 7e68a90..e47583a 100644 (file)
@@ -65,7 +65,6 @@ class PrintGlRemap(gl_XML.gl_print_base):
 
        def printRealHeader(self):
                print '#include "glapi/dispatch.h"'
-               print '#include "glapi/glapioffsets.h"'
                print ''
                return
 
index a058227..469b452 100644 (file)
@@ -32,7 +32,6 @@
 #include "context.h"
 #include "imports.h"
 #include "macros.h"
-#include "glapi/glapioffsets.h"
 #include "glapi/dispatch.h"
 
 typedef void (GLAPIENTRY *array_func)( const void * );
index ea820d7..c57d7c1 100644 (file)
 #include "viewport.h"
 #include "vtxfmt.h"
 #include "glapi/glthread.h"
-#include "glapi/glapioffsets.h"
 #include "glapi/glapitable.h"
 #include "shader/program.h"
 #include "shader/prog_print.h"
index bf1a013..97d213e 100644 (file)
@@ -43,6 +43,7 @@
 #include "main/compiler.h"
 #include "glapi/glapi.h"
 #include "glapi/glapitable.h"
+#include "glapi/glapidispatch.h"
 #include "glapi/glthread.h"
 
 
@@ -88,7 +89,6 @@
 #define GLAPIENTRY
 #endif
 
-#include "glapi/dispatch.h"
 #include "glapi/glapitemp.h"
 
 #endif /* USE_X86_ASM */
index 89192d3..3886f41 100644 (file)
@@ -26,7 +26,6 @@
  */
 
 #include "glapi/dispatch.h"
-#include "glapi/glapioffsets.h"
 
 struct gl_function_remap {
    GLint func_index;
index d56a2bb..ae636fb 100644 (file)
@@ -30,7 +30,6 @@
 #endif
 
 #include "glapi/dispatch.h"
-#include "glapi/glapioffsets.h"
 
 static void GLAPIENTRY TAG(ArrayElement)( GLint i )
 {