Merge changes If99c31cc,I41fb7611,Ia2ec8b29 into rvc-dev
* changes: base_rules.mk optimizations More performance improvements Rewrite test data logic to make it faster
This commit is contained in:
commit
c59ba8dab0
11 changed files with 78 additions and 34 deletions
|
@ -183,11 +183,10 @@ endif
|
|||
# file, tag the module as "gnu". Search for "*_GPL*", "*_LGPL*" and "*_MPL*"
|
||||
# so that we can also find files like MODULE_LICENSE_GPL_AND_AFL
|
||||
#
|
||||
license_files := $(call find-parent-file,$(LOCAL_PATH),MODULE_LICENSE*)
|
||||
gpl_license_file := $(call find-parent-file,$(LOCAL_PATH),MODULE_LICENSE*_GPL* MODULE_LICENSE*_MPL* MODULE_LICENSE*_LGPL*)
|
||||
ifneq ($(gpl_license_file),)
|
||||
my_module_tags += gnu
|
||||
ALL_GPL_MODULE_LICENSE_FILES := $(sort $(ALL_GPL_MODULE_LICENSE_FILES) $(gpl_license_file))
|
||||
ALL_GPL_MODULE_LICENSE_FILES += $(gpl_license_file)
|
||||
endif
|
||||
|
||||
LOCAL_MODULE_CLASS := $(strip $(LOCAL_MODULE_CLASS))
|
||||
|
@ -327,9 +326,19 @@ $(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id)))
|
|||
endif
|
||||
$(module_id) := $(LOCAL_PATH)
|
||||
|
||||
intermediates := $(call local-intermediates-dir,,$(LOCAL_2ND_ARCH_VAR_PREFIX),$(my_host_cross))
|
||||
intermediates.COMMON := $(call local-intermediates-dir,COMMON)
|
||||
generated_sources_dir := $(call local-generated-sources-dir)
|
||||
# These are the same as local-intermediates-dir / local-generated-sources dir, but faster
|
||||
intermediates.COMMON := $($(my_prefix)OUT_COMMON_INTERMEDIATES)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates
|
||||
ifneq (,$(filter $(my_prefix)$(LOCAL_MODULE_CLASS),$(COMMON_MODULE_CLASSES)))
|
||||
intermediates := $($(my_prefix)OUT_COMMON_INTERMEDIATES)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates
|
||||
generated_sources_dir := $($(my_prefix)OUT_COMMON_GEN)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates
|
||||
else
|
||||
ifneq (,$(filter $(LOCAL_MODULE_CLASS),$(PER_ARCH_MODULE_CLASSES)))
|
||||
intermediates := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATES)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates
|
||||
else
|
||||
intermediates := $($(my_prefix)OUT_INTERMEDIATES)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates
|
||||
endif
|
||||
generated_sources_dir := $($(my_prefix)OUT_GEN)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates
|
||||
endif
|
||||
|
||||
ifneq ($(LOCAL_OVERRIDES_MODULES),)
|
||||
ifndef LOCAL_IS_HOST_MODULE
|
||||
|
@ -574,17 +583,35 @@ ifneq ($(strip $(filter NATIVE_TESTS,$(LOCAL_MODULE_CLASS)) $(LOCAL_IS_FUZZ_TARG
|
|||
ifneq ($(strip $(LOCAL_TEST_DATA)),)
|
||||
ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE))
|
||||
|
||||
my_test_data_pairs := $(strip $(foreach td,$(LOCAL_TEST_DATA), \
|
||||
$(eval _file := $(call word-colon,2,$(td))) \
|
||||
$(if $(_file), \
|
||||
$(eval _src_base := $(call word-colon,1,$(td))), \
|
||||
$(eval _src_base := $(LOCAL_PATH)) \
|
||||
$(eval _file := $(call word-colon,1,$(td)))) \
|
||||
$(if $(call streq,$(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK)),, \
|
||||
$(if $(findstring ..,$(_file)),$(error $(LOCAL_MODULE_MAKEFILE): LOCAL_TEST_DATA may not include '..': $(_file))) \
|
||||
$(if $(filter /%,$(_src_base) $(_file)),$(error $(LOCAL_MODULE_MAKEFILE): LOCAL_TEST_DATA may not include absolute paths: $(_src_base) $(_file)))) \
|
||||
$(eval my_test_data_file_pairs := $(my_test_data_file_pairs) $(call append-path,$(_src_base),$(_file)):$(_file)) \
|
||||
$(call append-path,$(_src_base),$(_file)):$(call append-path,$(my_module_path),$(_file))))
|
||||
ifeq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
|
||||
define copy_test_data_pairs
|
||||
_src_base := $$(call word-colon,1,$$(td))
|
||||
_file := $$(call word-colon,2,$$(td))
|
||||
my_test_data_pairs += $$(call append-path,$$(_src_base),$$(_file)):$$(call append-path,$$(my_module_path),$$(_file))
|
||||
my_test_data_file_pairs += $$(call append-path,$$(_src_base),$$(_file)):$$(_file)
|
||||
endef
|
||||
else
|
||||
define copy_test_data_pairs
|
||||
_src_base := $$(call word-colon,1,$$(td))
|
||||
_file := $$(call word-colon,2,$$(td))
|
||||
ifndef _file
|
||||
_file := $$(_src_base)
|
||||
_src_base := $$(LOCAL_PATH)
|
||||
endif
|
||||
ifneq (,$$(findstring ..,$$(_file)))
|
||||
$$(call pretty-error,LOCAL_TEST_DATA may not include '..': $$(_file))
|
||||
endif
|
||||
ifneq (,$$(filter/%,$$(_src_base) $$(_file)))
|
||||
$$(call pretty-error,LOCAL_TEST_DATA may not include absolute paths: $$(_src_base) $$(_file))
|
||||
endif
|
||||
my_test_data_pairs += $$(call append-path,$$(_src_base),$$(_file)):$$(call append-path,$$(my_module_path),$$(_file))
|
||||
my_test_data_file_pairs += $$(call append-path,$$(_src_base),$$(_file)):$$(_file)
|
||||
endef
|
||||
endif
|
||||
|
||||
$(foreach td,$(LOCAL_TEST_DATA),$(eval $(copy_test_data_pairs)))
|
||||
|
||||
copy_test_data_pairs :=
|
||||
|
||||
my_installed_test_data := $(call copy-many-files,$(my_test_data_pairs))
|
||||
$(LOCAL_INSTALLED_MODULE): $(my_installed_test_data)
|
||||
|
@ -912,7 +939,7 @@ INSTALLABLE_FILES.$(LOCAL_INSTALLED_MODULE).MODULE := $(my_register_name)
|
|||
# Track module-level dependencies.
|
||||
# Use $(LOCAL_MODULE) instead of $(my_register_name) to ignore module's bitness.
|
||||
ifneq (,$(filter deps-license,$(MAKECMDGOALS)))
|
||||
ALL_DEPS.MODULES := $(ALL_DEPS.MODULES) $(LOCAL_MODULE)
|
||||
ALL_DEPS.MODULES += $(LOCAL_MODULE)
|
||||
ALL_DEPS.$(LOCAL_MODULE).ALL_DEPS := $(sort \
|
||||
$(ALL_DEPS.$(LOCAL_MODULE).ALL_DEPS) \
|
||||
$(LOCAL_STATIC_LIBRARIES) \
|
||||
|
@ -926,6 +953,7 @@ ALL_DEPS.$(LOCAL_MODULE).ALL_DEPS := $(sort \
|
|||
$(LOCAL_JAVA_LIBRARIES) \
|
||||
$(LOCAL_JNI_SHARED_LIBRARIES))
|
||||
|
||||
license_files := $(call find-parent-file,$(LOCAL_PATH),MODULE_LICENSE*)
|
||||
ALL_DEPS.$(LOCAL_MODULE).LICENSE := $(sort $(ALL_DEPS.$(LOCAL_MODULE).LICENSE) $(license_files))
|
||||
endif
|
||||
|
||||
|
|
|
@ -1816,7 +1816,7 @@ export_include_deps += $(strip \
|
|||
$(call intermediates-dir-for,HEADER_LIBRARIES,$(l),$(my_kind),,$(LOCAL_2ND_ARCH_VAR_PREFIX),$(my_host_cross))))
|
||||
|
||||
ifneq ($(strip $(my_export_c_include_dirs)$(export_include_deps)),)
|
||||
EXPORTS_LIST := $(EXPORTS_LIST) $(intermediates)
|
||||
EXPORTS_LIST += $(intermediates)
|
||||
EXPORTS.$(intermediates).FLAGS := $(foreach d,$(my_export_c_include_dirs),-I $(call clean-path,$(d)))
|
||||
EXPORTS.$(intermediates).REEXPORT := $(export_include_deps)
|
||||
EXPORTS.$(intermediates).DEPS := $(my_export_c_include_deps) $(my_generated_sources) $(LOCAL_EXPORT_C_INCLUDE_DEPS)
|
||||
|
|
|
@ -75,7 +75,7 @@ else # my_strip_module not true
|
|||
built_module := $(LOCAL_BUILT_MODULE)
|
||||
|
||||
ifdef prebuilt_module_is_a_library
|
||||
EXPORTS_LIST := $(EXPORTS_LIST) $(intermediates)
|
||||
EXPORTS_LIST += $(intermediates)
|
||||
EXPORTS.$(intermediates).FLAGS := $(foreach d,$(LOCAL_EXPORT_C_INCLUDE_DIRS),-I $(d))
|
||||
EXPORTS.$(intermediates).DEPS := $(LOCAL_EXPORT_C_INCLUDE_DEPS)
|
||||
|
||||
|
|
|
@ -111,6 +111,18 @@ ALL_DISABLED_PRESUBMIT_TESTS :=
|
|||
# All compatibility suites mentioned in LOCAL_COMPATIBILITY_SUITES
|
||||
ALL_COMPATIBILITY_SUITES :=
|
||||
|
||||
# All LINK_TYPE entries
|
||||
ALL_LINK_TYPES :=
|
||||
|
||||
# All exported/imported include entries
|
||||
EXPORTS_LIST :=
|
||||
|
||||
# All modules already converted to Soong
|
||||
SOONG_ALREADY_CONV :=
|
||||
|
||||
# ALL_DEPS.*.ALL_DEPS keys
|
||||
ALL_DEPS.MODULES :=
|
||||
|
||||
###########################################################
|
||||
## Debugging; prints a variable list to stdout
|
||||
###########################################################
|
||||
|
@ -556,7 +568,7 @@ $(strip \
|
|||
$(error $(LOCAL_PATH): Name not defined in call to intermediates-dir-for)) \
|
||||
$(eval _idfPrefix := $(call find-idf-prefix,$(3),$(6))) \
|
||||
$(eval _idf2ndArchPrefix := $(if $(strip $(5)),$(TARGET_2ND_ARCH_VAR_PREFIX))) \
|
||||
$(if $(filter $(_idfPrefix)-$(_idfClass),$(COMMON_MODULE_CLASSES))$(4), \
|
||||
$(if $(filter $(_idfPrefix)_$(_idfClass),$(COMMON_MODULE_CLASSES))$(4), \
|
||||
$(eval _idfIntBase := $($(_idfPrefix)_OUT_COMMON_INTERMEDIATES)) \
|
||||
,$(if $(filter $(_idfClass),$(PER_ARCH_MODULE_CLASSES)),\
|
||||
$(eval _idfIntBase := $($(_idf2ndArchPrefix)$(_idfPrefix)_OUT_INTERMEDIATES)) \
|
||||
|
@ -605,7 +617,7 @@ $(strip \
|
|||
$(if $(_idfName),, \
|
||||
$(error $(LOCAL_PATH): Name not defined in call to generated-sources-dir-for)) \
|
||||
$(eval _idfPrefix := $(call find-idf-prefix,$(3),)) \
|
||||
$(if $(filter $(_idfPrefix)-$(_idfClass),$(COMMON_MODULE_CLASSES))$(4), \
|
||||
$(if $(filter $(_idfPrefix)_$(_idfClass),$(COMMON_MODULE_CLASSES))$(4), \
|
||||
$(eval _idfIntBase := $($(_idfPrefix)_OUT_COMMON_GEN)) \
|
||||
, \
|
||||
$(eval _idfIntBase := $($(_idfPrefix)_OUT_GEN)) \
|
||||
|
@ -2895,12 +2907,14 @@ endef
|
|||
# and use my_compat_dist_$(suite) to define the others.
|
||||
define create-suite-dependencies
|
||||
$(foreach suite, $(LOCAL_COMPATIBILITY_SUITE), \
|
||||
$(if $(filter $(suite),$(ALL_COMPATIBILITY_SUITES)),,$(eval ALL_COMPATIBILITY_SUITES += $(suite))) \
|
||||
$(eval COMPATIBILITY.$(suite).FILES := \
|
||||
$$(COMPATIBILITY.$(suite).FILES) $$(foreach f,$$(my_compat_dist_$(suite)),$$(call word-colon,2,$$(f))) \
|
||||
$$(foreach f,$$(my_compat_dist_config_$(suite)),$$(call word-colon,2,$$(f)))) \
|
||||
$(eval COMPATIBILITY.$(suite).MODULES := \
|
||||
$$(COMPATIBILITY.$(suite).MODULES) $$(my_register_name))) \
|
||||
$(if $(filter $(suite),$(ALL_COMPATIBILITY_SUITES)),,\
|
||||
$(eval ALL_COMPATIBILITY_SUITES += $(suite)) \
|
||||
$(eval COMPATIBILITY.$(suite).FILES :=) \
|
||||
$(eval COMPATIBILITY.$(suite).MODULES :=)) \
|
||||
$(eval COMPATIBILITY.$(suite).FILES += \
|
||||
$$(foreach f,$$(my_compat_dist_$(suite)),$$(call word-colon,2,$$(f))) \
|
||||
$$(foreach f,$$(my_compat_dist_config_$(suite)),$$(call word-colon,2,$$(f)))) \
|
||||
$(eval COMPATIBILITY.$(suite).MODULES += $$(my_register_name))) \
|
||||
$(eval $(my_all_targets) : $(call copy-many-files, \
|
||||
$(sort $(foreach suite,$(LOCAL_COMPATIBILITY_SUITE),$(my_compat_dist_$(suite))))) \
|
||||
$(call copy-many-xml-files-checked, \
|
||||
|
|
|
@ -856,7 +856,7 @@ TARGET_INSTALLER_SYSTEM_OUT := $(TARGET_INSTALLER_OUT)/root/system
|
|||
TARGET_INSTALLER_ROOT_OUT \
|
||||
TARGET_INSTALLER_SYSTEM_OUT
|
||||
|
||||
COMMON_MODULE_CLASSES := TARGET-NOTICE_FILES HOST-NOTICE_FILES HOST-JAVA_LIBRARIES
|
||||
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 RLIB_LIBRARIES DYLIB_LIBRARIES
|
||||
.KATI_READONLY := COMMON_MODULE_CLASSES PER_ARCH_MODULE_CLASSES
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
my_link_prefix := LINK_TYPE:$(call find-idf-prefix,$(my_kind),$(my_host_cross))$(if $(filter AUX,$(my_kind)),-$(AUX_OS_VARIANT)):$(if $(my_common),$(my_common):_,_:$(if $(my_2nd_arch_prefix),$(my_2nd_arch_prefix),_))
|
||||
link_type := $(my_link_prefix):$(LOCAL_MODULE_CLASS):$(LOCAL_MODULE)
|
||||
ALL_LINK_TYPES := $(ALL_LINK_TYPES) $(link_type)
|
||||
ALL_LINK_TYPES += $(link_type)
|
||||
$(link_type).TYPE := $(my_link_type)
|
||||
$(link_type).MAKEFILE := $(LOCAL_MODULE_MAKEFILE)
|
||||
$(link_type).WARN := $(my_warn_types)
|
||||
|
|
|
@ -31,4 +31,4 @@ LOCAL_POST_INSTALL_CMD := unzip -qo -j -d $(dir $(LOCAL_INSTALLED_MODULE)) \
|
|||
$(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := $(LOCAL_POST_INSTALL_CMD)
|
||||
PACKAGES.$(LOCAL_MODULE).OVERRIDES := $(strip $(LOCAL_OVERRIDES_PACKAGES))
|
||||
|
||||
SOONG_ALREADY_CONV := $(SOONG_ALREADY_CONV) $(LOCAL_MODULE)
|
||||
SOONG_ALREADY_CONV += $(LOCAL_MODULE)
|
||||
|
|
|
@ -218,4 +218,4 @@ ifdef LOCAL_PREBUILT_COVERAGE_ARCHIVE
|
|||
$(LOCAL_INSTALLED_MODULE): $(my_coverage_files)
|
||||
endif
|
||||
|
||||
SOONG_ALREADY_CONV := $(SOONG_ALREADY_CONV) $(LOCAL_MODULE)
|
||||
SOONG_ALREADY_CONV += $(LOCAL_MODULE)
|
||||
|
|
|
@ -51,7 +51,7 @@ include $(BUILD_SYSTEM)/base_rules.mk
|
|||
|
||||
ifneq ($(filter STATIC_LIBRARIES SHARED_LIBRARIES HEADER_LIBRARIES,$(LOCAL_MODULE_CLASS)),)
|
||||
# Soong module is a static or shared library
|
||||
EXPORTS_LIST := $(EXPORTS_LIST) $(intermediates)
|
||||
EXPORTS_LIST += $(intermediates)
|
||||
EXPORTS.$(intermediates).FLAGS := $(LOCAL_EXPORT_CFLAGS)
|
||||
EXPORTS.$(intermediates).DEPS := $(LOCAL_EXPORT_C_INCLUDE_DEPS)
|
||||
|
||||
|
@ -61,7 +61,7 @@ ifneq ($(filter STATIC_LIBRARIES SHARED_LIBRARIES HEADER_LIBRARIES,$(LOCAL_MODUL
|
|||
$(my_all_targets): $(LOCAL_BUILT_MODULE).toc
|
||||
endif
|
||||
|
||||
SOONG_ALREADY_CONV := $(SOONG_ALREADY_CONV) $(LOCAL_MODULE)
|
||||
SOONG_ALREADY_CONV += $(LOCAL_MODULE)
|
||||
|
||||
my_link_type := $(LOCAL_SOONG_LINK_TYPE)
|
||||
my_warn_types :=
|
||||
|
|
|
@ -172,4 +172,4 @@ $(my_exported_sdk_libs_file):
|
|||
$(hide) echo $(PRIVATE_EXPORTED_SDK_LIBS) | tr ' ' '\n' > $@,\
|
||||
$(hide) touch $@)
|
||||
|
||||
SOONG_ALREADY_CONV := $(SOONG_ALREADY_CONV) $(LOCAL_MODULE)
|
||||
SOONG_ALREADY_CONV += $(LOCAL_MODULE)
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
# in installclean between incremental builds on build servers.
|
||||
gpl_source_tgz := $(call intermediates-dir-for,PACKAGING,gpl_source)/gpl_source.tgz
|
||||
|
||||
ALL_GPL_MODULE_LICENSE_FILES := $(sort $(ALL_GPL_MODULE_LICENSE_FILES))
|
||||
|
||||
# FORCE since we can't know whether any of the sources changed
|
||||
$(gpl_source_tgz): PRIVATE_PATHS := $(sort $(patsubst %/, %, $(dir $(ALL_GPL_MODULE_LICENSE_FILES))))
|
||||
$(gpl_source_tgz) : $(ALL_GPL_MODULE_LICENSE_FILES)
|
||||
|
|
Loading…
Reference in a new issue