Merge "Pass PLATFORM_VERSION to Soong" into pi-dev
diff --git a/core/dex_preopt_odex_install.mk b/core/dex_preopt_odex_install.mk
index 5528eda..d56c68a 100644
--- a/core/dex_preopt_odex_install.mk
+++ b/core/dex_preopt_odex_install.mk
@@ -121,8 +121,10 @@
ifdef LOCAL_VENDOR_MODULE
$(call pretty-error, Internal error: profiles are not supported for vendor modules)
else
+ifeq (,$(LOCAL_DEX_PREOPT_APP_IMAGE))
LOCAL_DEX_PREOPT_APP_IMAGE := true
endif
+endif
ifndef LOCAL_DEX_PREOPT_PROFILE
$(call pretty-error,Must have specified class listing (LOCAL_DEX_PREOPT_PROFILE))
diff --git a/core/tasks/cts.mk b/core/tasks/cts.mk
index fdd9591..8ac100c 100644
--- a/core/tasks/cts.mk
+++ b/core/tasks/cts.mk
@@ -14,8 +14,9 @@
test_suite_name := cts
test_suite_tradefed := cts-tradefed
-test_suite_dynamic_config := cts/tools/cts-tradefed/DynamicConfig.xml
-test_suite_readme := cts/tools/cts-tradefed/README
+# TODO: Fix the following two lines after harness is moved to its own repo
+test_suite_dynamic_config := cts/harness/tools/cts-tradefed/DynamicConfig.xml
+test_suite_readme := cts/harness/tools/cts-tradefed/README
include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index 3c2f874..f555ab5 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -167,7 +167,7 @@
# assuming the device can only support APIs as of the previous official
# public release.
# This value will always be 0 for release builds.
- PLATFORM_PREVIEW_SDK_VERSION := 2
+ PLATFORM_PREVIEW_SDK_VERSION := 0
endif
endif
diff --git a/target/board/generic/BoardConfig.mk b/target/board/generic/BoardConfig.mk
index cc06983..abd519e 100644
--- a/target/board/generic/BoardConfig.mk
+++ b/target/board/generic/BoardConfig.mk
@@ -59,6 +59,16 @@
BOARD_SEPOLICY_DIRS += build/target/board/generic/sepolicy
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
+# Android Verified Boot (AVB):
+# Builds a special vbmeta.img that disables AVB verification.
+# Otherwise, AVB will prevent the device from booting the generic system.img.
+# Also checks that BOARD_AVB_ENABLE is not set, to prevent adding verity
+# metadata into system.img.
+ifeq ($(BOARD_AVB_ENABLE),true)
+$(error BOARD_AVB_ENABLE cannot be set for GSI)
+endif
+BOARD_BUILD_DISABLED_VBMETAIMAGE := true
+
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
# GSI is always userdebug and needs a couple of properties taking precedence
# over those set by the vendor.
diff --git a/target/board/generic_arm64/BoardConfig.mk b/target/board/generic_arm64/BoardConfig.mk
index 6b766a8..7fa4d8f 100644
--- a/target/board/generic_arm64/BoardConfig.mk
+++ b/target/board/generic_arm64/BoardConfig.mk
@@ -88,6 +88,16 @@
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
BOARD_SEPOLICY_DIRS += build/target/board/generic/sepolicy
+# Android Verified Boot (AVB):
+# Builds a special vbmeta.img that disables AVB verification.
+# Otherwise, AVB will prevent the device from booting the generic system.img.
+# Also checks that BOARD_AVB_ENABLE is not set, to prevent adding verity
+# metadata into system.img.
+ifeq ($(BOARD_AVB_ENABLE),true)
+$(error BOARD_AVB_ENABLE cannot be set for GSI)
+endif
+BOARD_BUILD_DISABLED_VBMETAIMAGE := true
+
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
# GSI is always userdebug and needs a couple of properties taking precedence
# over those set by the vendor.
diff --git a/target/board/generic_x86/BoardConfig.mk b/target/board/generic_x86/BoardConfig.mk
index 693aa6c..54f37b4 100644
--- a/target/board/generic_x86/BoardConfig.mk
+++ b/target/board/generic_x86/BoardConfig.mk
@@ -62,6 +62,16 @@
build/target/board/generic/sepolicy \
build/target/board/generic_x86/sepolicy
+# Android Verified Boot (AVB):
+# Builds a special vbmeta.img that disables AVB verification.
+# Otherwise, AVB will prevent the device from booting the generic system.img.
+# Also checks that BOARD_AVB_ENABLE is not set, to prevent adding verity
+# metadata into system.img.
+ifeq ($(BOARD_AVB_ENABLE),true)
+$(error BOARD_AVB_ENABLE cannot be set for GSI)
+endif
+BOARD_BUILD_DISABLED_VBMETAIMAGE := true
+
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
# GSI is always userdebug and needs a couple of properties taking precedence
# over those set by the vendor.
diff --git a/target/board/generic_x86_64/BoardConfig.mk b/target/board/generic_x86_64/BoardConfig.mk
index 21e4fc9..b5e0dd7 100755
--- a/target/board/generic_x86_64/BoardConfig.mk
+++ b/target/board/generic_x86_64/BoardConfig.mk
@@ -60,6 +60,16 @@
build/target/board/generic/sepolicy \
build/target/board/generic_x86/sepolicy
+# Android Verified Boot (AVB):
+# Builds a special vbmeta.img that disables AVB verification.
+# Otherwise, AVB will prevent the device from booting the generic system.img.
+# Also checks that BOARD_AVB_ENABLE is not set, to prevent adding verity
+# metadata into system.img.
+ifeq ($(BOARD_AVB_ENABLE),true)
+$(error BOARD_AVB_ENABLE cannot be set for GSI)
+endif
+BOARD_BUILD_DISABLED_VBMETAIMAGE := true
+
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
# GSI is always userdebug and needs a couple of properties taking precedence
# over those set by the vendor.
diff --git a/target/board/gsi_system.prop b/target/board/gsi_system.prop
index 4b54aaf..0c04a95 100644
--- a/target/board/gsi_system.prop
+++ b/target/board/gsi_system.prop
@@ -3,3 +3,6 @@
# GSI always disables adb authentication
ro.adb.secure=0
+
+# TODO(b/78105955): disable privapp_permissions checking before the bug solved
+ro.control_privapp_permissions=disable
diff --git a/target/board/treble_system.prop b/target/board/treble_system.prop
index 4b54aaf..0c04a95 100644
--- a/target/board/treble_system.prop
+++ b/target/board/treble_system.prop
@@ -3,3 +3,6 @@
# GSI always disables adb authentication
ro.adb.secure=0
+
+# TODO(b/78105955): disable privapp_permissions checking before the bug solved
+ro.control_privapp_permissions=disable
diff --git a/target/product/aosp_arm.mk b/target/product/aosp_arm.mk
index c66f954..af78bcb 100644
--- a/target/product/aosp_arm.mk
+++ b/target/product/aosp_arm.mk
@@ -25,6 +25,10 @@
prebuilts/qemu-kernel/arm64/3.18/kernel-qemu2:kernel-ranchu-64 \
device/generic/goldfish/fstab.ranchu.arm:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu
+# TODO(b/78308559): includes vr_hwc into GSI before vr_hwc move to vendor
+PRODUCT_PACKAGES += \
+ vr_hwc
+
include $(SRC_TARGET_DIR)/product/full.mk
PRODUCT_NAME := aosp_arm
diff --git a/target/product/aosp_arm64.mk b/target/product/aosp_arm64.mk
index e7378d5..d8bf924 100644
--- a/target/product/aosp_arm64.mk
+++ b/target/product/aosp_arm64.mk
@@ -38,6 +38,10 @@
PRODUCT_COPY_FILES += \
system/core/rootdir/init.zygote32_64.rc:root/init.zygote32_64.rc
+# TODO(b/78308559): includes vr_hwc into GSI before vr_hwc move to vendor
+PRODUCT_PACKAGES += \
+ vr_hwc
+
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk)
diff --git a/target/product/aosp_x86.mk b/target/product/aosp_x86.mk
index 6c4d1c0..7c293b7 100644
--- a/target/product/aosp_x86.mk
+++ b/target/product/aosp_x86.mk
@@ -26,6 +26,10 @@
device/generic/goldfish/data/etc/encryptionkey.img:encryptionkey.img \
prebuilts/qemu-kernel/x86_64/4.9/kernel-qemu2:kernel-ranchu-64
+# TODO(b/78308559): includes vr_hwc into GSI before vr_hwc move to vendor
+PRODUCT_PACKAGES += \
+ vr_hwc
+
include $(SRC_TARGET_DIR)/product/full_x86.mk
PRODUCT_NAME := aosp_x86
diff --git a/target/product/aosp_x86_64.mk b/target/product/aosp_x86_64.mk
index 92f2cb1..55c11aa 100644
--- a/target/product/aosp_x86_64.mk
+++ b/target/product/aosp_x86_64.mk
@@ -35,6 +35,10 @@
PRODUCT_COPY_FILES += \
system/core/rootdir/init.zygote32_64.rc:root/init.zygote32_64.rc
+# TODO(b/78308559): includes vr_hwc into GSI before vr_hwc move to vendor
+PRODUCT_PACKAGES += \
+ vr_hwc
+
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_x86_64/device.mk)
diff --git a/target/product/empty-preloaded-classes b/target/product/empty-preloaded-classes
new file mode 100644
index 0000000..c2ff1e9
--- /dev/null
+++ b/target/product/empty-preloaded-classes
@@ -0,0 +1 @@
+# Empty preloaded-classes file for automated testing.
diff --git a/target/product/empty-profile b/target/product/empty-profile
new file mode 100644
index 0000000..c2ff1e9
--- /dev/null
+++ b/target/product/empty-profile
@@ -0,0 +1 @@
+# Empty preloaded-classes file for automated testing.
diff --git a/target/product/profile_boot_common.mk b/target/product/profile_boot_common.mk
new file mode 100644
index 0000000..85524fc
--- /dev/null
+++ b/target/product/profile_boot_common.mk
@@ -0,0 +1,43 @@
+#
+# Copyright 2018 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Use an empty profile to make non of the boot image be AOT compiled (for now).
+# Note that we could use a previous profile but we will miss the opportunity to
+# remove classes that are no longer in use.
+# Ideally we would just generate an empty boot.art but we don't have the build
+# support to separate the image from the compile code.
+PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := build/target/product/empty-profile
+PRODUCT_DEX_PREOPT_BOOT_FLAGS := --count-hotness-in-compiled-code
+DEX_PREOPT_DEFAULT := nostripping
+
+# Disable uncompressing priv apps so that there is enough space to build the system partition.
+DONT_UNCOMPRESS_PRIV_APPS_DEXS := true
+
+# Use an empty preloaded-classes list.
+PRODUCT_COPY_FILES += \
+ build/target/product/empty-preloaded-classes:system/etc/preloaded-classes
+
+# Boot image property overrides.
+PRODUCT_PROPERTY_OVERRIDES += \
+ dalvik.vm.jitinitialsize=32m \
+ dalvik.vm.jitmaxsize=32m \
+ dalvik.vm.usejitprofiles=true \
+ dalvik.vm.hot-startup-method-samples=256 \
+ dalvik.vm.profilesystemserver=true \
+ dalvik.vm.profilebootimage=true
+
+# Use speed compiler filter since system server doesn't have JIT.
+PRODUCT_DEX_PREOPT_BOOT_FLAGS += --compiler-filter=speed
diff --git a/target/product/treble_common.mk b/target/product/treble_common.mk
index 8fa2974..ff4968f 100644
--- a/target/product/treble_common.mk
+++ b/target/product/treble_common.mk
@@ -84,3 +84,7 @@
# Set current VNDK version for GSI
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.gsi.vndk.version=$(PLATFORM_VNDK_VERSION)
+
+# TODO(b/78308559): includes vr_hwc into GSI before vr_hwc move to vendor
+PRODUCT_PACKAGES += \
+ vr_hwc
diff --git a/target/product/vndk/28.txt b/target/product/vndk/28.txt
index 2993512..38241f5 100644
--- a/target/product/vndk/28.txt
+++ b/target/product/vndk/28.txt
@@ -155,8 +155,6 @@
VNDK-core: libaudioroute.so
VNDK-core: libaudioutils.so
VNDK-core: libbinder.so
-VNDK-core: libbufferhub.so
-VNDK-core: libbufferhubqueue.so
VNDK-core: libcamera_metadata.so
VNDK-core: libcap.so
VNDK-core: libcn-cbor.so
@@ -190,7 +188,6 @@
VNDK-core: libopus.so
VNDK-core: libpagemap.so
VNDK-core: libpcre2.so
-VNDK-core: libpdx_default_transport.so
VNDK-core: libpiex.so
VNDK-core: libpng.so
VNDK-core: libpower.so
@@ -248,10 +245,7 @@
VNDK-core: libziparchive.so
VNDK-private: libbacktrace.so
VNDK-private: libblas.so
-VNDK-private: libbufferhub.so
-VNDK-private: libbufferhubqueue.so
VNDK-private: libcompiler_rt.so
VNDK-private: libft2.so
VNDK-private: libgui.so
-VNDK-private: libpdx_default_transport.so
VNDK-private: libunwind.so
diff --git a/target/product/vndk/current.txt b/target/product/vndk/current.txt
index 2993512..38241f5 100644
--- a/target/product/vndk/current.txt
+++ b/target/product/vndk/current.txt
@@ -155,8 +155,6 @@
VNDK-core: libaudioroute.so
VNDK-core: libaudioutils.so
VNDK-core: libbinder.so
-VNDK-core: libbufferhub.so
-VNDK-core: libbufferhubqueue.so
VNDK-core: libcamera_metadata.so
VNDK-core: libcap.so
VNDK-core: libcn-cbor.so
@@ -190,7 +188,6 @@
VNDK-core: libopus.so
VNDK-core: libpagemap.so
VNDK-core: libpcre2.so
-VNDK-core: libpdx_default_transport.so
VNDK-core: libpiex.so
VNDK-core: libpng.so
VNDK-core: libpower.so
@@ -248,10 +245,7 @@
VNDK-core: libziparchive.so
VNDK-private: libbacktrace.so
VNDK-private: libblas.so
-VNDK-private: libbufferhub.so
-VNDK-private: libbufferhubqueue.so
VNDK-private: libcompiler_rt.so
VNDK-private: libft2.so
VNDK-private: libgui.so
-VNDK-private: libpdx_default_transport.so
VNDK-private: libunwind.so