On 13/08/14 13:38, Emil Velikov wrote:
Modify oour custom function/method SourceListParser to avoid including
headers to the sources list. The SCons documentation is not explicit on
the topic yet building mesa with SCons and MSVC is known to have
problems when headers are listed. So be safe just drop them for now.
Bugzilla:
https://urldefense.proofpoint.com/v1/url?u=https://bugs.freedesktop.org/show_bug.cgi?id%3D82534&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=bSAxUvr%2BkZFQrdOVPzHXFpuKRlYsjbOdppwDtQwMYV4%3D%0A&s=eafc5db76341cca1e444f46c18e5d3a29e51cac22ff52f018621406a72291954
Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com>
---
scons/source_list.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/scons/source_list.py b/scons/source_list.py
index e16d1f9..5a1bd96 100644
--- a/scons/source_list.py
+++ b/scons/source_list.py
@@ -85,6 +85,9 @@ class SourceListParser(object):
"""Parse a source list line."""
# more lines to come
if line and line[-1] == '\\':
+ # do not include any headers
+ if line[:-1].rstrip().endswith('.h'):
+ return 0;
# spaces around "\\\n" are replaced by a single space
if self.line_cont:
self.line_cont += line[:-1].strip() + ' '
@@ -94,7 +97,11 @@ class SourceListParser(object):
# combine with previous lines
if self.line_cont:
- line = self.line_cont + line.lstrip()
+ # do not include any headers
+ if line and line.rstrip().endswith('.h'):
+ line = self.line_cont
+ else:
+ line = self.line_cont + line.lstrip()
self.line_cont = ''
if line:
I think that scons/custom.py is a better place for this manipulation.
There are a bunch of similarly natured maniuplations there already:
diff --git a/scons/custom.py b/scons/custom.py
index 09c937e..88a0d34 100644
--- a/scons/custom.py
+++ b/scons/custom.py
@@ -276,6 +276,9 @@ def parse_source_list(env, filename, names=None):
# Prefer relative source paths, as absolute files
tend to
# cause duplicate actions.
f = f[len(cur_srcdir + '/'):]
+ # do not include any headers
+ if f.endswith('.h'):
+ continue
srcs.append(f)
src_lists[sym] = srcs
Jose
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev