Android: Remove unusable android_stl=no option
As of 3.1 and later, we have too many thirdparty C++ dependencies
and some internal uses of `new` and `delete` too for it to make
sense to build without the STL on Android.
The option has been broken since 3.0, and the "System STL" that we
relied on for basic support of `new` and `delete` is likely to be
dropped from the NDK:
https://android.googlesource.com/platform/ndk/+/ndk-release-r20/docs/BuildSystemMaintainers.md#System-STL
(cherry picked from commit 2da1614beb
)
This commit is contained in:
parent
f1fc6feca4
commit
4133ee5e85
|
@ -28,7 +28,6 @@ def get_opts():
|
||||||
('ndk_platform', 'Target platform (android-<api>, e.g. "android-18")', "android-18"),
|
('ndk_platform', 'Target platform (android-<api>, e.g. "android-18")', "android-18"),
|
||||||
EnumVariable('android_arch', 'Target architecture', "armv7", ('armv7', 'armv6', 'arm64v8', 'x86', 'x86_64')),
|
EnumVariable('android_arch', 'Target architecture', "armv7", ('armv7', 'armv6', 'arm64v8', 'x86', 'x86_64')),
|
||||||
BoolVariable('android_neon', 'Enable NEON support (armv7 only)', True),
|
BoolVariable('android_neon', 'Enable NEON support (armv7 only)', True),
|
||||||
BoolVariable('android_stl', 'Enable Android STL support (for modules)', True)
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -212,11 +211,14 @@ def configure(env):
|
||||||
lib_sysroot = env["ANDROID_NDK_ROOT"] + "/platforms/" + env['ndk_platform'] + "/" + env['ARCH']
|
lib_sysroot = env["ANDROID_NDK_ROOT"] + "/platforms/" + env['ndk_platform'] + "/" + env['ARCH']
|
||||||
|
|
||||||
## Compile flags
|
## Compile flags
|
||||||
# Disable exceptions and rtti on non-tools (template) builds
|
|
||||||
if env['tools'] or env['android_stl']:
|
|
||||||
env.Append(CPPFLAGS=["-isystem", env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/llvm-libc++/include"])
|
env.Append(CPPFLAGS=["-isystem", env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/llvm-libc++/include"])
|
||||||
env.Append(CPPFLAGS=["-isystem", env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/llvm-libc++abi/include"])
|
env.Append(CPPFLAGS=["-isystem", env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/llvm-libc++abi/include"])
|
||||||
env.Append(CXXFLAGS=['-frtti',"-std=gnu++14"])
|
env.Append(CXXFLAGS=["-std=gnu++14"])
|
||||||
|
|
||||||
|
# Disable exceptions and rtti on non-tools (template) builds
|
||||||
|
if env['tools']:
|
||||||
|
env.Append(CXXFLAGS=['-frtti'])
|
||||||
else:
|
else:
|
||||||
env.Append(CXXFLAGS=['-fno-rtti', '-fno-exceptions'])
|
env.Append(CXXFLAGS=['-fno-rtti', '-fno-exceptions'])
|
||||||
# Don't use dynamic_cast, necessary with no-rtti.
|
# Don't use dynamic_cast, necessary with no-rtti.
|
||||||
|
|
Loading…
Reference in New Issue