[Mesa-dev] [PATCH] scons: Fix build when rtti is disabled

Jose Fonseca jfonseca at vmware.com
Thu Oct 17 00:05:39 CEST 2013


I'm going to have to revert this as this patches has a few problems:

- it breaks windows builds becuase env[LLVM_CXXFLAGS] is never set there
- it is merging not only rtti, but the whole cxxflags (defines etc) which has proven to be a source of troubles (breaks debugging etc.)

Jose

----- Original Message -----
> * 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.
> * I'm going to run over this and clean things up further, however
>   this fixes the build where scons is used and rtti is disabled.
> * The only linux platform I can find with LLVM no-rtti is Ubuntu.
> * Resolved 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()
> --
> 1.8.4
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list