Specify the API level via the triple instead of __ANDROID_API__.
Clang derives the value of __ANDROID_API__ from the triple these days. In a future version of clang I plan to start making the behaviour of the HWASAN pass dependent on the API level in the triple, so it's going to need to be accurate. Test: walleye-userdebug boots Change-Id: I23f570bd8ee4fb3167729a75a5e859efe1883a46
This commit is contained in:
parent
6b466c8f56
commit
e3606ae651
1 changed files with 18 additions and 12 deletions
|
@ -112,6 +112,8 @@ endif
|
||||||
my_ndk_sysroot :=
|
my_ndk_sysroot :=
|
||||||
my_ndk_sysroot_include :=
|
my_ndk_sysroot_include :=
|
||||||
my_ndk_sysroot_lib :=
|
my_ndk_sysroot_lib :=
|
||||||
|
my_api_level := 10000
|
||||||
|
|
||||||
ifneq ($(LOCAL_SDK_VERSION),)
|
ifneq ($(LOCAL_SDK_VERSION),)
|
||||||
ifdef LOCAL_IS_HOST_MODULE
|
ifdef LOCAL_IS_HOST_MODULE
|
||||||
$(error $(LOCAL_PATH): LOCAL_SDK_VERSION cannot be used in host module)
|
$(error $(LOCAL_PATH): LOCAL_SDK_VERSION cannot be used in host module)
|
||||||
|
@ -147,20 +149,14 @@ ifneq ($(LOCAL_SDK_VERSION),)
|
||||||
my_ndk_api := $(call math_max,$(my_ndk_api),$(my_min_sdk_version))
|
my_ndk_api := $(call math_max,$(my_ndk_api),$(my_min_sdk_version))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
my_ndk_api_def := $(my_ndk_api)
|
|
||||||
my_ndk_hist_api := $(my_ndk_api)
|
my_ndk_hist_api := $(my_ndk_api)
|
||||||
ifeq ($(my_ndk_api),current)
|
ifeq ($(my_ndk_api),current)
|
||||||
my_ndk_api_def := __ANDROID_API_FUTURE__
|
|
||||||
# The last API level supported by the old prebuilt NDKs.
|
# The last API level supported by the old prebuilt NDKs.
|
||||||
my_ndk_hist_api := 24
|
my_ndk_hist_api := 24
|
||||||
|
else
|
||||||
|
my_api_level := $(my_ndk_api)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
# Traditionally this has come from android/api-level.h, but with the libc
|
|
||||||
# headers unified it must be set by the build system since we don't have
|
|
||||||
# per-API level copies of that header now.
|
|
||||||
my_cflags += -D__ANDROID_API__=$(my_ndk_api_def)
|
|
||||||
|
|
||||||
my_ndk_source_root := \
|
my_ndk_source_root := \
|
||||||
$(HISTORICAL_NDK_VERSIONS_ROOT)/$(LOCAL_NDK_VERSION)/sources
|
$(HISTORICAL_NDK_VERSIONS_ROOT)/$(LOCAL_NDK_VERSION)/sources
|
||||||
my_ndk_sysroot := \
|
my_ndk_sysroot := \
|
||||||
|
@ -283,14 +279,14 @@ endif
|
||||||
|
|
||||||
ifneq ($(LOCAL_USE_VNDK),)
|
ifneq ($(LOCAL_USE_VNDK),)
|
||||||
# Required VNDK version for vendor modules is BOARD_VNDK_VERSION.
|
# Required VNDK version for vendor modules is BOARD_VNDK_VERSION.
|
||||||
my_vndk_version := $(BOARD_VNDK_VERSION)
|
my_api_level := $(BOARD_VNDK_VERSION)
|
||||||
ifeq ($(my_vndk_version),current)
|
ifeq ($(my_api_level),current)
|
||||||
# Build with current PLATFORM_VNDK_VERSION.
|
# Build with current PLATFORM_VNDK_VERSION.
|
||||||
# If PLATFORM_VNDK_VERSION has a CODENAME, it will return
|
# If PLATFORM_VNDK_VERSION has a CODENAME, it will return
|
||||||
# __ANDROID_API_FUTURE__.
|
# __ANDROID_API_FUTURE__.
|
||||||
my_vndk_version := $(call codename-or-sdk-to-sdk,$(PLATFORM_VNDK_VERSION))
|
my_api_level := $(call codename-or-sdk-to-sdk,$(PLATFORM_VNDK_VERSION))
|
||||||
endif
|
endif
|
||||||
my_cflags += -D__ANDROID_API__=$(my_vndk_version) -D__ANDROID_VNDK__
|
my_cflags += -D__ANDROID_VNDK__
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef LOCAL_IS_HOST_MODULE
|
ifndef LOCAL_IS_HOST_MODULE
|
||||||
|
@ -1625,6 +1621,16 @@ else
|
||||||
my_target_global_ldflags := $($(LOCAL_2ND_ARCH_VAR_PREFIX)CLANG_$(my_prefix)GLOBAL_LDFLAGS)
|
my_target_global_ldflags := $($(LOCAL_2ND_ARCH_VAR_PREFIX)CLANG_$(my_prefix)GLOBAL_LDFLAGS)
|
||||||
endif # my_use_clang_lld
|
endif # my_use_clang_lld
|
||||||
|
|
||||||
|
my_target_triple := $($(LOCAL_2ND_ARCH_VAR_PREFIX)CLANG_$(my_prefix)TRIPLE)
|
||||||
|
ifndef LOCAL_IS_HOST_MODULE
|
||||||
|
my_target_triple_flag := -target $(my_target_triple)$(my_api_level)
|
||||||
|
else
|
||||||
|
my_target_triple_flag := -target $(my_target_triple)
|
||||||
|
endif
|
||||||
|
my_asflags += $(my_target_triple_flag)
|
||||||
|
my_cflags += $(my_target_triple_flag)
|
||||||
|
my_ldflags += $(my_target_triple_flag)
|
||||||
|
|
||||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_GLOBAL_C_INCLUDES := $(my_target_global_c_includes)
|
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_GLOBAL_C_INCLUDES := $(my_target_global_c_includes)
|
||||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_GLOBAL_C_SYSTEM_INCLUDES := $(my_target_global_c_system_includes)
|
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_GLOBAL_C_SYSTEM_INCLUDES := $(my_target_global_c_system_includes)
|
||||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_GLOBAL_CFLAGS := $(my_target_global_cflags)
|
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_GLOBAL_CFLAGS := $(my_target_global_cflags)
|
||||||
|
|
Loading…
Reference in a new issue