mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 18:10:11 +01:00
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>
This commit is contained in:
parent
7a2e9f9778
commit
ce8eadb6e8
3 changed files with 0 additions and 10 deletions
|
|
@ -1931,7 +1931,6 @@ AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
|
||||||
AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
|
AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
|
||||||
AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
|
AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
|
||||||
AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
|
AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
|
||||||
AM_CONDITIONAL(LLVM_NEEDS_FNORTTI, test $LLVM_VERSION_INT -ge 302)
|
|
||||||
|
|
||||||
AC_SUBST([ELF_LIB])
|
AC_SUBST([ELF_LIB])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -195,9 +195,6 @@ def generate(env):
|
||||||
if llvm_version >= distutils.version.LooseVersion('3.1'):
|
if llvm_version >= distutils.version.LooseVersion('3.1'):
|
||||||
components.append('mcjit')
|
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 --libs ' + ' '.join(components))
|
||||||
env.ParseConfig('llvm-config --ldflags')
|
env.ParseConfig('llvm-config --ldflags')
|
||||||
except OSError:
|
except OSError:
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,6 @@ AM_CXXFLAGS += \
|
||||||
$(GALLIUM_CFLAGS) \
|
$(GALLIUM_CFLAGS) \
|
||||||
$(LLVM_CXXFLAGS)
|
$(LLVM_CXXFLAGS)
|
||||||
|
|
||||||
if LLVM_NEEDS_FNORTTI
|
|
||||||
|
|
||||||
AM_CXXFLAGS += -fno-rtti
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
libgallium_la_SOURCES += \
|
libgallium_la_SOURCES += \
|
||||||
$(GALLIVM_SOURCES) \
|
$(GALLIVM_SOURCES) \
|
||||||
$(GALLIVM_CPP_SOURCES)
|
$(GALLIVM_CPP_SOURCES)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue