Added few more stubs so that control reaches to DestroyDevice().
[mesa.git] / src / compiler / SConscript.glsl
index b1b4169339744b795d1f73efe772d46afc5078a6..85abfbac78ad677155dcc538a790f3c6c4b13e4d 100644 (file)
@@ -63,17 +63,17 @@ source_lists = env.ParseSourceList('Makefile.sources')
 for l in ('LIBGLCPP_FILES', 'LIBGLSL_FILES'):
     glsl_sources += source_lists[l]
 
+glsl_sources += env.StaticObject("glsl/glcpp/pp_standalone_scaffolding.c")
+
 if env['msvc']:
     env.Prepend(CPPPATH = ['#/src/getopt'])
     env.PrependUnique(LIBS = [getopt])
 
 # Copy these files to avoid generation object files into src/mesa/program
 env.Prepend(CPPPATH = ['#src/mesa/main'])
-env.Command('glsl/imports.c', '#src/mesa/main/imports.c', Copy('$TARGET', '$SOURCE'))
 env.Command('glsl/extensions_table.c', '#src/mesa/main/extensions_table.c', Copy('$TARGET', '$SOURCE'))
 # Copy these files to avoid generation object files into src/mesa/program
 env.Prepend(CPPPATH = ['#src/mesa/program'])
-env.Command('glsl/prog_hash_table.c', '#src/mesa/program/prog_hash_table.c', Copy('$TARGET', '$SOURCE'))
 env.Command('glsl/symbol_table.c', '#src/mesa/program/symbol_table.c', Copy('$TARGET', '$SOURCE'))
 env.Command('glsl/dummy_errors.c', '#src/mesa/program/dummy_errors.c', Copy('$TARGET', '$SOURCE'))
 
@@ -81,14 +81,39 @@ compiler_objs = env.StaticObject(source_lists['GLSL_COMPILER_CXX_FILES'])
 
 mesa_objs = env.StaticObject([
     'glsl/extensions_table.c',
-    'glsl/imports.c',
-    'glsl/prog_hash_table.c',
     'glsl/symbol_table.c',
     'glsl/dummy_errors.c',
 ])
 
 compiler_objs += mesa_objs
 
+# GLSL generated sources
+env.CodeGenerate(
+    target = 'glsl/float64_glsl.h',
+    script = 'glsl/xxd.py',
+    source = ['glsl/float64.glsl'],
+    command = python_cmd + ' $SCRIPT $SOURCE $TARGET -n float64_source',
+)
+
+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 +125,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,22 +146,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_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,