Mesa (master): scons: Fix build when rtti is disabled

Alexander von Gluck IV kallisti5 at kemper.freedesktop.org
Wed Oct 16 03:09:53 UTC 2013


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

Author: Alexander von Gluck IV <kallisti5 at unixzen.com>
Date:   Tue Oct 15 12:08:59 2013 -0500

scons: Fix build when rtti is disabled

* The rtti fix actually dug up a bug in the scons build scripts.
* Autotools took the LLVM cpp and cxx flags, while scons only took
  the cpp flags.
* This grabs the cxx flags and applies them where needed. We may
  want to make the same change for the llvm cpp flags in scons.
* The only linux platform I can find with LLVM no-rtti is Ubuntu.
* Fixes bug #70471

Tested-by: Vinson Lee <vlee at freedesktop.org>

---

 scons/llvm.py                           |    3 +++
 src/gallium/auxiliary/SConscript        |    2 ++
 src/gallium/drivers/llvmpipe/SConscript |    9 +++++----
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/scons/llvm.py b/scons/llvm.py
index c1c3736..34b5891 100644
--- a/scons/llvm.py
+++ b/scons/llvm.py
@@ -190,6 +190,9 @@ def generate(env):
                 pass
             env.MergeFlags(cppflags)
 
+            cxxflags = env.backtick('llvm-config --cxxflags').rstrip()
+            env.Append(LLVM_CXXFLAGS = cxxflags)
+
             components = ['engine', 'bitwriter', 'x86asmprinter']
 
             if llvm_version >= distutils.version.LooseVersion('3.1'):
diff --git a/src/gallium/auxiliary/SConscript b/src/gallium/auxiliary/SConscript
index 31dfed3..3ac3112 100644
--- a/src/gallium/auxiliary/SConscript
+++ b/src/gallium/auxiliary/SConscript
@@ -46,6 +46,8 @@ source = env.ParseSourceList('Makefile.sources', [
 ])
 
 if env['llvm']:
+    env.Append(CXXFLAGS = env['LLVM_CXXFLAGS'])
+
     source += env.ParseSourceList('Makefile.sources', [
         'GALLIVM_SOURCES',
         'GALLIVM_CPP_SOURCES'
diff --git a/src/gallium/drivers/llvmpipe/SConscript b/src/gallium/drivers/llvmpipe/SConscript
index 20500fd..71faee2 100644
--- a/src/gallium/drivers/llvmpipe/SConscript
+++ b/src/gallium/drivers/llvmpipe/SConscript
@@ -10,12 +10,13 @@ if not env['llvm']:
 env = env.Clone()
 
 llvmpipe = env.ConvenienceLibrary(
-	target = 'llvmpipe',
-	source = env.ParseSourceList('Makefile.sources', 'C_SOURCES')
-	)
+    target = 'llvmpipe',
+    source = env.ParseSourceList('Makefile.sources', 'C_SOURCES')
+)
 
-env.Alias('llvmpipe', llvmpipe)
+env.Append(CXXFLAGS = env['LLVM_CXXFLAGS'])
 
+env.Alias('llvmpipe', llvmpipe)
 
 if not env['embedded']:
     env = env.Clone()




More information about the mesa-commit mailing list