scons: Fix build when rtti is disabled
authorAlexander von Gluck IV <kallisti5@unixzen.com>
Tue, 15 Oct 2013 17:08:59 +0000 (12:08 -0500)
committerAlexander von Gluck IV <kallisti5@unixzen.com>
Wed, 16 Oct 2013 03:12:18 +0000 (22:12 -0500)
* 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@freedesktop.org>
scons/llvm.py
src/gallium/auxiliary/SConscript
src/gallium/drivers/llvmpipe/SConscript

index c1c37362d3c464902ed679edc8ada222739c1c02..34b58910aa3a2578df26c38643387da28b853562 100644 (file)
@@ -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'):
index 31dfed316aa04017c03dd1a938838398e906b1af..3ac3112255cd96f2ee9dba31d4d3125c449970af 100644 (file)
@@ -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'
index 20500fd834ff41121c9bebae8c8f8b95999c18e3..71faee245c064682274823ff77fd9863de86fa4f 100644 (file)
@@ -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()