Add PRODUCT_BOOT_JARS to derive BOOTCLASSPATH

- BOOTCLASSPATH now is product-configurable;
- No need to maintain the duplicate values in core/dex_preopt.mk.
- clean up some legacy ALL_PREBUILTs.
Bug: 9990214

Change-Id: Ie3953e66d282e335bb7782b0ebd56102c35ec10e
diff --git a/core/dex_preopt.mk b/core/dex_preopt.mk
index ce27763..77b239b 100644
--- a/core/dex_preopt.mk
+++ b/core/dex_preopt.mk
@@ -3,9 +3,9 @@
 #
 ####################################
 
-# TODO: replace it with device's BOOTCLASSPATH
-DEXPREOPT_BOOT_JARS := core:conscrypt:okhttp:core-junit:bouncycastle:ext:framework:framework2:telephony-common:voip-common:mms-common:android.policy:services:apache-xml:webviewchromium
+DEXPREOPT_BOOT_JARS := $(PRODUCT_BOOT_JARS)
 DEXPREOPT_BOOT_JARS_MODULES := $(subst :, ,$(DEXPREOPT_BOOT_JARS))
+PRODUCT_BOOTCLASSPATH := $(subst $(space),:,$(foreach m,$(DEXPREOPT_BOOT_JARS_MODULES),/system/framework/$(m).jar))
 
 DEXPREOPT_BUILD_DIR := $(OUT_DIR)
 DEXPREOPT_PRODUCT_DIR := $(patsubst $(DEXPREOPT_BUILD_DIR)/%,%,$(PRODUCT_OUT))/dex_bootjars