Mesa (master): scons: Fix MinGW cross compilation.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Wed Aug 31 11:19:47 UTC 2016
Module: Mesa
Branch: master
Commit: 55e417222f774b2a714313391c8f90982e7a7b4f
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=55e417222f774b2a714313391c8f90982e7a7b4f
Author: Jose Fonseca <jfonseca at vmware.com>
Date: Wed Aug 31 12:16:32 2016 +0100
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,
More information about the mesa-commit
mailing list