Loading core/install_jni_libs_internal.mk +27 −7 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ # my_prebuilt_jni_libs # my_installed_module_stem (from configure_module_stem.mk) # partition_tag (from base_rules.mk) # partition_lib_pairs # my_prebuilt_src_file (from prebuilt_internal.mk) # # Output variables: Loading Loading @@ -66,6 +67,24 @@ else ifneq ($(my_jni_shared_libraries),) # not my_embed_jni ifeq ($(filter address,$(SANITIZE_TARGET)),) my_symlink_target_dir := $(patsubst $(PRODUCT_OUT)%,%,\ $(my_shared_library_path)) ifdef partition_lib_pairs # Support cross-partition jni lib dependency for bp modules # API domain check is done in Soong $(foreach pl_pair,$(partition_lib_pairs),\ $(eval lib_name := $(call word-colon, 1, $(pl_pair)))\ $(eval lib_partition := $(call word-colon, 2, $(pl_pair)))\ $(eval shared_library_path := $(call get_non_asan_path,\ $($(my_2nd_arch_prefix)TARGET_OUT$(lib_partition)_SHARED_LIBRARIES)))\ $(call symlink-file,\ $(shared_library_path)/$(lib_name).so,\ $(my_symlink_target_dir)/$(lib_name).so,\ $(my_app_lib_path)/$(lib_name).so)\ $(eval $$(LOCAL_INSTALLED_MODULE) : $$(my_app_lib_path)/$$(lib_name).so)\ $(eval ALL_MODULES.$(my_register_name).INSTALLED += $$(my_app_lib_path)/$$(lib_name).so)) else # Cross-partition jni lib dependency currently not supported for mk modules $(foreach lib,$(my_jni_filenames),\ $(call symlink-file, \ $(my_shared_library_path)/$(lib), \ Loading @@ -73,6 +92,7 @@ else ifneq ($(my_jni_shared_libraries),) # not my_embed_jni $(my_app_lib_path)/$(lib)) \ $(eval $$(LOCAL_INSTALLED_MODULE) : $$(my_app_lib_path)/$$(lib)) \ $(eval ALL_MODULES.$(my_register_name).INSTALLED += $$(my_app_lib_path)/$$(lib))) endif # partition_lib_pairs endif # Clear jni_shared_libraries to not embed it into the apk. Loading core/soong_app_prebuilt.mk +3 −0 Original line number Diff line number Diff line Loading @@ -165,12 +165,14 @@ my_prebuilt_jni_libs := ifdef LOCAL_SOONG_JNI_LIBS_$(TARGET_ARCH) my_2nd_arch_prefix := LOCAL_JNI_SHARED_LIBRARIES := $(LOCAL_SOONG_JNI_LIBS_$(TARGET_ARCH)) partition_lib_pairs := $(LOCAL_SOONG_JNI_LIBS_PARTITION_$(TARGET_ARCH)) include $(BUILD_SYSTEM)/install_jni_libs_internal.mk endif ifdef TARGET_2ND_ARCH ifdef LOCAL_SOONG_JNI_LIBS_$(TARGET_2ND_ARCH) my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX) LOCAL_JNI_SHARED_LIBRARIES := $(LOCAL_SOONG_JNI_LIBS_$(TARGET_2ND_ARCH)) partition_lib_pairs := $(LOCAL_SOONG_JNI_LIBS_PARTITION_$(TARGET_2ND_ARCH)) include $(BUILD_SYSTEM)/install_jni_libs_internal.mk endif endif Loading @@ -178,6 +180,7 @@ LOCAL_SHARED_JNI_LIBRARIES := my_embed_jni := my_prebuilt_jni_libs := my_2nd_arch_prefix := partition_lib_pairs := PACKAGES := $(PACKAGES) $(LOCAL_MODULE) ifndef LOCAL_CERTIFICATE Loading Loading
core/install_jni_libs_internal.mk +27 −7 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ # my_prebuilt_jni_libs # my_installed_module_stem (from configure_module_stem.mk) # partition_tag (from base_rules.mk) # partition_lib_pairs # my_prebuilt_src_file (from prebuilt_internal.mk) # # Output variables: Loading Loading @@ -66,6 +67,24 @@ else ifneq ($(my_jni_shared_libraries),) # not my_embed_jni ifeq ($(filter address,$(SANITIZE_TARGET)),) my_symlink_target_dir := $(patsubst $(PRODUCT_OUT)%,%,\ $(my_shared_library_path)) ifdef partition_lib_pairs # Support cross-partition jni lib dependency for bp modules # API domain check is done in Soong $(foreach pl_pair,$(partition_lib_pairs),\ $(eval lib_name := $(call word-colon, 1, $(pl_pair)))\ $(eval lib_partition := $(call word-colon, 2, $(pl_pair)))\ $(eval shared_library_path := $(call get_non_asan_path,\ $($(my_2nd_arch_prefix)TARGET_OUT$(lib_partition)_SHARED_LIBRARIES)))\ $(call symlink-file,\ $(shared_library_path)/$(lib_name).so,\ $(my_symlink_target_dir)/$(lib_name).so,\ $(my_app_lib_path)/$(lib_name).so)\ $(eval $$(LOCAL_INSTALLED_MODULE) : $$(my_app_lib_path)/$$(lib_name).so)\ $(eval ALL_MODULES.$(my_register_name).INSTALLED += $$(my_app_lib_path)/$$(lib_name).so)) else # Cross-partition jni lib dependency currently not supported for mk modules $(foreach lib,$(my_jni_filenames),\ $(call symlink-file, \ $(my_shared_library_path)/$(lib), \ Loading @@ -73,6 +92,7 @@ else ifneq ($(my_jni_shared_libraries),) # not my_embed_jni $(my_app_lib_path)/$(lib)) \ $(eval $$(LOCAL_INSTALLED_MODULE) : $$(my_app_lib_path)/$$(lib)) \ $(eval ALL_MODULES.$(my_register_name).INSTALLED += $$(my_app_lib_path)/$$(lib))) endif # partition_lib_pairs endif # Clear jni_shared_libraries to not embed it into the apk. Loading
core/soong_app_prebuilt.mk +3 −0 Original line number Diff line number Diff line Loading @@ -165,12 +165,14 @@ my_prebuilt_jni_libs := ifdef LOCAL_SOONG_JNI_LIBS_$(TARGET_ARCH) my_2nd_arch_prefix := LOCAL_JNI_SHARED_LIBRARIES := $(LOCAL_SOONG_JNI_LIBS_$(TARGET_ARCH)) partition_lib_pairs := $(LOCAL_SOONG_JNI_LIBS_PARTITION_$(TARGET_ARCH)) include $(BUILD_SYSTEM)/install_jni_libs_internal.mk endif ifdef TARGET_2ND_ARCH ifdef LOCAL_SOONG_JNI_LIBS_$(TARGET_2ND_ARCH) my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX) LOCAL_JNI_SHARED_LIBRARIES := $(LOCAL_SOONG_JNI_LIBS_$(TARGET_2ND_ARCH)) partition_lib_pairs := $(LOCAL_SOONG_JNI_LIBS_PARTITION_$(TARGET_2ND_ARCH)) include $(BUILD_SYSTEM)/install_jni_libs_internal.mk endif endif Loading @@ -178,6 +180,7 @@ LOCAL_SHARED_JNI_LIBRARIES := my_embed_jni := my_prebuilt_jni_libs := my_2nd_arch_prefix := partition_lib_pairs := PACKAGES := $(PACKAGES) $(LOCAL_MODULE) ifndef LOCAL_CERTIFICATE Loading