1# Checks that some critical dexpreopt output files are installed.
2
3# Inputs:
4# DISABLE_DEXPREOPT_CHECK: True if the check should be disabled.
5# PRODUCT_PACKAGES: The list of packages to be installed for the product.
6# ALL_DEFAULT_INSTALLED_MODULES: The full list of modules going to be installed.
7# DEXPREOPT_SYSTEMSERVER_ARTIFACTS: The list of compilation artifacts of system server jars, which
8# 	is generated by Soong in dexpreopt_check.go.
9
10ifneq (true,$(DISABLE_DEXPREOPT_CHECK))
11  # Skip the check if the system server is not installed for the product.
12  ifneq (,$(filter services,$(PRODUCT_PACKAGES)))
13    $(call maybe-print-list-and-error,\
14      $(filter-out $(ALL_DEFAULT_INSTALLED_MODULES),$(DEXPREOPT_SYSTEMSERVER_ARTIFACTS)),\
15      Missing compilation artifacts. Dexpreopting is not working for some system server jars. See \
16      https://cs.android.com/android/platform/superproject/+/master:build/make/core/tasks/README.dex_preopt_check.md \
17    )
18  endif
19endif
20