From dff36e900c645401b26c9a44106459e96ee7a24d Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 30 May 2012 10:08:11 -0600 Subject: scons: add code to generate the various GL API files This fixes recent build breakage when we began building the generated API files from xml as part of the normal build process. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=50475 --- src/mapi/glapi/SConscript | 25 +++++++++++++++++++++++++ src/mapi/glapi/gen/SConscript | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 src/mapi/glapi/gen/SConscript (limited to 'src/mapi') diff --git a/src/mapi/glapi/SConscript b/src/mapi/glapi/SConscript index 4097a7fe138..ad007a6f436 100644 --- a/src/mapi/glapi/SConscript +++ b/src/mapi/glapi/SConscript @@ -2,6 +2,8 @@ # SConscript for glapi +from sys import executable as python_cmd + Import('*') env = env.Clone() @@ -47,6 +49,8 @@ for s in mapi_sources: # Assembly sources # if env['gcc'] and env['platform'] not in ('darwin', 'windows'): + GLAPI = '#src/mapi/glapi/' + if env['machine'] == 'x86': env.Append(CPPDEFINES = [ 'USE_X86_ASM', @@ -54,6 +58,12 @@ if env['gcc'] and env['platform'] not in ('darwin', 'windows'): glapi_sources += [ 'glapi_x86.S', ] + env.CodeGenerate( + target = 'glapi_x86.S', + script = GLAPI + 'gen/gl_x86_asm.py', + source = GLAPI + 'gen/gl_API.xml', + command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' + ) elif env['machine'] == 'x86_64': env.Append(CPPDEFINES = [ 'USE_X86_64_ASM', @@ -61,6 +71,12 @@ if env['gcc'] and env['platform'] not in ('darwin', 'windows'): glapi_sources += [ 'glapi_x86-64.S' ] + env.CodeGenerate( + target = 'glapi_x86-64.S', + script = GLAPI + 'gen/gl_x86-64_asm.py', + source = GLAPI + 'gen/gl_API.xml', + command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' + ) elif env['machine'] == 'sparc': env.Append(CPPDEFINES = [ 'USE_SPARC_ASM', @@ -68,6 +84,12 @@ if env['gcc'] and env['platform'] not in ('darwin', 'windows'): glapi_sources += [ 'glapi_sparc.S' ] + env.CodeGenerate( + target = 'glapi_sparc.S', + script = GLAPI + 'gen/gl_SPARC_asm.py', + source = GLAPI + 'gen/gl_API.xml', + command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' + ) else: pass @@ -81,3 +103,6 @@ glapi = env.ConvenienceLibrary( source = glapi_sources, ) Export('glapi') + + +env.Depends(glapi_sources, glapi_headers) diff --git a/src/mapi/glapi/gen/SConscript b/src/mapi/glapi/gen/SConscript new file mode 100644 index 00000000000..81f69dfea47 --- /dev/null +++ b/src/mapi/glapi/gen/SConscript @@ -0,0 +1,42 @@ +Import('*') + +from sys import executable as python_cmd + + +# Generate the GL API headers that are used by various parts of the +# Mesa and GLX tree. Other .c and .h files are generated elsewhere +# if they're only used in one place. + +GLAPI = '#src/mapi/glapi/' + +glapi_headers = [] + +glapi_headers += env.CodeGenerate( + target = '#src/mesa/main/dispatch.h', + script = GLAPI + 'gen/gl_table.py', + source = GLAPI + 'gen/gl_API.xml', + command = python_cmd + ' $SCRIPT -m remap_table -f $SOURCE > $TARGET', + ) + +glapi_headers += env.CodeGenerate( + target = '#src/mapi/glapi/glapitemp.h', + script = GLAPI + 'gen/gl_apitemp.py', + source = GLAPI + 'gen/gl_API.xml', + command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' + ) + +glapi_headers += env.CodeGenerate( + target = '#src/mapi/glapi/glprocs.h', + script = GLAPI + 'gen/gl_procs.py', + source = GLAPI + 'gen/gl_API.xml', + command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' + ) + +glapi_headers += env.CodeGenerate( + target = '#src/mesa/main/remap_helper.h', + script = GLAPI + 'gen/remap_helper.py', + source = GLAPI + 'gen/gl_API.xml', + command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' + ) + +env.Export('glapi_headers') -- cgit v1.2.3