Add LunaSVG
This commit is contained in:
63
Android/android-ndk-r27d/build/core/stl.mk
Normal file
63
Android/android-ndk-r27d/build/core/stl.mk
Normal file
@ -0,0 +1,63 @@
|
||||
#
|
||||
# Copyright (C) 2023 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# Interprets APP_STL to configure default cflags/ldflags and install rules for
|
||||
# libc++ runtime libraries as necessary.
|
||||
|
||||
ifneq (,$(call module_needs_clangxx,$(LOCAL_MODULE)))
|
||||
|
||||
ifeq ($(APP_STL),none)
|
||||
LOCAL_CPPFLAGS += -nostdinc++
|
||||
LOCAL_LDFLAGS += -nostdlib++
|
||||
else ifeq ($(APP_STL),system)
|
||||
# TODO: Actually use the system STL headers for that mode or remove.
|
||||
#
|
||||
# I'm not sure how long this has been broken, but released NDKs do not use the
|
||||
# bionic C++ headers when APP_STL=system, they use the libc++ headers. That's
|
||||
# almost certainly unintentional.
|
||||
#
|
||||
# There may not actually be any compatibility issues with this because bionic's
|
||||
# libstdc++ only provides new and delete anyway (the rest of the behavior is
|
||||
# just headers that re-expose C APIs in the std namespace). We could choose to
|
||||
# delete bionic's headers and keep this "bug" instead.
|
||||
|
||||
# LOCAL_CPPFLAGS += -stdlib=libstdc++
|
||||
# LOCAL_LDFLAGS += -stdlib=libstdc++
|
||||
|
||||
# TODO: Remove when https://reviews.llvm.org/D55856 is merged.
|
||||
#
|
||||
# The system STL Android.mk will export -lstdc++, but the Clang driver will
|
||||
# helpfully rewrite -lstdc++ to whatever the default C++ stdlib linker
|
||||
# arguments are, except in the presence of -nostdlib and -nodefaultlibs.
|
||||
# That part of the driver does not account for -nostdlib++. We can fix the
|
||||
# behavior by using -stdlib=libstdc++ so it rewrites -lstdc++ to -lstdc++
|
||||
# instead of -lc++.
|
||||
LOCAL_LDFLAGS += -stdlib=libstdc++
|
||||
|
||||
ifneq (,$(call module-has-c++-features,$(LOCAL_MODULE),rtti exceptions))
|
||||
LOCAL_LDLIBS += -lc++abi
|
||||
endif
|
||||
|
||||
else ifeq ($(APP_STL),c++_static)
|
||||
LOCAL_LDFLAGS += -static-libstdc++
|
||||
endif
|
||||
|
||||
# Else c++_shared, and no flags are needed. Shared libc++ is the default
|
||||
# behavior for Android targets in Clang.
|
||||
#
|
||||
# Invalid values will be checked by ndk-stl-check.
|
||||
|
||||
endif
|
||||
Reference in New Issue
Block a user