Merge "Fix potential build break" into oc-dev am: 7740a78495  -s ours am: 1a614a0856  -s ours am: 8fe0e5f212  -s ours
am: 74b28c0ac9  -s ours

Change-Id: Ic315138b27cd508b12c0c9aa8a3196c262b308a0
diff --git a/core/Makefile b/core/Makefile
index af3c4cb..d6d4bf2 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -579,6 +579,8 @@
 	@echo "make $@: ignoring dependencies"
 	$(hide) $(MKBOOTFS) -d $(TARGET_OUT) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $(INSTALLED_RAMDISK_TARGET)
 
+INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img
+
 ifneq ($(strip $(TARGET_NO_KERNEL)),true)
 
 # -----------------------------------------------------------------
@@ -617,8 +619,6 @@
     --os_version $(PLATFORM_VERSION) \
     --os_patch_level $(PLATFORM_SECURITY_PATCH)
 
-INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img
-
 # BOARD_USES_RECOVERY_AS_BOOT = true must have BOARD_BUILD_SYSTEM_ROOT_IMAGE = true.
 ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true)
 ifneq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true)
@@ -701,6 +701,13 @@
 endif # BOARD_USES_RECOVERY_AS_BOOT
 
 else	# TARGET_NO_KERNEL
+ifdef BOARD_PREBUILT_BOOTIMAGE
+ifneq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true)
+# Remove when b/63676296 is resolved.
+$(error Prebuilt bootimage is only supported for AB targets)
+endif
+$(eval $(call copy-one-file,$(BOARD_PREBUILT_BOOTIMAGE),$(INSTALLED_BOOTIMAGE_TARGET)))
+else
 INTERNAL_KERNEL_CMDLINE := $(strip $(BOARD_KERNEL_CMDLINE))
 # HACK: The top-level targets depend on the bootimage.  Not all targets
 # can produce a bootimage, though, and emulator targets need the ramdisk
@@ -709,6 +716,7 @@
 #       kernel-less inputs.
 INSTALLED_BOOTIMAGE_TARGET := $(INSTALLED_RAMDISK_TARGET)
 endif
+endif
 
 # -----------------------------------------------------------------
 # NOTICE files
@@ -2482,6 +2490,10 @@
 	$(hide) mkdir -p $(zip_root)/IMAGES
 	$(hide) cp $(INSTALLED_VENDORIMAGE_TARGET) $(zip_root)/IMAGES/
 endif
+ifdef BOARD_PREBUILT_BOOTIMAGE
+	$(hide) mkdir -p $(zip_root)/IMAGES
+	$(hide) cp $(INSTALLED_BOOTIMAGE_TARGET) $(zip_root)/IMAGES/
+endif
 ifdef BOARD_PREBUILT_DTBOIMAGE
 	$(hide) mkdir -p $(zip_root)/PREBUILT_IMAGES
 	$(hide) cp $(INSTALLED_DTBOIMAGE_TARGET) $(zip_root)/PREBUILT_IMAGES/
diff --git a/target/board/generic_arm64_a/BoardConfig.mk b/target/board/generic_arm64_a/BoardConfig.mk
index 4ecfee6..e92f84d 100644
--- a/target/board/generic_arm64_a/BoardConfig.mk
+++ b/target/board/generic_arm64_a/BoardConfig.mk
@@ -17,6 +17,9 @@
 # Common boardconfig settings for generic AOSP products targetting mobile
 # (phone/table) devices.
 
+# System properties
+TARGET_SYSTEM_PROP := build/make/target/board/treble_system.prop
+
 # Bootloader is not part of generic AOSP image
 TARGET_NO_BOOTLOADER := true
 
diff --git a/target/board/generic_arm64_a/system.prop b/target/board/generic_arm64_a/system.prop
deleted file mode 100644
index e69de29..0000000
--- a/target/board/generic_arm64_a/system.prop
+++ /dev/null
diff --git a/target/board/generic_arm64_ab/BoardConfig.mk b/target/board/generic_arm64_ab/BoardConfig.mk
index d1bba39..83e44a5 100644
--- a/target/board/generic_arm64_ab/BoardConfig.mk
+++ b/target/board/generic_arm64_ab/BoardConfig.mk
@@ -17,6 +17,9 @@
 # Common boardconfig settings for generic AOSP products targetting mobile
 # (phone/table) devices.
 
+# System properties
+TARGET_SYSTEM_PROP := build/make/target/board/treble_system.prop
+
 # Bootloader is not part of generic AOSP image
 TARGET_NO_BOOTLOADER := true
 
diff --git a/target/board/generic_arm64_ab/system.prop b/target/board/generic_arm64_ab/system.prop
deleted file mode 100644
index e69de29..0000000
--- a/target/board/generic_arm64_ab/system.prop
+++ /dev/null
diff --git a/target/board/generic_arm_a/BoardConfig.mk b/target/board/generic_arm_a/BoardConfig.mk
index db3e394..0391248 100644
--- a/target/board/generic_arm_a/BoardConfig.mk
+++ b/target/board/generic_arm_a/BoardConfig.mk
@@ -17,6 +17,9 @@
 # Common boardconfig settings for generic AOSP products targetting mobile
 # (phone/table) devices.
 
+# System properties
+TARGET_SYSTEM_PROP := build/make/target/board/treble_system.prop
+
 # Bootloader is not part of generic AOSP image
 TARGET_NO_BOOTLOADER := true
 
diff --git a/target/board/generic_arm_a/system.prop b/target/board/treble_system.prop
similarity index 100%
rename from target/board/generic_arm_a/system.prop
rename to target/board/treble_system.prop