From 8cf6b65445d721fa5c8d99ea77d9023a0104f060 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Wed, 5 Sep 2018 11:01:12 -0700 Subject: [PATCH] Remove *_OUT_INTERMEDIATE_LIBRARIES Always use the exact libraries like Soong does instead. Test: m Change-Id: Ifd48020073dd045247f76f84627c497e94562286 --- CleanSpec.mk | 6 ++++++ core/aux_config.mk | 2 -- core/aux_executable.mk | 1 - core/base_rules.mk | 15 -------------- core/binary.mk | 12 ++++++------ core/clear_vars.mk | 2 +- core/definitions.mk | 3 --- core/envsetup.mk | 13 +------------ core/executable.mk | 1 - core/executable_internal.mk | 13 ++++++------- core/header_library.mk | 3 --- core/host_executable.mk | 3 --- core/host_shared_library.mk | 3 --- core/host_shared_library_internal.mk | 7 ------- core/host_static_library.mk | 3 --- core/install_jni_libs_internal.mk | 5 ++--- core/java_renderscript.mk | 6 +++--- core/multi_prebuilt.mk | 4 +--- core/prebuilt.mk | 3 --- core/prebuilt_internal.mk | 20 ------------------- core/shared_library.mk | 1 - core/shared_library_internal.mk | 15 ++++---------- core/soong_cc_prebuilt.mk | 29 ---------------------------- core/static_library.mk | 1 - 24 files changed, 30 insertions(+), 141 deletions(-) diff --git a/CleanSpec.mk b/CleanSpec.mk index 398a00692..a96dd83ae 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -503,6 +503,12 @@ $(call add-clean-step, find $(PRODUCT_OUT) -type l -name "*product-services*" -p # Remove obsolete recovery etc files $(call add-clean-step, rm -rf $(TARGET_RECOVERY_ROOT_OUT)/etc) +# Remove *_OUT_INTERMEDIATE_LIBRARIES +$(call add-clean-step, rm -rf $(addsuffix /lib,\ + $(HOST_OUT_INTERMEDIATES) $(2ND_HOST_OUT_INTERMEDIATES) \ + $(HOST_CROSS_OUT_INTERMEDIATES) $(2ND_HOST_CROSS_OUT_INTERMEDIATES) \ + $(TARGET_OUT_INTERMEDIATES) $(2ND_TARGET_OUT_INTERMEDIATES))) + # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ diff --git a/core/aux_config.mk b/core/aux_config.mk index 6a5cd63b7..d382ff5b3 100644 --- a/core/aux_config.mk +++ b/core/aux_config.mk @@ -47,7 +47,6 @@ $(eval AUX_OUT_$(1) := $(AUX_OUT_ROOT_$(1))/$(AUX_OS_$(1))-$(AUX_ARCH_$(1))-$(AU $(eval AUX_OUT_INTERMEDIATES_$(1) := $(AUX_OUT_$(1))/obj) \ $(eval AUX_OUT_COMMON_INTERMEDIATES_$(1) := $(AUX_COMMON_OUT_ROOT_$(1))/obj) \ $(eval AUX_OUT_HEADERS_$(1) := $(AUX_OUT_INTERMEDIATES_$(1))/include) \ -$(eval AUX_OUT_INTERMEDIATE_LIBRARIES_$(1) := $(AUX_OUT_INTERMEDIATES_$(1))/lib) \ $(eval AUX_OUT_NOTICE_FILES_$(1) := $(AUX_OUT_INTERMEDIATES_$(1))/NOTICE_FILES) \ $(eval AUX_OUT_FAKE_$(1) := $(AUX_OUT_$(1))/fake_packages) \ $(eval AUX_OUT_GEN_$(1) := $(AUX_OUT_$(1))/gen) \ @@ -78,7 +77,6 @@ $(eval AUX_OUT := $(AUX_OUT_$(1))) \ $(eval AUX_OUT_INTERMEDIATES := $(AUX_OUT_INTERMEDIATES_$(1))) \ $(eval AUX_OUT_COMMON_INTERMEDIATES := $(AUX_OUT_COMMON_INTERMEDIATES_$(1))) \ $(eval AUX_OUT_HEADERS := $(AUX_OUT_HEADERS_$(1))) \ -$(eval AUX_OUT_INTERMEDIATE_LIBRARIES := $(AUX_OUT_INTERMEDIATE_LIBRARIES_$(1))) \ $(eval AUX_OUT_NOTICE_FILES := $(AUX_OUT_NOTICE_FILES_$(1))) \ $(eval AUX_OUT_FAKE := $(AUX_OUT_FAKE_$(1))) \ $(eval AUX_OUT_GEN := $(AUX_OUT_GEN_$(1))) \ diff --git a/core/aux_executable.mk b/core/aux_executable.mk index daf30e705..5395e6196 100644 --- a/core/aux_executable.mk +++ b/core/aux_executable.mk @@ -80,7 +80,6 @@ $(cleantarget): PRIVATE_CLEAN_FILES += \ $(linked_module) \ # Define PRIVATE_ variables from global vars -$(linked_module): PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES := $(AUX_OUT_INTERMEDIATE_LIBRARIES) $(linked_module): PRIVATE_POST_LINK_CMD := $(LOCAL_POST_LINK_CMD) ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true) diff --git a/core/base_rules.mk b/core/base_rules.mk index 4db8f2792..fcc8ede2f 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -295,16 +295,6 @@ include $(BUILD_SYSTEM)/configure_module_stem.mk LOCAL_BUILT_MODULE := $(intermediates)/$(my_built_module_stem) -# OVERRIDE_BUILT_MODULE_PATH is only allowed to be used by the -# internal SHARED_LIBRARIES build files. -OVERRIDE_BUILT_MODULE_PATH := $(strip $(OVERRIDE_BUILT_MODULE_PATH)) -ifdef OVERRIDE_BUILT_MODULE_PATH - ifneq ($(LOCAL_MODULE_CLASS),SHARED_LIBRARIES) - $(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH) - endif - $(eval $(call copy-one-file,$(LOCAL_BUILT_MODULE),$(OVERRIDE_BUILT_MODULE_PATH)/$(my_built_module_stem))) -endif - ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE)) # Apk and its attachments reside in its own subdir. ifeq ($(LOCAL_MODULE_CLASS),APPS) @@ -343,11 +333,6 @@ $(LOCAL_BUILT_MODULE).toc: $(LOCAL_BUILT_MODULE) .KATI_RESTAT: $(LOCAL_BUILT_MODULE).toc # Build .toc file when using mm, mma, or make $(my_register_name) $(my_all_targets): $(LOCAL_BUILT_MODULE).toc - -ifdef OVERRIDE_BUILT_MODULE_PATH -$(eval $(call copy-one-file,$(LOCAL_BUILT_MODULE).toc,$(OVERRIDE_BUILT_MODULE_PATH)/$(my_built_module_stem).toc)) -$(OVERRIDE_BUILT_MODULE_PATH)/$(my_built_module_stem).toc: $(OVERRIDE_BUILT_MODULE_PATH)/$(my_built_module_stem) -endif endif endif diff --git a/core/binary.mk b/core/binary.mk index a594149f5..42d6f7640 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -1480,9 +1480,9 @@ a_suffix := $($(my_prefix)STATIC_LIB_SUFFIX) ifneq ($(LOCAL_SDK_VERSION),) built_shared_libraries := \ - $(addprefix $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES)/, \ - $(addsuffix $(so_suffix), \ - $(my_shared_libraries))) + $(foreach lib,$(my_shared_libraries), \ + $(call intermediates-dir-for, \ + SHARED_LIBRARIES,$(lib),$(my_kind),,$(LOCAL_2ND_ARCH_VAR_PREFIX),$(my_host_cross))/$(lib)$(so_suffix)) built_shared_library_deps := $(addsuffix .toc, $(built_shared_libraries)) # Add the NDK libraries to the built module dependency @@ -1506,9 +1506,9 @@ built_shared_libraries += \ else built_shared_libraries := \ - $(addprefix $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES)/, \ - $(addsuffix $(so_suffix), \ - $(installed_shared_library_module_names))) + $(foreach lib,$(installed_shared_library_module_names), \ + $(call intermediates-dir-for, \ + SHARED_LIBRARIES,$(lib),$(my_kind),,$(LOCAL_2ND_ARCH_VAR_PREFIX),$(my_host_cross))/$(lib)$(so_suffix)) built_shared_library_deps := $(addsuffix .toc, $(built_shared_libraries)) my_system_shared_libraries_fullpath := endif diff --git a/core/clear_vars.mk b/core/clear_vars.mk index f738ab409..58495d96f 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -43,7 +43,6 @@ LOCAL_COMPRESSED_MODULE:= LOCAL_CONLYFLAGS:= LOCAL_COPY_HEADERS:= LOCAL_COPY_HEADERS_TO:= -LOCAL_COPY_TO_INTERMEDIATE_LIBRARIES:= LOCAL_CPP_EXTENSION:= LOCAL_CPPFLAGS:= LOCAL_CPP_STD:= @@ -297,6 +296,7 @@ LOCAL_VTS_MODE:= LOCAL_WARNINGS_ENABLE:= LOCAL_WHOLE_STATIC_LIBRARIES:= LOCAL_YACCFLAGS:= +# TODO: deprecate, it does nothing OVERRIDE_BUILT_MODULE_PATH:= # arch specific variables diff --git a/core/definitions.mk b/core/definitions.mk index 6c163df09..7e634cb9f 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -1729,7 +1729,6 @@ endef ifneq ($(HOST_CUSTOM_LD_COMMAND),true) define transform-host-o-to-shared-lib-inner $(hide) $(PRIVATE_CXX) \ - -Wl,-rpath-link=$($(PRIVATE_2ND_ARCH_VAR_PREFIX)$(PRIVATE_PREFIX)OUT_INTERMEDIATE_LIBRARIES) \ -Wl,-rpath,\$$ORIGIN/../$(notdir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)$(PRIVATE_PREFIX)OUT_SHARED_LIBRARIES)) \ -Wl,-rpath,\$$ORIGIN/$(notdir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)$(PRIVATE_PREFIX)OUT_SHARED_LIBRARIES)) \ -shared -Wl,-soname,$(notdir $@) \ @@ -1809,7 +1808,6 @@ $(hide) $(PRIVATE_CXX) -pie \ -Wl,-dynamic-linker,$(PRIVATE_LINKER) \ -Wl,--gc-sections \ -Wl,-z,nocopyreloc \ - -Wl,-rpath-link=$(PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES) \ $(PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O) \ $(PRIVATE_ALL_OBJECTS) \ -Wl,--whole-archive \ @@ -1900,7 +1898,6 @@ $(hide) $(PRIVATE_CXX) \ $(if $(filter true,$(NATIVE_COVERAGE)),-lgcov) \ $(if $(filter true,$(NATIVE_COVERAGE)),$(PRIVATE_HOST_LIBPROFILE_RT)) \ $(PRIVATE_ALL_SHARED_LIBRARIES) \ - -Wl,-rpath-link=$($(PRIVATE_2ND_ARCH_VAR_PREFIX)$(PRIVATE_PREFIX)OUT_INTERMEDIATE_LIBRARIES) \ $(foreach path,$(PRIVATE_RPATHS), \ -Wl,-rpath,\$$ORIGIN/$(path)) \ $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \ diff --git a/core/envsetup.mk b/core/envsetup.mk index 8ffbc194f..644b9126f 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -543,13 +543,11 @@ HOST_CROSS_OUT_TESTCASES := $(HOST_CROSS_OUT)/testcases HOST_CROSS_OUT_TESTCASES HOST_OUT_INTERMEDIATES := $(HOST_OUT)/obj -HOST_OUT_INTERMEDIATE_LIBRARIES := $(HOST_OUT_INTERMEDIATES)/lib HOST_OUT_NOTICE_FILES := $(HOST_OUT_INTERMEDIATES)/NOTICE_FILES HOST_OUT_COMMON_INTERMEDIATES := $(HOST_COMMON_OUT_ROOT)/obj HOST_OUT_FAKE := $(HOST_OUT)/fake_packages .KATI_READONLY := \ HOST_OUT_INTERMEDIATES \ - HOST_OUT_INTERMEDIATE_LIBRARIES \ HOST_OUT_NOTICE_FILES \ HOST_OUT_COMMON_INTERMEDIATES \ HOST_OUT_FAKE @@ -558,11 +556,9 @@ HOST_OUT_FAKE := $(HOST_OUT)/fake_packages include $(BUILD_SYSTEM)/aux_config.mk HOST_CROSS_OUT_INTERMEDIATES := $(HOST_CROSS_OUT)/obj -HOST_CROSS_OUT_INTERMEDIATE_LIBRARIES := $(HOST_CROSS_OUT_INTERMEDIATES)/lib HOST_CROSS_OUT_NOTICE_FILES := $(HOST_CROSS_OUT_INTERMEDIATES)/NOTICE_FILES .KATI_READONLY := \ HOST_CROSS_OUT_INTERMEDIATES \ - HOST_CROSS_OUT_INTERMEDIATE_LIBRARIES \ HOST_CROSS_OUT_NOTICE_FILES HOST_OUT_GEN := $(HOST_OUT)/gen @@ -581,7 +577,6 @@ HOST_OUT_TEST_CONFIG := $(HOST_OUT)/test_config HOST_2ND_ARCH_VAR_PREFIX := 2ND_ HOST_2ND_ARCH_MODULE_SUFFIX := _32 $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES := $(HOST_OUT)/obj32 -$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATE_LIBRARIES := $($(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES)/lib $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT)/lib $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES := $(HOST_OUT_EXECUTABLES) $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_JAVA_LIBRARIES := $(HOST_OUT_JAVA_LIBRARIES) @@ -591,7 +586,6 @@ $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_TESTCASES := $(HOST_OUT_TESTCASES) HOST_2ND_ARCH_VAR_PREFIX \ HOST_2ND_ARCH_MODULE_SUFFIX \ $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES \ - $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATE_LIBRARIES \ $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES \ $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES \ $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_JAVA_LIBRARIES \ @@ -607,7 +601,6 @@ HOST_LIBRARY_PATH := $(HOST_OUT_SHARED_LIBRARIES) HOST_CROSS_2ND_ARCH_VAR_PREFIX := 2ND_ HOST_CROSS_2ND_ARCH_MODULE_SUFFIX := _64 $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES := $(HOST_CROSS_OUT)/obj64 -$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATE_LIBRARIES := $($(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES)/lib $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES := $(HOST_CROSS_OUT)/lib64 $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES := $(HOST_CROSS_OUT_EXECUTABLES) $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_NATIVE_TESTS := $(HOST_CROSS_OUT)/nativetest64 @@ -615,7 +608,6 @@ $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_NATIVE_TESTS := $(HOST_CROSS_OUT HOST_CROSS_2ND_ARCH_VAR_PREFIX \ HOST_CROSS_2ND_ARCH_MODULE_SUFFIX \ $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES \ - $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATE_LIBRARIES \ $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES \ $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES \ $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_NATIVE_TESTS @@ -626,8 +618,7 @@ else TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj endif TARGET_OUT_HEADERS := $(TARGET_OUT_INTERMEDIATES)/include -TARGET_OUT_INTERMEDIATE_LIBRARIES := $(TARGET_OUT_INTERMEDIATES)/lib -.KATI_READONLY := TARGET_OUT_INTERMEDIATES TARGET_OUT_HEADERS TARGET_OUT_INTERMEDIATE_LIBRARIES +.KATI_READONLY := TARGET_OUT_INTERMEDIATES TARGET_OUT_HEADERS ifneq ($(filter address,$(SANITIZE_TARGET)),) TARGET_OUT_COMMON_INTERMEDIATES := $(TARGET_COMMON_OUT_ROOT)/obj_asan @@ -716,7 +707,6 @@ ifneq ($(filter address,$(SANITIZE_TARGET)),) else $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH) endif -$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES)/lib ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SHARED_LIBRARIES := $(target_out_shared_libraries_base)/lib/$(TARGET_2ND_ARCH) else @@ -729,7 +719,6 @@ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_APPS_PRIVILEGED := $(TARGET_OUT_APPS_PRI $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_TESTCASES := $(TARGET_OUT_TESTCASES) .KATI_READONLY := \ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES \ - $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES \ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SHARED_LIBRARIES \ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_RENDERSCRIPT_BITCODE \ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_EXECUTABLES \ diff --git a/core/executable.mk b/core/executable.mk index f1b2462e4..e8b2f3059 100644 --- a/core/executable.mk +++ b/core/executable.mk @@ -79,7 +79,6 @@ endif include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # non-preferred arch is supported -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := diff --git a/core/executable_internal.mk b/core/executable_internal.mk index 4a62fbfbd..70b2ea882 100644 --- a/core/executable_internal.mk +++ b/core/executable_internal.mk @@ -47,13 +47,13 @@ my_target_crtbegin_dynamic_o := my_target_crtbegin_static_o := my_target_crtend_o := else ifdef LOCAL_USE_VNDK -my_target_crtbegin_dynamic_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_dynamic.vendor.o -my_target_crtbegin_static_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_static.vendor.o -my_target_crtend_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_android.vendor.o +my_target_crtbegin_dynamic_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtbegin_dynamic.vendor) +my_target_crtbegin_static_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtbegin_static.vendor) +my_target_crtend_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtend_android.vendor) else -my_target_crtbegin_dynamic_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_dynamic.o -my_target_crtbegin_static_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_static.o -my_target_crtend_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_android.o +my_target_crtbegin_dynamic_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtbegin_dynamic) +my_target_crtbegin_static_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtbegin_static) +my_target_crtend_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtend_android) endif ifneq ($(LOCAL_SDK_VERSION),) my_target_crtbegin_dynamic_o := $(wildcard $(my_ndk_sysroot_lib)/crtbegin_dynamic.o) @@ -65,7 +65,6 @@ $(linked_module): PRIVATE_TARGET_LIBATOMIC := $(my_target_libatomic) $(linked_module): PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O := $(my_target_crtbegin_dynamic_o) $(linked_module): PRIVATE_TARGET_CRTBEGIN_STATIC_O := $(my_target_crtbegin_static_o) $(linked_module): PRIVATE_TARGET_CRTEND_O := $(my_target_crtend_o) -$(linked_module): PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES) $(linked_module): PRIVATE_POST_LINK_CMD := $(LOCAL_POST_LINK_CMD) ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true) diff --git a/core/header_library.mk b/core/header_library.mk index 514467975..3f2730e6a 100644 --- a/core/header_library.mk +++ b/core/header_library.mk @@ -25,7 +25,6 @@ ifdef $(my_prefix)2ND_ARCH ifeq ($(my_module_arch_supported),true) # Build for 2ND_ARCH - OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := @@ -43,7 +42,6 @@ ifdef LOCAL_IS_HOST_MODULE ifeq ($(my_module_arch_supported),true) # Build for 2ND_ARCH - OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := @@ -56,7 +54,6 @@ ifdef LOCAL_IS_HOST_MODULE ifeq ($(my_module_arch_supported),true) # Build for HOST_CROSS_2ND_ARCH - OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := diff --git a/core/host_executable.mk b/core/host_executable.mk index 1480c2c0c..324f5ffc9 100644 --- a/core/host_executable.mk +++ b/core/host_executable.mk @@ -40,7 +40,6 @@ LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for HOST_2ND_ARCH -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := @@ -56,7 +55,6 @@ LOCAL_HOST_PREFIX := $(my_prefix) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for Windows -OVERRIDE_BUILT_MODULE_PATH := # we don't want others using the cross compiled version saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE) saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE) @@ -79,7 +77,6 @@ ifdef HOST_CROSS_2ND_ARCH LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) -OVERRIDE_BUILT_MODULE_PATH := # we don't want others using the cross compiled version saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE) saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE) diff --git a/core/host_shared_library.mk b/core/host_shared_library.mk index 5da791327..e9b3dad23 100644 --- a/core/host_shared_library.mk +++ b/core/host_shared_library.mk @@ -23,7 +23,6 @@ LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for HOST_2ND_ARCH -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := @@ -39,7 +38,6 @@ LOCAL_HOST_PREFIX := $(my_prefix) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for Windows -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_MODULE_SUFFIX := # We don't want makefiles using the cross-compiled host tool @@ -56,7 +54,6 @@ LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for HOST_CROSS_2ND_ARCH -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_MODULE_SUFFIX := # We don't want makefiles using the cross-compiled host tool diff --git a/core/host_shared_library_internal.mk b/core/host_shared_library_internal.mk index 0a3b31701..da2087478 100644 --- a/core/host_shared_library_internal.mk +++ b/core/host_shared_library_internal.mk @@ -13,9 +13,6 @@ endif ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),) LOCAL_MODULE_SUFFIX := $($(my_prefix)SHLIB_SUFFIX) endif -ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),) -$(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH) -endif ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),) $(error $(LOCAL_PATH): Cannot set module stem for a library) endif @@ -34,10 +31,6 @@ endif ifndef skip_build_from_source -# Put the built modules of all shared libraries in a common directory -# to simplify the link line. -OVERRIDE_BUILT_MODULE_PATH := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES) - include $(BUILD_SYSTEM)/binary.mk my_host_libprofile_rt := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)LIBPROFILE_RT) diff --git a/core/host_static_library.mk b/core/host_static_library.mk index aa0421e5e..71f4fd92f 100644 --- a/core/host_static_library.mk +++ b/core/host_static_library.mk @@ -23,7 +23,6 @@ LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for HOST_2ND_ARCH -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := @@ -39,7 +38,6 @@ LOCAL_HOST_PREFIX := $(my_prefix) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for Windows -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := @@ -52,7 +50,6 @@ LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for HOST_CROSS_2ND_ARCH -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := diff --git a/core/install_jni_libs_internal.mk b/core/install_jni_libs_internal.mk index a99d88ad7..eb0b2f357 100644 --- a/core/install_jni_libs_internal.mk +++ b/core/install_jni_libs_internal.mk @@ -13,9 +13,8 @@ # my_jni_shared_libraries := \ - $(addprefix $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/, \ - $(addsuffix .so, \ - $(LOCAL_JNI_SHARED_LIBRARIES))) + $(foreach lib,$(LOCAL_JNI_SHARED_LIBRARIES), \ + $(call intermediates-dir-for,SHARED_LIBRARIES,$(lib),,,$(my_2nd_arch_prefix))/$(lib).so) # App-specific lib path. my_app_lib_path := $(dir $(LOCAL_INSTALLED_MODULE))lib/$(TARGET_$(my_2nd_arch_prefix)ARCH) diff --git a/core/java_renderscript.mk b/core/java_renderscript.mk index cf7591099..406d679d4 100644 --- a/core/java_renderscript.mk +++ b/core/java_renderscript.mk @@ -107,7 +107,7 @@ renderscript_intermediate := $(intermediates)/renderscript # Prevent these from showing up on the device # One exception is librsjni.so, which is needed for # both native path and compat path. -rs_jni_lib := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/librsjni.so +rs_jni_lib := $(call intermediates-dir-for,SHARED_LIBRARIES,librsjni.so)/librsjni.so LOCAL_JNI_SHARED_LIBRARIES += librsjni ifneq (,$(TARGET_BUILD_APPS)$(FORCE_BUILD_RS_COMPAT)) @@ -118,13 +118,13 @@ rs_compatibility_jni_libs := $(addprefix \ $(rs_generated_src_jar): .KATI_IMPLICIT_OUTPUTS += $(rs_generated_bc) -rs_support_lib := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/libRSSupport.so +rs_support_lib := $(call intermediates-dir-for,SHARED_LIBRARIES,libRSSupport)/libRSSupport.so LOCAL_JNI_SHARED_LIBRARIES += libRSSupport rs_support_io_lib := # check if the target api level support USAGE_IO ifeq ($(filter $(RSCOMPAT_NO_USAGEIO_API_LEVELS),$(renderscript_target_api)),) -rs_support_io_lib := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/libRSSupportIO.so +rs_support_io_lib := $(call intermediates-dir-for,SHARED_LIBRARIES,libRSSupportIO)/libRSSupportIO.so LOCAL_JNI_SHARED_LIBRARIES += libRSSupportIO endif diff --git a/core/multi_prebuilt.mk b/core/multi_prebuilt.mk index 77c57ab4b..c97d481f5 100644 --- a/core/multi_prebuilt.mk +++ b/core/multi_prebuilt.mk @@ -38,7 +38,6 @@ multi_prebuilt_once := true # $(2): IS_HOST_MODULE # $(3): MODULE_CLASS # $(4): MODULE_TAGS -# $(5): OVERRIDE_BUILT_MODULE_PATH # $(6): UNINSTALLABLE_MODULE # $(7): BUILT_MODULE_STEM # $(8): LOCAL_STRIP_MODULE @@ -56,7 +55,6 @@ $(foreach t,$(1), \ $(eval LOCAL_IS_HOST_MODULE := $(2)) \ $(eval LOCAL_MODULE_CLASS := $(3)) \ $(eval LOCAL_MODULE_TAGS := $(4)) \ - $(eval OVERRIDE_BUILT_MODULE_PATH := $(5)) \ $(eval LOCAL_UNINSTALLABLE_MODULE := $(6)) \ $(eval tw := $(subst :, ,$(strip $(t)))) \ $(if $(word 3,$(tw)),$(error $(LOCAL_PATH): Bad prebuilt filename '$(t)')) \ @@ -98,7 +96,7 @@ $(call auto-prebuilt-boilerplate, \ $(prebuilt_is_host), \ SHARED_LIBRARIES, \ $(prebuilt_module_tags), \ - $($(if $(prebuilt_is_host),HOST,TARGET)_OUT_INTERMEDIATE_LIBRARIES), \ + , \ , \ , \ $(prebuilt_strip_module)) diff --git a/core/prebuilt.mk b/core/prebuilt.mk index 839e14fa1..fb086258d 100644 --- a/core/prebuilt.mk +++ b/core/prebuilt.mk @@ -47,7 +47,6 @@ LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # secondary arch is supported -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := @@ -66,7 +65,6 @@ LOCAL_HOST_PREFIX := $(my_prefix) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # host cross compilation is supported -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := @@ -81,7 +79,6 @@ LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX) LOCAL_HOST_PREFIX := $(my_prefix) include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk index 256c59846..7d6f3a95e 100644 --- a/core/prebuilt_internal.mk +++ b/core/prebuilt_internal.mk @@ -44,18 +44,6 @@ my_strip_module := $(firstword \ $(LOCAL_STRIP_MODULE)) ifeq (SHARED_LIBRARIES,$(LOCAL_MODULE_CLASS)) - # LOCAL_COPY_TO_INTERMEDIATE_LIBRARIES indicates that this prebuilt should be - # installed to the common directory of libraries. This is needed for the NDK - # shared libraries built by soong, as we build many different versions of each - # library (one for each API level). Since they all have the same basename, - # they'd clobber each other (as well as any platform libraries by the same - # name). - ifneq ($(LOCAL_COPY_TO_INTERMEDIATE_LIBRARIES),false) - # Put the built targets of all shared libraries in a common directory - # to simplify the link line. - OVERRIDE_BUILT_MODULE_PATH := \ - $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES) - endif ifeq ($(LOCAL_IS_HOST_MODULE)$(my_strip_module),) # Strip but not try to add debuglink my_strip_module := no_debuglink @@ -195,14 +183,6 @@ ifdef LOCAL_USE_VNDK endif $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \ $(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(my_shared_libraries)) - -# We also need the LOCAL_BUILT_MODULE dependency, -# since we use -rpath-link which points to the built module's path. -my_built_shared_libraries := \ - $(addprefix $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES)/, \ - $(addsuffix $($(my_prefix)SHLIB_SUFFIX), \ - $(my_shared_libraries))) -$(LOCAL_BUILT_MODULE) : $(my_built_shared_libraries) endif endif diff --git a/core/shared_library.mk b/core/shared_library.mk index a15b1a6ea..2832c179b 100644 --- a/core/shared_library.mk +++ b/core/shared_library.mk @@ -36,7 +36,6 @@ include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for TARGET_2ND_ARCH -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS := diff --git a/core/shared_library_internal.mk b/core/shared_library_internal.mk index ab887e0a0..41e6a95ef 100644 --- a/core/shared_library_internal.mk +++ b/core/shared_library_internal.mk @@ -13,9 +13,6 @@ endif ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),) LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX) endif -ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),) -$(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH) -endif ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)$(LOCAL_MODULE_STEM_32)$(LOCAL_MODULE_STEM_64)),) $(error $(LOCAL_PATH): Cannot set module stem for a library) endif @@ -34,10 +31,6 @@ endif ifndef skip_build_from_source -# Put the built targets of all shared libraries in a common directory -# to simplify the link line. -OVERRIDE_BUILT_MODULE_PATH := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES) - include $(BUILD_SYSTEM)/dynamic_binary.mk # Define PRIVATE_ variables from global vars @@ -51,11 +44,11 @@ ifeq ($(LOCAL_NO_CRT),true) my_target_crtbegin_so_o := my_target_crtend_so_o := else ifdef LOCAL_USE_VNDK -my_target_crtbegin_so_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.vendor.o -my_target_crtend_so_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.vendor.o +my_target_crtbegin_so_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtbegin_so.vendor) +my_target_crtend_so_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtend_so.vendor) else -my_target_crtbegin_so_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_so.o -my_target_crtend_so_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o +my_target_crtbegin_so_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtbegin_so) +my_target_crtend_so_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtend_so) endif ifneq ($(LOCAL_SDK_VERSION),) my_target_crtbegin_so_o := $(wildcard $(my_ndk_sysroot_lib)/crtbegin_so.o) diff --git a/core/soong_cc_prebuilt.mk b/core/soong_cc_prebuilt.mk index 9aa6fb746..9f2030efb 100644 --- a/core/soong_cc_prebuilt.mk +++ b/core/soong_cc_prebuilt.mk @@ -51,21 +51,6 @@ ifndef LOCAL_UNINSTALLABLE_MODULE endif endif -ifeq (SHARED_LIBRARIES,$(LOCAL_MODULE_CLASS)) - # LOCAL_COPY_TO_INTERMEDIATE_LIBRARIES indicates that this prebuilt should be - # installed to the common directory of libraries. This is needed for the NDK - # shared libraries built by soong, as we build many different versions of each - # library (one for each API level). Since they all have the same basename, - # they'd clobber each other (as well as any platform libraries by the same - # name). - ifneq ($(LOCAL_COPY_TO_INTERMEDIATE_LIBRARIES),false) - # Put the built targets of all shared libraries in a common directory - # to simplify the link line. - OVERRIDE_BUILT_MODULE_PATH := \ - $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES) - endif -endif - ####################################### include $(BUILD_SYSTEM)/base_rules.mk ####################################### @@ -87,12 +72,6 @@ ifneq ($(filter STATIC_LIBRARIES SHARED_LIBRARIES HEADER_LIBRARIES,$(LOCAL_MODUL $(eval $(call copy-one-file,$(LOCAL_SOONG_TOC),$(LOCAL_BUILT_MODULE).toc)) $(call add-dependency,$(LOCAL_BUILT_MODULE).toc,$(LOCAL_BUILT_MODULE)) $(my_all_targets): $(LOCAL_BUILT_MODULE).toc - - ifdef OVERRIDE_BUILT_MODULE_PATH - $(eval $(call copy-one-file,$(LOCAL_BUILT_MODULE).toc,$(OVERRIDE_BUILT_MODULE_PATH)/$(my_built_module_stem).toc)) - $(call add-dependency,$(OVERRIDE_BUILT_MODULE_PATH)/$(my_built_module_stem).toc,$(OVERRIDE_BUILT_MODULE_PATH)/$(my_built_module_stem)) - $(my_all_targets): $(OVERRIDE_BUILT_MODULE_PATH)/$(my_built_module_stem).toc - endif endif SOONG_ALREADY_CONV := $(SOONG_ALREADY_CONV) $(LOCAL_MODULE) @@ -125,14 +104,6 @@ ifdef LOCAL_INSTALLED_MODULE endif $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \ $(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(my_shared_libraries)) - - # We also need the LOCAL_BUILT_MODULE dependency, - # since we use -rpath-link which points to the built module's path. - my_built_shared_libraries := \ - $(addprefix $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES)/, \ - $(addsuffix $($(my_prefix)SHLIB_SUFFIX), \ - $(my_shared_libraries))) - $(LOCAL_BUILT_MODULE) : $(my_built_shared_libraries) endif endif diff --git a/core/static_library.mk b/core/static_library.mk index 25e527964..8002e5c27 100644 --- a/core/static_library.mk +++ b/core/static_library.mk @@ -21,7 +21,6 @@ include $(BUILD_SYSTEM)/module_arch_supported.mk ifeq ($(my_module_arch_supported),true) # Build for TARGET_2ND_ARCH -OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := LOCAL_INSTALLED_MODULE := LOCAL_INTERMEDIATE_TARGETS :=