Mesa (master): scons: More tweaks to fix MinGW build.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu Mar 3 16:58:55 UTC 2011


Module: Mesa
Branch: master
Commit: 5d0e8beaa2051c28a7ac941e8aaad286e39e1267
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5d0e8beaa2051c28a7ac941e8aaad286e39e1267

Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu Mar  3 16:57:38 2011 +0000

scons: More tweaks to fix MinGW build.

---

 src/glsl/SConscript |   21 ++++++++++++++++-----
 src/mesa/SConscript |    2 +-
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/glsl/SConscript b/src/glsl/SConscript
index c2e5d45..bb02a87 100644
--- a/src/glsl/SConscript
+++ b/src/glsl/SConscript
@@ -14,19 +14,22 @@ env.Prepend(CPPPATH = [
     '#src/glsl/glcpp',
 ])
 
+# Make glcpp/glcpp-parse.h and glsl_parser.h reacheable from the include path
+env.Append(CPPPATH = [Dir('.').abspath])
+
 env.Append(YACCFLAGS = '-d')
 
-parser_env = env.Clone();
-parser_env.Append(YACCFLAGS = ['--defines=src/glsl/glsl_parser.h', '-p', '_mesa_glsl_'])
+parser_env = env.Clone()
+parser_env.Append(YACCFLAGS = [
+    '--defines=%s' % File('glsl_parser.h').abspath,
+    '-p', '_mesa_glsl_',
+])
 
 glcpp_lexer = env.CFile('glcpp/glcpp-lex.c', 'glcpp/glcpp-lex.l')
 glcpp_parser = env.CFile('glcpp/glcpp-parse.c', 'glcpp/glcpp-parse.y')
 glsl_lexer = parser_env.CXXFile('glsl_lexer.cpp', 'glsl_lexer.ll')
 glsl_parser = parser_env.CXXFile('glsl_parser.cpp', 'glsl_parser.yy')
 
-# Make glcpp/glcpp-parse.h reacheable from the include path
-env.Append(CPPPATH = [glcpp_parser[0].dir.up()])
-
 sources = [
     glcpp_lexer,
     glcpp_parser[0],
@@ -110,6 +113,10 @@ else:
                             '#src/mesa/program/symbol_table.c'],
     )
 
+    # SCons builtin dependency scanner doesn't detect that glsl_lexer.ll
+    # depends on glsl_parser.h
+    env.Depends(builtin_compiler, glsl_parser)
+
     builtin_glsl_function = env.CodeGenerate(
         target = 'builtin_function.cpp',
         script = 'builtins/tools/generate_builtins.py',
@@ -132,6 +139,10 @@ glsl = env.ConvenienceLibrary(
     source = sources,
 )
 
+# SCons builtin dependency scanner doesn't detect that glsl_lexer.ll depends on
+# glsl_parser.h
+env.Depends(glsl, glsl_parser)
+
 Export('glsl')
 
 # FIXME: We can't build the programs because there's a cyclic dependency between tis directory and src/mesa
diff --git a/src/mesa/SConscript b/src/mesa/SConscript
index ca36bf2..7e8bb24 100644
--- a/src/mesa/SConscript
+++ b/src/mesa/SConscript
@@ -220,7 +220,7 @@ program_parse = env.CFile('program/program_parse.tab.c',
                           'program/program_parse.y')
 
 # Make program/program_parse.tab.h reacheable from the include path
-env.Append(CPPPATH = [program_parse[0].dir.up()])
+env.Append(CPPPATH = [Dir('.').abspath])
 
 program_sources = [
     'program/arbprogparse.c',




More information about the mesa-commit mailing list