Use srcjar and resource zip as output of renderscript rules
Replace RenderScript.stamp with a srcjar, with a resource zip as an implicit output. This makes the renderscript rules self contained, which will make it easier to move them before aapt. Bug: 73885582 Test: m checkbuild Change-Id: I12d33e52019aebac6ea33271939228e4690a4173
This commit is contained in:
46
core/java.mk
46
core/java.mk
@@ -110,15 +110,16 @@ LOCAL_INTERMEDIATE_SOURCE_DIR := $(intermediates.COMMON)/src
|
||||
## .rs files: RenderScript sources to .java files and .bc files
|
||||
###############################################################
|
||||
renderscript_sources := $(filter %.rs,$(LOCAL_SRC_FILES))
|
||||
# Because names of the java files from RenderScript are unknown until the
|
||||
# .rs file(s) are compiled, we have to depend on a timestamp file.
|
||||
RenderScript_file_stamp :=
|
||||
rs_generated_res_dir :=
|
||||
rs_generated_res_zip :=
|
||||
rs_generated_src_jar :=
|
||||
rs_compatibility_jni_libs :=
|
||||
ifneq ($(renderscript_sources),)
|
||||
renderscript_sources_fullpath := $(addprefix $(LOCAL_PATH)/, $(renderscript_sources))
|
||||
RenderScript_file_stamp := $(LOCAL_INTERMEDIATE_SOURCE_DIR)/RenderScript.stamp
|
||||
renderscript_intermediate.COMMON := $(intermediates.COMMON)/renderscript
|
||||
rs_generated_res_zip := $(renderscript_intermediate.COMMON)/res.zip
|
||||
rs_generated_src_jar := $(renderscript_intermediate.COMMON)/rs.srcjar
|
||||
|
||||
LOCAL_SRCJARS += $(rs_generated_src_jar)
|
||||
|
||||
# Defaulting to an empty string uses the latest available platform SDK.
|
||||
renderscript_target_api :=
|
||||
@@ -173,20 +174,20 @@ endif
|
||||
bc_files := $(patsubst %.rs,%.bc, $(notdir $(renderscript_sources)))
|
||||
bc_dep_files := $(addprefix $(renderscript_intermediate.COMMON)/,$(patsubst %.bc,%.d,$(bc_files)))
|
||||
|
||||
$(RenderScript_file_stamp): PRIVATE_RS_INCLUDES := $(LOCAL_RENDERSCRIPT_INCLUDES)
|
||||
$(RenderScript_file_stamp): PRIVATE_RS_CC := $(LOCAL_RENDERSCRIPT_CC)
|
||||
$(RenderScript_file_stamp): PRIVATE_RS_FLAGS := $(renderscript_flags)
|
||||
$(RenderScript_file_stamp): PRIVATE_RS_SOURCE_FILES := $(renderscript_sources_fullpath)
|
||||
# By putting the generated java files into $(LOCAL_INTERMEDIATE_SOURCE_DIR), they will be
|
||||
# automatically found by the java compiling function transform-java-to-classes.jar.
|
||||
$(RenderScript_file_stamp): PRIVATE_RS_OUTPUT_DIR := $(renderscript_intermediate.COMMON)
|
||||
$(RenderScript_file_stamp): PRIVATE_RS_TARGET_API := $(renderscript_target_api)
|
||||
$(RenderScript_file_stamp): PRIVATE_DEP_FILES := $(bc_dep_files)
|
||||
$(RenderScript_file_stamp): $(renderscript_sources_fullpath) $(LOCAL_RENDERSCRIPT_CC)
|
||||
$(rs_generated_src_jar): PRIVATE_RS_INCLUDES := $(LOCAL_RENDERSCRIPT_INCLUDES)
|
||||
$(rs_generated_src_jar): PRIVATE_RS_CC := $(LOCAL_RENDERSCRIPT_CC)
|
||||
$(rs_generated_src_jar): PRIVATE_RS_FLAGS := $(renderscript_flags)
|
||||
$(rs_generated_src_jar): PRIVATE_RS_SOURCE_FILES := $(renderscript_sources_fullpath)
|
||||
$(rs_generated_src_jar): PRIVATE_RS_OUTPUT_DIR := $(renderscript_intermediate.COMMON)
|
||||
$(rs_generated_src_jar): PRIVATE_RS_TARGET_API := $(renderscript_target_api)
|
||||
$(rs_generated_src_jar): PRIVATE_DEP_FILES := $(bc_dep_files)
|
||||
$(rs_generated_src_jar): PRIVATE_RS_OUTPUT_RES_ZIP := $(rs_generated_res_zip)
|
||||
$(rs_generated_src_jar): .KATI_IMPLICIT_OUTPUTS := $(rs_generated_res_zip)
|
||||
$(rs_generated_src_jar): $(renderscript_sources_fullpath) $(LOCAL_RENDERSCRIPT_CC) $(SOONG_ZIP)
|
||||
$(transform-renderscripts-to-java-and-bc)
|
||||
|
||||
# include the dependency files (.d/.P) generated by llvm-rs-cc.
|
||||
$(call include-depfile,$(RenderScript_file_stamp).P,$(RenderScript_file_stamp))
|
||||
$(call include-depfile,$(rs_generated_src_jar).P,$(rs_generated_src_jar))
|
||||
|
||||
ifneq ($(LOCAL_RENDERSCRIPT_COMPATIBILITY),)
|
||||
|
||||
@@ -219,7 +220,7 @@ rs_compatibility_jni_libs := $(addprefix \
|
||||
$(renderscript_intermediate)/librs., \
|
||||
$(patsubst %.bc,%.so, $(bc_files)))
|
||||
|
||||
$(rs_generated_bc) : $(RenderScript_file_stamp)
|
||||
$(rs_generated_src_jar): .KATI_IMPLICIT_OUTPUTS += $(rs_generated_bc)
|
||||
|
||||
rs_support_lib := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/libRSSupport.so
|
||||
LOCAL_JNI_SHARED_LIBRARIES += libRSSupport
|
||||
@@ -238,7 +239,7 @@ else
|
||||
my_min_sdk_version := $(MIN_SUPPORTED_SDK_VERSION)
|
||||
endif
|
||||
|
||||
$(rs_compatibility_jni_libs): $(RenderScript_file_stamp) $(RS_PREBUILT_CLCORE) \
|
||||
$(rs_compatibility_jni_libs): $(RS_PREBUILT_CLCORE) \
|
||||
$(rs_support_lib) $(rs_support_io_lib) $(rs_jni_lib) $(rs_compiler_rt)
|
||||
$(rs_compatibility_jni_libs): $(BCC_COMPAT)
|
||||
$(rs_compatibility_jni_libs): PRIVATE_CXX := $(CXX_WRAPPER) $(TARGET_CXX)
|
||||
@@ -252,10 +253,9 @@ endif
|
||||
|
||||
endif
|
||||
|
||||
LOCAL_INTERMEDIATE_TARGETS += $(RenderScript_file_stamp)
|
||||
LOCAL_INTERMEDIATE_TARGETS += $(rs_generated_src_jar)
|
||||
# Make sure the generated resource will be added to the apk.
|
||||
rs_generated_res_dir := $(renderscript_intermediate.COMMON)/res
|
||||
LOCAL_RESOURCE_DIR := $(rs_generated_res_dir) $(LOCAL_RESOURCE_DIR)
|
||||
LOCAL_RESOURCE_DIR := $(renderscript_intermediate.COMMON)/res $(LOCAL_RESOURCE_DIR)
|
||||
endif
|
||||
|
||||
|
||||
@@ -334,9 +334,6 @@ include $(BUILD_SYSTEM)/java_common.mk
|
||||
|
||||
include $(BUILD_SYSTEM)/sdk_check.mk
|
||||
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_HAS_RS_SOURCES := $(if $(renderscript_sources),true)
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RS_SOURCE_INTERMEDIATES_DIR := $(intermediates.COMMON)/renderscript
|
||||
|
||||
# Set the profile source so that the odex / profile code included from java.mk
|
||||
# can find it.
|
||||
#
|
||||
@@ -403,7 +400,6 @@ endif
|
||||
java_sources_deps := \
|
||||
$(java_sources) \
|
||||
$(java_resource_sources) \
|
||||
$(RenderScript_file_stamp) \
|
||||
$(proto_java_sources_file_stamp) \
|
||||
$(LOCAL_SRCJARS) \
|
||||
$(LOCAL_ADDITIONAL_DEPENDENCIES)
|
||||
|
Reference in New Issue
Block a user