libc++: Disable exceptions and RTTI

Except on Mac, where disabling exceptions doesn't work.
This commit is contained in:
klzgrad 2019-11-30 21:52:42 +08:00
parent 553f96f0b0
commit b2d2eaa3af
2 changed files with 19 additions and 4 deletions

View File

@ -109,8 +109,6 @@ target(_libcxx_target_type, "libc++") {
}
configs -= [
"//build/config/compiler:chromium_code",
"//build/config/compiler:no_exceptions",
"//build/config/compiler:no_rtti",
"//build/config/coverage:default_coverage",
]
if (is_android && libcxx_is_shared) {
@ -122,8 +120,6 @@ target(_libcxx_target_type, "libc++") {
configs += [
":config",
"//build/config/compiler:no_chromium_code",
"//build/config/compiler:exceptions",
"//build/config/compiler:rtti",
"//build/config/sanitizers:sanitizer_options_link_helper",
]
if (libcxx_is_shared && !is_win) {

View File

@ -92,4 +92,23 @@ source_set("libc++abi") {
# We had to copy refstring.h into libc++abi for the relative path to work,
# but the copy includes more stuff from libc++'s internal headers.
include_dirs = [ "../libc++/trunk/src/include" ]
if (!is_mac) {
sources -= [
"trunk/src/cxa_exception.cpp",
"trunk/src/cxa_personality.cpp",
"trunk/src/private_typeinfo.cpp",
]
sources += [
"trunk/src/cxa_noexception.cpp",
]
defines += [ "_LIBCXXABI_NO_EXCEPTIONS" ]
configs -= [
"//build/config/compiler:exceptions",
"//build/config/compiler:rtti",
]
configs += [
"//build/config/compiler:no_exceptions",
"//build/config/compiler:no_rtti",
]
}
}