scons: Fix MinGW cross compilation.
authorJose Fonseca <jfonseca@vmware.com>
Wed, 31 Aug 2016 11:16:32 +0000 (12:16 +0100)
committerJose Fonseca <jfonseca@vmware.com>
Wed, 31 Aug 2016 11:18:34 +0000 (12:18 +0100)
The generated GLSL header files were only being built for the host
platform, and not the target platform.

Trivial.

src/compiler/SConscript.glsl

index d9878a0..f255369 100644 (file)
@@ -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,