summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2013-01-21 17:47:51 +0000
committerJosé Fonseca <jfonseca@vmware.com>2013-01-21 19:10:54 +0000
commit71c87e42e17a160dfc5c2a47c9cbaa297c34c484 (patch)
tree595b7d43b1a84ad9f1d37c1d3ce77d22bce503f4 /src
parent75b7e1df139676f2456fea4d3a57cf0044d8409e (diff)
downloadexternal_mesa3d-71c87e42e17a160dfc5c2a47c9cbaa297c34c484.tar.gz
external_mesa3d-71c87e42e17a160dfc5c2a47c9cbaa297c34c484.tar.bz2
external_mesa3d-71c87e42e17a160dfc5c2a47c9cbaa297c34c484.zip
scons: Fix dependencies of generated headers.
It appears that scons implicit dependency scanners fail to chain dependencies of generated headers when these are outside the build tree. This patch ensures generated source files are _always_ put in the build tree. I'm not 100% this will fix all depency issues, but from my experiments it does seem to fix this. NOTE: For this to be effective it is necessary to clean the source tree from generated header/source files. Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/state_trackers/vega/SConscript6
-rw-r--r--src/gallium/targets/libgl-xlib/SConscript4
-rw-r--r--src/glx/SConscript9
-rw-r--r--src/mapi/glapi/SConscript4
-rw-r--r--src/mapi/glapi/gen/SConscript46
-rw-r--r--src/mapi/vgapi/SConscript5
-rw-r--r--src/mesa/SConscript23
-rw-r--r--src/mesa/drivers/osmesa/SConscript3
-rw-r--r--src/mesa/drivers/x11/SConscript4
9 files changed, 34 insertions, 70 deletions
diff --git a/src/gallium/state_trackers/vega/SConscript b/src/gallium/state_trackers/vega/SConscript
index 3dada10133..b68a73299a 100644
--- a/src/gallium/state_trackers/vega/SConscript
+++ b/src/gallium/state_trackers/vega/SConscript
@@ -9,6 +9,7 @@ env = env.Clone()
env.Append(CPPPATH = [
'#/src/mapi',
+ Dir('.'),
])
env.Append(CPPDEFINES = [
'VEGA_VERSION_STRING=',
@@ -47,13 +48,12 @@ vega_sources = [
'vgu.c'
]
-api_tmp = env.CodeGenerate(
- target = '#/src/gallium/state_trackers/vega/api_tmp.h',
+api_tmp, = env.CodeGenerate(
+ target = 'api_tmp.h',
script = '#src/mapi/mapi/mapi_abi.py',
source = '#src/mapi/vgapi/vgapi.csv',
command = python_cmd + ' $SCRIPT --printer vgapi --mode app $SOURCE > $TARGET'
)
-env.Depends(vega_sources, api_tmp)
st_vega = env.ConvenienceLibrary(
target = 'st_vega',
diff --git a/src/gallium/targets/libgl-xlib/SConscript b/src/gallium/targets/libgl-xlib/SConscript
index dc1ce89ca4..58ed6d4a30 100644
--- a/src/gallium/targets/libgl-xlib/SConscript
+++ b/src/gallium/targets/libgl-xlib/SConscript
@@ -10,6 +10,7 @@ env.Append(CPPPATH = [
'#/src/mesa',
'#/src/mesa/main',
'#src/gallium/state_trackers/glx/xlib',
+ Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers
])
env.Append(CPPDEFINES = ['USE_XSHM'])
@@ -36,9 +37,6 @@ sources = [
'xlib.c',
]
-# The sources depend on the python-generated GL API files/headers.
-env.Depends(sources, glapi_headers)
-
if True:
env.Append(CPPDEFINES = ['GALLIUM_TRACE', 'GALLIUM_RBUG', 'GALLIUM_GALAHAD', 'GALLIUM_SOFTPIPE'])
env.Prepend(LIBS = [trace, rbug, galahad, softpipe])
diff --git a/src/glx/SConscript b/src/glx/SConscript
index c921eef703..09e0e16861 100644
--- a/src/glx/SConscript
+++ b/src/glx/SConscript
@@ -114,16 +114,14 @@ env.CodeGenerate(
command = python_cmd + ' $SCRIPT -f $SOURCE -m init_c > $TARGET'
)
-headers = []
-
-headers += env.CodeGenerate(
+env.CodeGenerate(
target = 'indirect_size.h',
script = GLAPI + 'gen/glX_proto_size.py',
source = GLAPI + 'gen/gl_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE -m size_h --only-set -h _INDIRECT_SIZE_H > $TARGET'
)
-headers += env.CodeGenerate(
+env.CodeGenerate(
target = 'indirect.h',
script = GLAPI + 'gen/glX_proto_send.py',
source = GLAPI + 'gen/gl_API.xml',
@@ -131,9 +129,6 @@ headers += env.CodeGenerate(
)
-env.Depends(sources, headers)
-
-
libgl = env.InstallSharedLibrary(libgl, version=(1, 2))
env.Alias('glx', libgl)
diff --git a/src/mapi/glapi/SConscript b/src/mapi/glapi/SConscript
index 153374cc55..00cce3e7fd 100644
--- a/src/mapi/glapi/SConscript
+++ b/src/mapi/glapi/SConscript
@@ -26,6 +26,7 @@ if env['platform'] == 'windows':
env.Append(CPPPATH = [
'#/src/mapi',
'#/src/mesa',
+ Dir('..'), # src/mapi build path
])
glapi_sources = [
@@ -103,6 +104,3 @@ glapi = env.ConvenienceLibrary(
source = glapi_sources,
)
Export('glapi')
-
-
-env.Depends(glapi_sources, glapi_headers)
diff --git a/src/mapi/glapi/gen/SConscript b/src/mapi/glapi/gen/SConscript
index 353d021759..6d36248e78 100644
--- a/src/mapi/glapi/gen/SConscript
+++ b/src/mapi/glapi/gen/SConscript
@@ -7,43 +7,37 @@ from sys import executable as python_cmd
# Mesa and GLX tree. Other .c and .h files are generated elsewhere
# if they're only used in one place.
-GLAPI = '#src/mapi/glapi/'
-
-glapi_headers = []
-
-glapi_headers += env.CodeGenerate(
- target = '#src/mesa/main/dispatch.h',
- script = GLAPI + 'gen/gl_table.py',
- source = GLAPI + 'gen/gl_and_es_API.xml',
+env.CodeGenerate(
+ target = '../../../mesa/main/dispatch.h',
+ script = 'gl_table.py',
+ source = 'gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -m remap_table -f $SOURCE > $TARGET',
)
-glapi_headers += env.CodeGenerate(
- target = '#src/mapi/glapi/glapitable.h',
- script = GLAPI + 'gen/gl_table.py',
- source = GLAPI + 'gen/gl_and_es_API.xml',
+env.CodeGenerate(
+ target = '../../../mapi/glapi/glapitable.h',
+ script = 'gl_table.py',
+ source = 'gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
-glapi_headers += env.CodeGenerate(
- target = '#src/mapi/glapi/glapitemp.h',
- script = GLAPI + 'gen/gl_apitemp.py',
- source = GLAPI + 'gen/gl_and_es_API.xml',
+env.CodeGenerate(
+ target = '../../../mapi/glapi/glapitemp.h',
+ script = 'gl_apitemp.py',
+ source = 'gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
-glapi_headers += env.CodeGenerate(
- target = '#src/mapi/glapi/glprocs.h',
- script = GLAPI + 'gen/gl_procs.py',
- source = GLAPI + 'gen/gl_and_es_API.xml',
+env.CodeGenerate(
+ target = '../../../mapi/glapi/glprocs.h',
+ script = 'gl_procs.py',
+ source = 'gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
-glapi_headers += env.CodeGenerate(
- target = '#src/mesa/main/remap_helper.h',
- script = GLAPI + 'gen/remap_helper.py',
- source = GLAPI + 'gen/gl_and_es_API.xml',
+env.CodeGenerate(
+ target = '../../../mesa/main/remap_helper.h',
+ script = 'remap_helper.py',
+ source = 'gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
-
-env.Export('glapi_headers')
diff --git a/src/mapi/vgapi/SConscript b/src/mapi/vgapi/SConscript
index 10241fd08c..fd4467bb23 100644
--- a/src/mapi/vgapi/SConscript
+++ b/src/mapi/vgapi/SConscript
@@ -7,8 +7,8 @@ Import('*')
env = env.Clone()
-vgapi_header = env.CodeGenerate(
- target = '#src/mapi/vgapi/vgapi_tmp.h',
+vgapi_header, = env.CodeGenerate(
+ target = 'vgapi_tmp.h',
script = '../mapi/mapi_abi.py',
source = 'vgapi.csv',
command = python_cmd + ' $SCRIPT --printer vgapi --mode lib $SOURCE > $TARGET'
@@ -23,6 +23,7 @@ env.Append(CPPDEFINES = [
env.Append(CPPPATH = [
'#/include',
'#/src/mapi',
+ Dir('..'), # vgapi/vgapi_tmp.h build path
])
mapi_sources = [
diff --git a/src/mesa/SConscript b/src/mesa/SConscript
index e03d6a6a3a..ca9b70bad9 100644
--- a/src/mesa/SConscript
+++ b/src/mesa/SConscript
@@ -14,6 +14,8 @@ env.Append(CPPPATH = [
'#/src/mapi',
'#/src/glsl',
'#/src/mesa',
+ Dir('../mapi'), # src/mapi build path
+ Dir('.'), # src/mesa build path
])
enabled_apis = []
@@ -290,9 +292,6 @@ program_lex = env.CFile('program/lex.yy.c', 'program/program_lexer.l')
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 = [Dir('.').abspath])
-
program_sources = [
'program/arbprogparse.c',
'program/prog_hash_table.c',
@@ -341,19 +340,6 @@ if env['gles']:
enabled_apis += ['ES1', 'ES2']
- # generate GLES sources
- gles_sources = []
-
- # generate GLES headers
- gles_headers = []
-
- env.Depends(gles_sources, gles_headers)
-
- # gles_sources #include gles_headers with full path
- env.Append(CPPPATH = [gles_headers[0].dir.up().up()])
-
- mesa_sources += gles_sources
-
env.Append(CPPDEFINES = ["FEATURE_%s=1" % api for api in enabled_apis])
get_hash_gen_opts = ' '.join(["-a %s" % api for api in enabled_apis])
@@ -366,8 +352,6 @@ get_hash_header = env.CodeGenerate(
' -f $SOURCE > $TARGET'
)
-env.Depends(glget_sources, get_hash_header)
-
#
# Assembly sources
#
@@ -453,9 +437,6 @@ env.CodeGenerate(
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
-# We also depend on the auto-generated GL API headers
-env.Depends(mesa_sources, glapi_headers)
-
def write_git_sha1_h_file(filename):
"""Mesa looks for a git_sha1.h file at compile time in order to display
diff --git a/src/mesa/drivers/osmesa/SConscript b/src/mesa/drivers/osmesa/SConscript
index e4f23c2ac5..fb2d98cadc 100644
--- a/src/mesa/drivers/osmesa/SConscript
+++ b/src/mesa/drivers/osmesa/SConscript
@@ -5,6 +5,7 @@ env = env.Clone()
env.Prepend(CPPPATH = [
'#src/mapi',
'#src/mesa',
+ Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers
])
env.Prepend(LIBS = [
@@ -34,5 +35,3 @@ osmesa = env.SharedLibrary(
)
env.Alias('osmesa', osmesa)
-
-env.Depends(sources, glapi_headers)
diff --git a/src/mesa/drivers/x11/SConscript b/src/mesa/drivers/x11/SConscript
index 984e6cef4e..b0173bee94 100644
--- a/src/mesa/drivers/x11/SConscript
+++ b/src/mesa/drivers/x11/SConscript
@@ -6,6 +6,7 @@ env.Append(CPPPATH = [
'#/src/mapi',
'#/src/mesa',
'#/src/mesa/main',
+ Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers
])
env.Append(CPPDEFINES = ['USE_XSHM'])
@@ -30,9 +31,6 @@ sources = [
'xm_tri.c',
]
-# The sources depend on the python-generated GL API files/headers.
-env.Depends(sources, glapi_headers)
-
# libGL.so.1.6
libgl_1_6 = env.SharedLibrary(
target ='GL',