summaryrefslogtreecommitdiffstats
path: root/src/glx/SConscript
diff options
context:
space:
mode:
Diffstat (limited to 'src/glx/SConscript')
-rw-r--r--src/glx/SConscript51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/glx/SConscript b/src/glx/SConscript
index 17a5690ee86..664cb86268d 100644
--- a/src/glx/SConscript
+++ b/src/glx/SConscript
@@ -1,8 +1,11 @@
Import('*')
+from sys import executable as python_cmd
+
env = env.Clone()
env.Prepend(CPPPATH = [
+ '.', # the build/<platform>/glx/ directory
'#include',
'#include/GL/internal',
'#src/mesa',
@@ -80,6 +83,54 @@ libgl = env.SharedLibrary(
source = sources,
)
+
+# Generate GLX-specific .c and .h files here. Other GL API-related
+# files are used, but they're generated in mapi/glapi/gen/ since they're
+# used by other targets as well.
+
+GLAPI = '#src/mapi/glapi/'
+
+env.CodeGenerate(
+ target = 'indirect.c',
+ script = GLAPI + 'gen/glX_proto_send.py',
+ source = GLAPI + 'gen/gl_and_es_API.xml',
+ command = python_cmd + ' $SCRIPT -f $SOURCE -m proto > $TARGET'
+ )
+
+env.CodeGenerate(
+ target = 'indirect_size.c',
+ script = GLAPI + 'gen/glX_proto_size.py',
+ source = GLAPI + 'gen/gl_API.xml',
+ command = python_cmd + ' $SCRIPT -f $SOURCE -m size_c --only-set > $TARGET'
+)
+
+env.CodeGenerate(
+ target = 'indirect_init.c',
+ script = GLAPI + 'gen/glX_proto_send.py',
+ source = GLAPI + 'gen/gl_API.xml',
+ command = python_cmd + ' $SCRIPT -f $SOURCE -m init_c > $TARGET'
+)
+
+headers = []
+
+headers += env.CodeGenerate(
+ target = 'indirect_size.h',
+ script = GLAPI + 'gen/glX_proto_size.py',
+ source = GLAPI + 'gen/gl_API.xml',
+ command = python_cmd + ' $SCRIPT -f $SOURCE -m size_h --only-set -h _INDIRECT_SIZE_H > $TARGET'
+)
+
+headers += env.CodeGenerate(
+ target = 'indirect.h',
+ script = GLAPI + 'gen/glX_proto_send.py',
+ source = GLAPI + 'gen/gl_API.xml',
+ command = python_cmd + ' $SCRIPT -m init_h -f $SOURCE > $TARGET',
+ )
+
+
+env.Depends(sources, headers)
+
+
libgl = env.InstallSharedLibrary(libgl, version=(1, 2))
env.Alias('glx', libgl)