diff options
author | Alexander von Gluck IV <kallisti5@unixzen.com> | 2013-10-12 17:12:31 +0000 |
---|---|---|
committer | Alexander von Gluck IV <kallisti5@unixzen.com> | 2013-10-14 23:00:55 -0500 |
commit | ce8eadb6e8adc24f675b364e0620dbf1c9e079a8 (patch) | |
tree | db0054c851e503805e9e61f98ea5f69e67b3a4fc /scons | |
parent | 7a2e9f9778473a812ce372a25cc4b6e791b355cf (diff) |
build: remove forced -fno-rtti
* As discussed on the mailing list,
forced no-rtti breaks C++ public
API's such as the Haiku C++ libGL.so
* -fno-rtti *can* be still set however
instead of blindly forcing -fno-rtti,
we can rely on the llvm-config
--cppflags output.
If the system llvm is built without
rtti (default), the no-rtti flag will be
present in llvm-config --cppflags
(which we pick up on)
If llvm is built with rtti
(REQUIRES_RTTI=1), then -fno-rtti is
removed from llvm-config --cppflags.
* We could selectively add / remove rtti
from various components, however mixing
rtti and non-rtti code is tricky and
could introduce missing symbols.
* This needs impact tested.
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Diffstat (limited to 'scons')
-rw-r--r-- | scons/llvm.py | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/scons/llvm.py b/scons/llvm.py index 7cd609c209..c1c37362d3 100644 --- a/scons/llvm.py +++ b/scons/llvm.py @@ -195,9 +195,6 @@ def generate(env): if llvm_version >= distutils.version.LooseVersion('3.1'): components.append('mcjit') - if llvm_version >= distutils.version.LooseVersion('3.2'): - env.Append(CXXFLAGS = ('-fno-rtti',)) - env.ParseConfig('llvm-config --libs ' + ' '.join(components)) env.ParseConfig('llvm-config --ldflags') except OSError: |