From ec14ce578b10bc454996c5821576360088302808 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 4 Feb 2014 11:15:26 -0800 Subject: [PATCH 1/3] remove 2nd arch from ARCH_ARM_* defines Users of ARCH_ARM_* defines don't care about first vs. second arch, set ARCH_ARM_* regardless of which arch is arm. Change-Id: I2ae83ec5c3f839ff91a0e352c95d76ec2cbd5dc5 --- core/combo/arch/arm/armv7-a-neon.mk | 8 ++++---- core/combo/arch/arm/armv7-a.mk | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/combo/arch/arm/armv7-a-neon.mk b/core/combo/arch/arm/armv7-a-neon.mk index 53d9220ad..110533033 100644 --- a/core/combo/arch/arm/armv7-a-neon.mk +++ b/core/combo/arch/arm/armv7-a-neon.mk @@ -1,10 +1,10 @@ # Configuration for Linux on ARM. # Generating binaries for the ARMv7-a architecture and higher with NEON # -$(combo_2nd_arch_prefix)ARCH_ARM_HAVE_ARMV7A := true -$(combo_2nd_arch_prefix)ARCH_ARM_HAVE_VFP := true -$(combo_2nd_arch_prefix)ARCH_ARM_HAVE_VFP_D32 := true -$(combo_2nd_arch_prefix)ARCH_ARM_HAVE_NEON := true +ARCH_ARM_HAVE_ARMV7A := true +ARCH_ARM_HAVE_VFP := true +ARCH_ARM_HAVE_VFP_D32 := true +ARCH_ARM_HAVE_NEON := true ifeq ($(TARGET_CPU_VARIANT),$(filter $(TARGET_CPU_VARIANT),cortex-a15 krait)) arch_variant_cflags := -mcpu=cortex-a15 diff --git a/core/combo/arch/arm/armv7-a.mk b/core/combo/arch/arm/armv7-a.mk index 9549478a5..4a519770f 100644 --- a/core/combo/arch/arm/armv7-a.mk +++ b/core/combo/arch/arm/armv7-a.mk @@ -1,8 +1,8 @@ # Configuration for Linux on ARM. # Generating binaries for the ARMv7-a architecture and higher # -$(combo_2nd_arch_prefix)ARCH_ARM_HAVE_ARMV7A := true -$(combo_2nd_arch_prefix)ARCH_ARM_HAVE_VFP := true +ARCH_ARM_HAVE_ARMV7A := true +ARCH_ARM_HAVE_VFP := true # Note: Hard coding the 'tune' value here is probably not ideal, # and a better solution should be found in the future. From aee1e779f4caf96179793efd03b10590c3ddf6cd Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 4 Feb 2014 11:16:16 -0800 Subject: [PATCH 2/3] don't rename 32-bit executables to *_32 Renaming 32-bit executables to *_32 breaks PRODUCT_PACKAGES dependencies. Change-Id: I53d89991633ef4af03c4e618c463769937a70e38 --- core/base_rules.mk | 2 ++ core/executable.mk | 2 ++ 2 files changed, 4 insertions(+) diff --git a/core/base_rules.mk b/core/base_rules.mk index e87624acb..23d88cf11 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -135,8 +135,10 @@ endif my_register_name := $(LOCAL_MODULE) ifdef LOCAL_2ND_ARCH_VAR_PREFIX +ifndef LOCAL_NO_2ND_ARCH_MODULE_SUFFIX my_register_name := $(LOCAL_MODULE)$(TARGET_2ND_ARCH_MODULE_SUFFIX) endif +endif # Make sure that this IS_HOST/CLASS/MODULE combination is unique. module_id := MODULE.$(if \ $(LOCAL_IS_HOST_MODULE),HOST,TARGET).$(LOCAL_MODULE_CLASS).$(my_register_name) diff --git a/core/executable.mk b/core/executable.mk index 22884b8ef..6d8734eb0 100644 --- a/core/executable.mk +++ b/core/executable.mk @@ -9,5 +9,7 @@ else LOCAL_2ND_ARCH_VAR_PREFIX := endif +LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := true include $(BUILD_SYSTEM)/executable_internal.mk LOCAL_2ND_ARCH_VAR_PREFIX := +LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := From 90353fe86f300af281017100b33a4cb929d3145f Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 4 Feb 2014 14:53:25 -0800 Subject: [PATCH 3/3] add support for more LOCAL_*_arch variables Add support for: LOCAL_SHARED_LIBRARIES_arch LOCAL_STATIC_LIBRARIES_arch LOCAL_WHOLE_STATIC_LIBRARIES_arch LOCAL_GENERATED_SOURCES_arch LOCAL_REQUIRED_MODULES_arch Change-Id: Iad91702e140d8dba7dcaee13f236c77b1e626a34 --- core/base_rules.mk | 2 +- core/binary.mk | 13 +++++++------ core/clear_vars.mk | 10 ++++++++++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/core/base_rules.mk b/core/base_rules.mk index 23d88cf11..a6af2bc92 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -597,7 +597,7 @@ ALL_MODULES.$(my_register_name).BUILT := \ ALL_MODULES.$(my_register_name).INSTALLED := \ $(strip $(ALL_MODULES.$(my_register_name).INSTALLED) $(LOCAL_INSTALLED_MODULE)) ALL_MODULES.$(my_register_name).REQUIRED := \ - $(ALL_MODULES.$(my_register_name).REQUIRED) $(LOCAL_REQUIRED_MODULES) + $(ALL_MODULES.$(my_register_name).REQUIRED) $(LOCAL_REQUIRED_MODULES) $(LOCAL_REQUIRED_MODULES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) ALL_MODULES.$(my_register_name).EVENT_LOG_TAGS := \ $(ALL_MODULES.$(my_register_name).EVENT_LOG_TAGS) $(event_log_tags) ALL_MODULES.$(my_register_name).INTERMEDIATE_SOURCE_DIR := \ diff --git a/core/binary.mk b/core/binary.mk index 957cdc497..3dad049c2 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -86,8 +86,9 @@ include $(BUILD_SYSTEM)/base_rules.mk # Because the same LOCAL_ variables may be used to define modules for both 1st arch and 2nd arch, # we can't modify them in place. my_src_files := $(LOCAL_SRC_FILES) $(LOCAL_SRC_FILES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) -my_static_libraries := $(LOCAL_STATIC_LIBRARIES) -my_shared_libraries := $(LOCAL_SHARED_LIBRARIES) +my_static_libraries := $(LOCAL_STATIC_LIBRARIES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) $(LOCAL_STATIC_LIBRARIES) +my_whole_static_libraries := $(LOCAL_WHOLE_STATIC_LIBRARIES) $(LOCAL_WHOLE_STATIC_LIBRARIES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) +my_shared_libraries := $(LOCAL_SHARED_LIBRARIES) $(LOCAL_SHARED_LIBRARIES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) my_32_64_bit_suffix := $(if $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_IS_64_BIT),64,32) my_cflags := $(LOCAL_CFLAGS) $(LOCAL_CFLAGS_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) $(LOCAL_CFLAGS_$(my_32_64_bit_suffix)) my_cppflags := $(LOCAL_CPPFLAGS) @@ -96,7 +97,7 @@ my_asflags := $(LOCAL_ASFLAGS) $(LOCAL_ASFLAGS_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PRE my_cc := $(LOCAL_CC) my_cxx := $(LOCAL_CXX) my_c_includes := $(LOCAL_C_INCLUDES) $(LOCAL_C_INCLUDES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) $(LOCAL_C_INCLUDES_$(my_32_64_bit_suffix)) -my_generated_sources := $(LOCAL_GENERATED_SOURCES) +my_generated_sources := $(LOCAL_GENERATED_SOURCES) $(LOCAL_GENERATED_SOURCES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) my_cflags := $(filter-out $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_UNSUPPORTED_CFLAGS),$(my_cflags)) @@ -652,7 +653,7 @@ import_includes := $(intermediates)/import_includes import_includes_deps := $(strip \ $(foreach l, $(installed_shared_library_module_names), \ $(call intermediates-dir-for,SHARED_LIBRARIES,$(l),$(LOCAL_IS_HOST_MODULE),,$(LOCAL_2ND_ARCH_VAR_PREFIX))/export_includes) \ - $(foreach l, $(my_static_libraries) $(LOCAL_WHOLE_STATIC_LIBRARIES), \ + $(foreach l, $(my_static_libraries) $(my_whole_static_libraries), \ $(call intermediates-dir-for,STATIC_LIBRARIES,$(l),$(LOCAL_IS_HOST_MODULE),,$(LOCAL_2ND_ARCH_VAR_PREFIX))/export_includes)) $(import_includes) : $(import_includes_deps) @echo Import includes file: $@ @@ -771,7 +772,7 @@ built_static_libraries += $(my_ndk_stl_static_lib) endif built_whole_libraries := \ - $(foreach lib,$(LOCAL_WHOLE_STATIC_LIBRARIES), \ + $(foreach lib,$(my_whole_static_libraries), \ $(call intermediates-dir-for, \ STATIC_LIBRARIES,$(lib),$(LOCAL_IS_HOST_MODULE),,$(LOCAL_2ND_ARCH_VAR_PREFIX))/$(lib)$(a_suffix)) @@ -781,7 +782,7 @@ built_whole_libraries := \ # libraries that we use. (see notice_files.mk) installed_static_library_notice_file_targets := \ - $(foreach lib,$(my_static_libraries) $(LOCAL_WHOLE_STATIC_LIBRARIES), \ + $(foreach lib,$(my_static_libraries) $(my_whole_static_libraries), \ NOTICE-$(if $(LOCAL_IS_HOST_MODULE),HOST,TARGET)-STATIC_LIBRARIES-$(lib)) # Default is -fno-rtti. diff --git a/core/clear_vars.mk b/core/clear_vars.mk index f884b194c..0f6308cfc 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -153,6 +153,11 @@ LOCAL_C_INCLUDES_$(TARGET_ARCH):= LOCAL_ASFLAGS_$(TARGET_ARCH):= LOCAL_NO_CRT_$(TARGET_ARCH):= LOCAL_LDFLAGS_$(TARGET_ARCH):= +LOCAL_SHARED_LIBRARIES_$(TARGET_ARCH):= +LOCAL_STATIC_LIBRARIES_$(TARGET_ARCH):= +LOCAL_WHOLE_STATIC_LIBRARIES_$(TARGET_ARCH):= +LOCAL_GENERATED_SOURCES_$(TARGET_ARCH):= +LOCAL_REQUIRED_MODULES_$(TARGET_ARCH):= ifdef TARGET_2ND_ARCH LOCAL_SRC_FILES_$(TARGET_2ND_ARCH):= LOCAL_CFLAGS_$(TARGET_2ND_ARCH):= @@ -160,6 +165,11 @@ LOCAL_C_INCLUDES_$(TARGET_2ND_ARCH):= LOCAL_ASFLAGS_$(TARGET_2ND_ARCH):= LOCAL_NO_CRT_$(TARGET_2ND_ARCH):= LOCAL_LDFLAGS_$(TARGET_2ND_ARCH):= +LOCAL_SHARED_LIBRARIES_$(TARGET_2ND_ARCH):= +LOCAL_STATIC_LIBRARIES_$(TARGET_2ND_ARCH):= +LOCAL_WHOLE_STATIC_LIBRARIES_$(TARGET_2ND_ARCH):= +LOCAL_GENERATED_SOURCES_$(TARGET_2ND_ARCH):= +LOCAL_REQUIRED_MODULES_$(TARGET_2ND_ARCH):= endif LOCAL_CFLAGS_32:=