From 55e417222f774b2a714313391c8f90982e7a7b4f Mon Sep 17 00:00:00 2001 From: Jose Fonseca Date: Wed, 31 Aug 2016 12:16:32 +0100 Subject: [PATCH] scons: Fix MinGW cross compilation. The generated GLSL header files were only being built for the host platform, and not the target platform. Trivial. --- src/compiler/SConscript.glsl | 46 ++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/src/compiler/SConscript.glsl b/src/compiler/SConscript.glsl index d9878a0..f255369 100644 --- a/src/compiler/SConscript.glsl +++ b/src/compiler/SConscript.glsl @@ -89,6 +89,26 @@ mesa_objs = env.StaticObject([ compiler_objs += mesa_objs +# GLSL generated sources +env.CodeGenerate( + target = 'glsl/ir_expression_operation.h', + script = 'glsl/ir_expression_operation.py', + source = [], + command = python_cmd + ' $SCRIPT enum > $TARGET' +) +env.CodeGenerate( + target = 'glsl/ir_expression_operation_constant.h', + script = 'glsl/ir_expression_operation.py', + source = [], + command = python_cmd + ' $SCRIPT constant > $TARGET' +) +env.CodeGenerate( + target = 'glsl/ir_expression_operation_strings.h', + script = 'glsl/ir_expression_operation.py', + source = [], + command = python_cmd + ' $SCRIPT strings > $TARGET' +) + glsl = env.ConvenienceLibrary( target = 'glsl', source = glsl_sources, @@ -100,6 +120,11 @@ env.Depends(glsl, glsl_parser) Export('glsl') +# +# XXX: It's important to not add any generated source files after this point, +# or it will break MinGW cross-compilation. +# + # Skip building these programs as they will cause SCons error "Two environments # with different actions were specified for the same target" if env['crosscompile'] or env['embedded']: @@ -116,27 +141,6 @@ env.Prepend(LIBS = [compiler, glsl]) compiler_objs += env.StaticObject("glsl/main.cpp") -# GLSL generated sources - -env.CodeGenerate( - target = 'glsl/ir_expression_operation.h', - script = 'glsl/ir_expression_operation.py', - source = [], - command = python_cmd + ' $SCRIPT enum > $TARGET' -) -env.CodeGenerate( - target = 'glsl/ir_expression_operation_constant.h', - script = 'glsl/ir_expression_operation.py', - source = [], - command = python_cmd + ' $SCRIPT constant > $TARGET' -) -env.CodeGenerate( - target = 'glsl/ir_expression_operation_strings.h', - script = 'glsl/ir_expression_operation.py', - source = [], - command = python_cmd + ' $SCRIPT strings > $TARGET' -) - glsl_compiler = env.Program( target = 'glsl_compiler', source = compiler_objs, -- 2.7.4