Loading core/base_rules.mk +4 −1 Original line number Diff line number Diff line Loading @@ -885,6 +885,9 @@ ALL_DEPS.$(LOCAL_MODULE).ALL_DEPS := $(sort \ $(LOCAL_STATIC_LIBRARIES) \ $(LOCAL_WHOLE_STATIC_LIBRARIES) \ $(LOCAL_SHARED_LIBRARIES) \ $(LOCAL_DYLIB_LIBRARIES) \ $(LOCAL_RLIB_LIBRARIES) \ $(LOCAL_PROC_MACRO_LIBRARIES) \ $(LOCAL_HEADER_LIBRARIES) \ $(LOCAL_STATIC_JAVA_LIBRARIES) \ $(LOCAL_JAVA_LIBRARIES) \ Loading @@ -908,7 +911,7 @@ $(foreach tag,$(filter-out optional,$(my_module_tags)),\ ## umbrella targets used to verify builds ########################################################### j_or_n := ifneq (,$(filter EXECUTABLES SHARED_LIBRARIES STATIC_LIBRARIES HEADER_LIBRARIES NATIVE_TESTS,$(LOCAL_MODULE_CLASS))) ifneq (,$(filter EXECUTABLES SHARED_LIBRARIES STATIC_LIBRARIES HEADER_LIBRARIES NATIVE_TESTS RLIB_LIBRARIES DYLIB_LIBRARIES PROC_MACRO_LIBRARIES,$(LOCAL_MODULE_CLASS))) j_or_n := native else ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS))) Loading core/clear_vars.mk +3 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ LOCAL_DROIDDOC_STUBS_SRCJAR := LOCAL_DROIDDOC_TEMPLATE_DIR:= LOCAL_DROIDDOC_USE_STANDARD_DOCLET:= LOCAL_DX_FLAGS:= LOCAL_DYLIB_LIBRARIES:= LOCAL_EMMA_COVERAGE_FILTER:= LOCAL_EMMA_INSTRUMENT:= LOCAL_ENFORCE_USES_LIBRARIES:= Loading Loading @@ -214,6 +215,7 @@ LOCAL_USE_EMBEDDED_NATIVE_LIBS:= LOCAL_PRESUBMIT_DISABLED:= LOCAL_PRIVATE_PLATFORM_APIS:= LOCAL_PRIVILEGED_MODULE:= LOCAL_PROC_MACRO_LIBRARIES:= # '',full,custom,disabled,obfuscation,optimization LOCAL_PRODUCT_MODULE:= # TODO(b/135957588) Remove LOCAL_PRODUCT_SERVICES_MODULE Loading Loading @@ -241,6 +243,7 @@ LOCAL_REPLACE_PREBUILT_APK_INSTALLED:= LOCAL_REQUIRED_MODULES:= LOCAL_RES_LIBRARIES:= LOCAL_RESOURCE_DIR:= LOCAL_RLIB_LIBRARIES:= LOCAL_RMTYPEDEFS:= LOCAL_RRO_THEME:= LOCAL_RTTI_FLAG:= Loading core/envsetup.mk +2 −1 Original line number Diff line number Diff line Loading @@ -328,6 +328,7 @@ SOONG_HOST_OUT_EXECUTABLES := $(SOONG_HOST_OUT)/bin HOST_OUT_EXECUTABLES := $(HOST_OUT)/bin HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT)/lib64 HOST_OUT_DYLIB_LIBRARIES := $(HOST_OUT)/lib64 HOST_OUT_RENDERSCRIPT_BITCODE := $(HOST_OUT_SHARED_LIBRARIES) HOST_OUT_JAVA_LIBRARIES := $(HOST_OUT)/framework HOST_OUT_SDK_ADDON := $(HOST_OUT)/sdk_addon Loading Loading @@ -895,7 +896,7 @@ TARGET_INSTALLER_SYSTEM_OUT := $(TARGET_INSTALLER_OUT)/root/system TARGET_INSTALLER_SYSTEM_OUT COMMON_MODULE_CLASSES := TARGET-NOTICE_FILES HOST-NOTICE_FILES HOST-JAVA_LIBRARIES PER_ARCH_MODULE_CLASSES := SHARED_LIBRARIES STATIC_LIBRARIES EXECUTABLES GYP RENDERSCRIPT_BITCODE NATIVE_TESTS HEADER_LIBRARIES PER_ARCH_MODULE_CLASSES := SHARED_LIBRARIES STATIC_LIBRARIES EXECUTABLES GYP RENDERSCRIPT_BITCODE NATIVE_TESTS HEADER_LIBRARIES RLIB_LIBRARIES DYLIB_LIBRARIES .KATI_READONLY := COMMON_MODULE_CLASSES PER_ARCH_MODULE_CLASSES ifeq ($(CALLED_FROM_SETUP),true) Loading core/notice_files.mk +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ ifdef LOCAL_INSTALLED_MODULE module_installed_filename := $(patsubst $(PRODUCT_OUT)/%,%,$(LOCAL_INSTALLED_MODULE)) else # This module isn't installable ifneq ($(filter STATIC_LIBRARIES HEADER_LIBRARIES,$(LOCAL_MODULE_CLASS)),) ifneq ($(filter STATIC_LIBRARIES RLIB_LIBRARIES PROC_MACRO_LIBRARIES HEADER_LIBRARIES,$(LOCAL_MODULE_CLASS)),) # Stick the static libraries with the dynamic libraries. # We can't use xxx_OUT_STATIC_LIBRARIES because it points into # device-obj or host-obj. Loading core/soong_rust_prebuilt.mk 0 → 100644 +127 −0 Original line number Diff line number Diff line # Native prebuilt coming from Soong. # Extra inputs: # LOCAL_SOONG_UNSTRIPPED_BINARY ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK)) $(call pretty-error,soong_rust_prebuilt.mk may only be used from Soong) endif ifdef LOCAL_IS_HOST_MODULE ifneq ($(HOST_OS),$(LOCAL_MODULE_HOST_OS)) my_prefix := HOST_CROSS_ LOCAL_HOST_PREFIX := $(my_prefix) else my_prefix := HOST_ LOCAL_HOST_PREFIX := endif else my_prefix := TARGET_ endif ifeq ($($(my_prefix)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH)) # primary arch LOCAL_2ND_ARCH_VAR_PREFIX := else ifeq ($($(my_prefix)2ND_ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH)) # secondary arch LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX) else $(call pretty-error,Unsupported LOCAL_MODULE_$(my_prefix)ARCH=$(LOCAL_MODULE_$(my_prefix)ARCH)) endif skip_module := ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) ifndef LOCAL_IS_HOST_MODULE ifdef LOCAL_2ND_ARCH_VAR_PREFIX # Only support rlib and dylib libraries for translated arch ifeq ($(filter RLIB_LIBRARIES DYLIB_LIBRARIES PROC_MACRO_LIBRARIES,$(LOCAL_MODULE_CLASS)),) skip_module := true endif endif endif endif ifndef skip_module # Don't install rlib/proc_macro libraries. ifndef LOCAL_UNINSTALLABLE_MODULE ifneq ($(filter RLIB_LIBRARIES PROC_MACRO_LIBRARIES,$(LOCAL_MODULE_CLASS)),) LOCAL_UNINSTALLABLE_MODULE := true endif endif ####################################### include $(BUILD_SYSTEM)/base_rules.mk ####################################### # The real dependency will be added after all Android.mks are loaded and the install paths # of the shared libraries are determined. ifdef LOCAL_INSTALLED_MODULE ifdef LOCAL_SHARED_LIBRARIES my_shared_libraries := $(LOCAL_SHARED_LIBRARIES) $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \ $(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(my_shared_libraries)) endif ifdef LOCAL_DYLIB_LIBRARIES my_dylibs := $(LOCAL_DYLIB_LIBRARIES) # Treat these as shared library dependencies for installation purposes. $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \ $(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(my_dylibs)) endif endif $(LOCAL_BUILT_MODULE): $(LOCAL_PREBUILT_MODULE_FILE) $(transform-prebuilt-to-target) ifneq ($(filter EXECUTABLES,$(LOCAL_MODULE_CLASS)),) $(hide) chmod +x $@ endif ifndef LOCAL_IS_HOST_MODULE ifdef LOCAL_SOONG_UNSTRIPPED_BINARY my_symbol_path := $(if $(LOCAL_SOONG_SYMBOL_PATH),$(LOCAL_SOONG_SYMBOL_PATH),$(my_module_path)) # Store a copy with symbols for symbolic debugging my_unstripped_path := $(TARGET_OUT_UNSTRIPPED)/$(patsubst $(PRODUCT_OUT)/%,%,$(my_symbol_path)) # drop /root as /root is mounted as / my_unstripped_path := $(patsubst $(TARGET_OUT_UNSTRIPPED)/root/%,$(TARGET_OUT_UNSTRIPPED)/%, $(my_unstripped_path)) symbolic_output := $(my_unstripped_path)/$(my_installed_module_stem) $(eval $(call copy-one-file,$(LOCAL_SOONG_UNSTRIPPED_BINARY),$(symbolic_output))) $(call add-dependency,$(LOCAL_BUILT_MODULE),$(symbolic_output)) endif endif # A product may be configured to strip everything in some build variants. # We do the stripping as a post-install command so that LOCAL_BUILT_MODULE # is still with the symbols and we don't need to clean it (and relink) when # you switch build variant. ifneq ($(filter $(STRIP_EVERYTHING_BUILD_VARIANTS),$(TARGET_BUILD_VARIANT)),) $(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := \ $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_STRIP) --strip-all $(LOCAL_INSTALLED_MODULE) endif $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES) # We don't care about installed rlib/static libraries, since the libraries have # already been linked into the module at that point. We do, however, care # about the NOTICE files for any rlib/static libraries that we use. # (see notice_files.mk) # # Filter out some NDK libraries that are not being exported. my_static_libraries := \ $(filter-out ndk_libc++_static ndk_libc++abi ndk_libandroid_support ndk_libunwind \ ndk_libc++_static.native_bridge ndk_libc++abi.native_bridge \ ndk_libandroid_support.native_bridge ndk_libunwind.native_bridge, \ $(LOCAL_STATIC_LIBRARIES)) installed_static_library_notice_file_targets := \ $(foreach lib,$(my_static_libraries), \ NOTICE-$(if $(LOCAL_IS_HOST_MODULE),HOST$(if $(my_host_cross),_CROSS,),TARGET)-STATIC_LIBRARIES-$(lib)) installed_static_library_notice_file_targets += \ $(foreach lib,$(LOCAL_RLIB_LIBRARIES), \ NOTICE-$(if $(LOCAL_IS_HOST_MODULE),HOST$(if $(my_host_cross),_CROSS,),TARGET)-RLIB_LIBRARIES-$(lib)) $(notice_target): | $(installed_static_library_notice_file_targets) $(LOCAL_INSTALLED_MODULE): | $(notice_target) endif # !skip_module skip_module := Loading
core/base_rules.mk +4 −1 Original line number Diff line number Diff line Loading @@ -885,6 +885,9 @@ ALL_DEPS.$(LOCAL_MODULE).ALL_DEPS := $(sort \ $(LOCAL_STATIC_LIBRARIES) \ $(LOCAL_WHOLE_STATIC_LIBRARIES) \ $(LOCAL_SHARED_LIBRARIES) \ $(LOCAL_DYLIB_LIBRARIES) \ $(LOCAL_RLIB_LIBRARIES) \ $(LOCAL_PROC_MACRO_LIBRARIES) \ $(LOCAL_HEADER_LIBRARIES) \ $(LOCAL_STATIC_JAVA_LIBRARIES) \ $(LOCAL_JAVA_LIBRARIES) \ Loading @@ -908,7 +911,7 @@ $(foreach tag,$(filter-out optional,$(my_module_tags)),\ ## umbrella targets used to verify builds ########################################################### j_or_n := ifneq (,$(filter EXECUTABLES SHARED_LIBRARIES STATIC_LIBRARIES HEADER_LIBRARIES NATIVE_TESTS,$(LOCAL_MODULE_CLASS))) ifneq (,$(filter EXECUTABLES SHARED_LIBRARIES STATIC_LIBRARIES HEADER_LIBRARIES NATIVE_TESTS RLIB_LIBRARIES DYLIB_LIBRARIES PROC_MACRO_LIBRARIES,$(LOCAL_MODULE_CLASS))) j_or_n := native else ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS))) Loading
core/clear_vars.mk +3 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ LOCAL_DROIDDOC_STUBS_SRCJAR := LOCAL_DROIDDOC_TEMPLATE_DIR:= LOCAL_DROIDDOC_USE_STANDARD_DOCLET:= LOCAL_DX_FLAGS:= LOCAL_DYLIB_LIBRARIES:= LOCAL_EMMA_COVERAGE_FILTER:= LOCAL_EMMA_INSTRUMENT:= LOCAL_ENFORCE_USES_LIBRARIES:= Loading Loading @@ -214,6 +215,7 @@ LOCAL_USE_EMBEDDED_NATIVE_LIBS:= LOCAL_PRESUBMIT_DISABLED:= LOCAL_PRIVATE_PLATFORM_APIS:= LOCAL_PRIVILEGED_MODULE:= LOCAL_PROC_MACRO_LIBRARIES:= # '',full,custom,disabled,obfuscation,optimization LOCAL_PRODUCT_MODULE:= # TODO(b/135957588) Remove LOCAL_PRODUCT_SERVICES_MODULE Loading Loading @@ -241,6 +243,7 @@ LOCAL_REPLACE_PREBUILT_APK_INSTALLED:= LOCAL_REQUIRED_MODULES:= LOCAL_RES_LIBRARIES:= LOCAL_RESOURCE_DIR:= LOCAL_RLIB_LIBRARIES:= LOCAL_RMTYPEDEFS:= LOCAL_RRO_THEME:= LOCAL_RTTI_FLAG:= Loading
core/envsetup.mk +2 −1 Original line number Diff line number Diff line Loading @@ -328,6 +328,7 @@ SOONG_HOST_OUT_EXECUTABLES := $(SOONG_HOST_OUT)/bin HOST_OUT_EXECUTABLES := $(HOST_OUT)/bin HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT)/lib64 HOST_OUT_DYLIB_LIBRARIES := $(HOST_OUT)/lib64 HOST_OUT_RENDERSCRIPT_BITCODE := $(HOST_OUT_SHARED_LIBRARIES) HOST_OUT_JAVA_LIBRARIES := $(HOST_OUT)/framework HOST_OUT_SDK_ADDON := $(HOST_OUT)/sdk_addon Loading Loading @@ -895,7 +896,7 @@ TARGET_INSTALLER_SYSTEM_OUT := $(TARGET_INSTALLER_OUT)/root/system TARGET_INSTALLER_SYSTEM_OUT COMMON_MODULE_CLASSES := TARGET-NOTICE_FILES HOST-NOTICE_FILES HOST-JAVA_LIBRARIES PER_ARCH_MODULE_CLASSES := SHARED_LIBRARIES STATIC_LIBRARIES EXECUTABLES GYP RENDERSCRIPT_BITCODE NATIVE_TESTS HEADER_LIBRARIES PER_ARCH_MODULE_CLASSES := SHARED_LIBRARIES STATIC_LIBRARIES EXECUTABLES GYP RENDERSCRIPT_BITCODE NATIVE_TESTS HEADER_LIBRARIES RLIB_LIBRARIES DYLIB_LIBRARIES .KATI_READONLY := COMMON_MODULE_CLASSES PER_ARCH_MODULE_CLASSES ifeq ($(CALLED_FROM_SETUP),true) Loading
core/notice_files.mk +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ ifdef LOCAL_INSTALLED_MODULE module_installed_filename := $(patsubst $(PRODUCT_OUT)/%,%,$(LOCAL_INSTALLED_MODULE)) else # This module isn't installable ifneq ($(filter STATIC_LIBRARIES HEADER_LIBRARIES,$(LOCAL_MODULE_CLASS)),) ifneq ($(filter STATIC_LIBRARIES RLIB_LIBRARIES PROC_MACRO_LIBRARIES HEADER_LIBRARIES,$(LOCAL_MODULE_CLASS)),) # Stick the static libraries with the dynamic libraries. # We can't use xxx_OUT_STATIC_LIBRARIES because it points into # device-obj or host-obj. Loading
core/soong_rust_prebuilt.mk 0 → 100644 +127 −0 Original line number Diff line number Diff line # Native prebuilt coming from Soong. # Extra inputs: # LOCAL_SOONG_UNSTRIPPED_BINARY ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK)) $(call pretty-error,soong_rust_prebuilt.mk may only be used from Soong) endif ifdef LOCAL_IS_HOST_MODULE ifneq ($(HOST_OS),$(LOCAL_MODULE_HOST_OS)) my_prefix := HOST_CROSS_ LOCAL_HOST_PREFIX := $(my_prefix) else my_prefix := HOST_ LOCAL_HOST_PREFIX := endif else my_prefix := TARGET_ endif ifeq ($($(my_prefix)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH)) # primary arch LOCAL_2ND_ARCH_VAR_PREFIX := else ifeq ($($(my_prefix)2ND_ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH)) # secondary arch LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX) else $(call pretty-error,Unsupported LOCAL_MODULE_$(my_prefix)ARCH=$(LOCAL_MODULE_$(my_prefix)ARCH)) endif skip_module := ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) ifndef LOCAL_IS_HOST_MODULE ifdef LOCAL_2ND_ARCH_VAR_PREFIX # Only support rlib and dylib libraries for translated arch ifeq ($(filter RLIB_LIBRARIES DYLIB_LIBRARIES PROC_MACRO_LIBRARIES,$(LOCAL_MODULE_CLASS)),) skip_module := true endif endif endif endif ifndef skip_module # Don't install rlib/proc_macro libraries. ifndef LOCAL_UNINSTALLABLE_MODULE ifneq ($(filter RLIB_LIBRARIES PROC_MACRO_LIBRARIES,$(LOCAL_MODULE_CLASS)),) LOCAL_UNINSTALLABLE_MODULE := true endif endif ####################################### include $(BUILD_SYSTEM)/base_rules.mk ####################################### # The real dependency will be added after all Android.mks are loaded and the install paths # of the shared libraries are determined. ifdef LOCAL_INSTALLED_MODULE ifdef LOCAL_SHARED_LIBRARIES my_shared_libraries := $(LOCAL_SHARED_LIBRARIES) $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \ $(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(my_shared_libraries)) endif ifdef LOCAL_DYLIB_LIBRARIES my_dylibs := $(LOCAL_DYLIB_LIBRARIES) # Treat these as shared library dependencies for installation purposes. $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \ $(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(my_dylibs)) endif endif $(LOCAL_BUILT_MODULE): $(LOCAL_PREBUILT_MODULE_FILE) $(transform-prebuilt-to-target) ifneq ($(filter EXECUTABLES,$(LOCAL_MODULE_CLASS)),) $(hide) chmod +x $@ endif ifndef LOCAL_IS_HOST_MODULE ifdef LOCAL_SOONG_UNSTRIPPED_BINARY my_symbol_path := $(if $(LOCAL_SOONG_SYMBOL_PATH),$(LOCAL_SOONG_SYMBOL_PATH),$(my_module_path)) # Store a copy with symbols for symbolic debugging my_unstripped_path := $(TARGET_OUT_UNSTRIPPED)/$(patsubst $(PRODUCT_OUT)/%,%,$(my_symbol_path)) # drop /root as /root is mounted as / my_unstripped_path := $(patsubst $(TARGET_OUT_UNSTRIPPED)/root/%,$(TARGET_OUT_UNSTRIPPED)/%, $(my_unstripped_path)) symbolic_output := $(my_unstripped_path)/$(my_installed_module_stem) $(eval $(call copy-one-file,$(LOCAL_SOONG_UNSTRIPPED_BINARY),$(symbolic_output))) $(call add-dependency,$(LOCAL_BUILT_MODULE),$(symbolic_output)) endif endif # A product may be configured to strip everything in some build variants. # We do the stripping as a post-install command so that LOCAL_BUILT_MODULE # is still with the symbols and we don't need to clean it (and relink) when # you switch build variant. ifneq ($(filter $(STRIP_EVERYTHING_BUILD_VARIANTS),$(TARGET_BUILD_VARIANT)),) $(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := \ $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_STRIP) --strip-all $(LOCAL_INSTALLED_MODULE) endif $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES) # We don't care about installed rlib/static libraries, since the libraries have # already been linked into the module at that point. We do, however, care # about the NOTICE files for any rlib/static libraries that we use. # (see notice_files.mk) # # Filter out some NDK libraries that are not being exported. my_static_libraries := \ $(filter-out ndk_libc++_static ndk_libc++abi ndk_libandroid_support ndk_libunwind \ ndk_libc++_static.native_bridge ndk_libc++abi.native_bridge \ ndk_libandroid_support.native_bridge ndk_libunwind.native_bridge, \ $(LOCAL_STATIC_LIBRARIES)) installed_static_library_notice_file_targets := \ $(foreach lib,$(my_static_libraries), \ NOTICE-$(if $(LOCAL_IS_HOST_MODULE),HOST$(if $(my_host_cross),_CROSS,),TARGET)-STATIC_LIBRARIES-$(lib)) installed_static_library_notice_file_targets += \ $(foreach lib,$(LOCAL_RLIB_LIBRARIES), \ NOTICE-$(if $(LOCAL_IS_HOST_MODULE),HOST$(if $(my_host_cross),_CROSS,),TARGET)-RLIB_LIBRARIES-$(lib)) $(notice_target): | $(installed_static_library_notice_file_targets) $(LOCAL_INSTALLED_MODULE): | $(notice_target) endif # !skip_module skip_module :=