From 80755694f3fa03008f8f91173d17be71f55e2c64 Mon Sep 17 00:00:00 2001 From: SzuWei Lin Date: Fri, 28 Jul 2017 11:35:40 +0800 Subject: [PATCH] Move common settings in BoardConfig.mk into a common makefile Bug: 63878637 Test: Build pass and boot into home screen with aosp_arm64_ab of GSI Change-Id: I1b843fcccd83e2e30eba66451b10f093ccfd458f --- target/board/generic_arm64_a/BoardConfig.mk | 45 +-------------- target/board/generic_arm64_ab/BoardConfig.mk | 48 +--------------- target/board/generic_arm_a/BoardConfig.mk | 43 +------------- target/board/generic_arm_ab/BoardConfig.mk | 43 +------------- target/board/generic_x86_64_a/BoardConfig.mk | 45 +-------------- target/board/generic_x86_64_ab/BoardConfig.mk | 46 +-------------- target/board/generic_x86_a/BoardConfig.mk | 43 +------------- target/board/generic_x86_ab/BoardConfig.mk | 44 +-------------- target/board/treble_common.mk | 56 +++++++++++++++++++ target/board/treble_common_32.mk | 17 ++++++ target/board/treble_common_64.mk | 20 +++++++ 11 files changed, 103 insertions(+), 347 deletions(-) create mode 100644 target/board/treble_common.mk create mode 100644 target/board/treble_common_32.mk create mode 100644 target/board/treble_common_64.mk diff --git a/target/board/generic_arm64_a/BoardConfig.mk b/target/board/generic_arm64_a/BoardConfig.mk index e92f84d2c..472974473 100644 --- a/target/board/generic_arm64_a/BoardConfig.mk +++ b/target/board/generic_arm64_a/BoardConfig.mk @@ -14,40 +14,7 @@ # limitations under the License. # -# 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 - -# Kernel is also not part of generic AOSP image -TARGET_NO_KERNEL := true - -# system.img is always ext4 with sparse option -TARGET_USERIMAGES_USE_EXT4 := true -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false -TARGET_USES_MKE2FS := true - -# Enable dex pre-opt to speed up initial boot -ifeq ($(HOST_OS),linux) - ifeq ($(WITH_DEXPREOPT),) - WITH_DEXPREOPT := true - WITH_DEXPREOPT_PIC := true - ifneq ($(TARGET_BUILD_VARIANT),user) - # Retain classes.dex in APK's for non-user builds - DEX_PREOPT_DEFAULT := nostripping - endif - endif -endif - -# Generic AOSP image always requires separate vendor.img -TARGET_COPY_OUT_VENDOR := vendor - -# Generic AOSP image does NOT support HWC1 -TARGET_USES_HWC2 := true +include build/make/target/board/treble_common_64.mk TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a @@ -60,13 +27,3 @@ TARGET_2ND_ARCH_VARIANT := armv7-a-neon TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI2 := armeabi TARGET_2ND_CPU_VARIANT := generic - -TARGET_USES_64_BIT_BINDER := true - -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 # 1.5 GB - -# TODO(b/35790399): remove when b/35790399 is fixed. -BOARD_NAND_SPARE_SIZE := 0 -BOARD_FLASH_BLOCK_SIZE := 512 - -BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true diff --git a/target/board/generic_arm64_ab/BoardConfig.mk b/target/board/generic_arm64_ab/BoardConfig.mk index 83e44a5f7..56cc2da7d 100644 --- a/target/board/generic_arm64_ab/BoardConfig.mk +++ b/target/board/generic_arm64_ab/BoardConfig.mk @@ -14,41 +14,7 @@ # limitations under the License. # -# 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 - -# Kernel is also not part of generic AOSP image -TARGET_NO_KERNEL := true - -# system.img is always ext4 with sparse option -TARGET_USERIMAGES_USE_EXT4 := true -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false -TARGET_USES_MKE2FS := true - -# Enable dex pre-opt to speed up initial boot -ifeq ($(HOST_OS),linux) - ifeq ($(WITH_DEXPREOPT),) - WITH_DEXPREOPT := true - WITH_DEXPREOPT_PIC := true - ifneq ($(TARGET_BUILD_VARIANT),user) - # Retain classes.dex in APK's for non-user builds - DEX_PREOPT_DEFAULT := nostripping - endif - endif -endif - -# Generic AOSP image always requires separate vendor.img -TARGET_COPY_OUT_VENDOR := vendor - -# Generic AOSP image does NOT support HWC1 -TARGET_USES_HWC2 := true -NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 +include build/make/target/board/treble_common_64.mk TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a @@ -63,8 +29,6 @@ TARGET_2ND_CPU_ABI2 := armeabi # TODO(jiyong) can we set krait here? TARGET_2ND_CPU_VARIANT := cortex-a15 -TARGET_USES_64_BIT_BINDER := true - # Enable A/B update TARGET_NO_RECOVERY := true BOARD_BUILD_SYSTEM_ROOT_IMAGE := true @@ -73,16 +37,6 @@ BOARD_BUILD_SYSTEM_ROOT_IMAGE := true BOARD_ROOT_EXTRA_FOLDERS := bt_firmware firmware firmware/radio persist BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp -# TODO(b/35603549): this is currently set to 2.5GB to support sailfish/marlin -# Fix this! -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2147483648 - -# TODO(b/35790399): remove when b/35790399 is fixed. -BOARD_NAND_SPARE_SIZE := 0 -BOARD_FLASH_BLOCK_SIZE := 512 - -BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true - # TODO(b/36764215): remove this setting when the generic system image # no longer has QCOM-specific directories under /. BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy diff --git a/target/board/generic_arm_a/BoardConfig.mk b/target/board/generic_arm_a/BoardConfig.mk index 03912485a..57a5196a9 100644 --- a/target/board/generic_arm_a/BoardConfig.mk +++ b/target/board/generic_arm_a/BoardConfig.mk @@ -14,51 +14,10 @@ # limitations under the License. # -# 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 - -# Kernel is also not part of generic AOSP image -TARGET_NO_KERNEL := true - -# system.img is always ext4 with sparse option -TARGET_USERIMAGES_USE_EXT4 := true -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false -TARGET_USES_MKE2FS := true - -# Enable dex pre-opt to speed up initial boot -ifeq ($(HOST_OS),linux) - ifeq ($(WITH_DEXPREOPT),) - WITH_DEXPREOPT := true - WITH_DEXPREOPT_PIC := true - ifneq ($(TARGET_BUILD_VARIANT),user) - # Retain classes.dex in APK's for non-user builds - DEX_PREOPT_DEFAULT := nostripping - endif - endif -endif - -# Generic AOSP image always requires separate vendor.img -TARGET_COPY_OUT_VENDOR := vendor - -# Generic AOSP image does NOT support HWC1 -TARGET_USES_HWC2 := true +include build/make/target/board/treble_common_32.mk TARGET_ARCH := arm TARGET_ARCH_VARIANT := armv7-a-neon TARGET_CPU_ABI := armeabi-v7a TARGET_CPU_ABI2 := armeabi TARGET_CPU_VARIANT := generic - -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 - -# TODO(b/35790399): remove when b/35790399 is fixed. -BOARD_NAND_SPARE_SIZE := 0 -BOARD_FLASH_BLOCK_SIZE := 512 - -BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true diff --git a/target/board/generic_arm_ab/BoardConfig.mk b/target/board/generic_arm_ab/BoardConfig.mk index 58d597b2f..ae8de1468 100644 --- a/target/board/generic_arm_ab/BoardConfig.mk +++ b/target/board/generic_arm_ab/BoardConfig.mk @@ -14,40 +14,7 @@ # limitations under the License. # -# 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 - -# Kernel is also not part of generic AOSP image -TARGET_NO_KERNEL := true - -# system.img is always ext4 with sparse option -TARGET_USERIMAGES_USE_EXT4 := true -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false -TARGET_USES_MKE2FS := true - -# Enable dex pre-opt to speed up initial boot -ifeq ($(HOST_OS),linux) - ifeq ($(WITH_DEXPREOPT),) - WITH_DEXPREOPT := true - WITH_DEXPREOPT_PIC := true - ifneq ($(TARGET_BUILD_VARIANT),user) - # Retain classes.dex in APK's for non-user builds - DEX_PREOPT_DEFAULT := nostripping - endif - endif -endif - -# Generic AOSP image always requires separate vendor.img -TARGET_COPY_OUT_VENDOR := vendor - -# Generic AOSP image does NOT support HWC1 -TARGET_USES_HWC2 := true +include build/make/target/board/treble_common_32.mk TARGET_ARCH := arm TARGET_ARCH_VARIANT := armv7-a-neon @@ -58,11 +25,3 @@ TARGET_CPU_VARIANT := generic # Enable A/B update TARGET_NO_RECOVERY := true BOARD_BUILD_SYSTEM_ROOT_IMAGE := true - -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 - -# TODO(b/35790399): remove when b/35790399 is fixed. -BOARD_NAND_SPARE_SIZE := 0 -BOARD_FLASH_BLOCK_SIZE := 512 - -BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true diff --git a/target/board/generic_x86_64_a/BoardConfig.mk b/target/board/generic_x86_64_a/BoardConfig.mk index bd1f750e3..2c0260439 100644 --- a/target/board/generic_x86_64_a/BoardConfig.mk +++ b/target/board/generic_x86_64_a/BoardConfig.mk @@ -14,40 +14,7 @@ # limitations under the License. # -# 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 - -# Kernel is also not part of generic AOSP image -TARGET_NO_KERNEL := true - -# system.img is always ext4 with sparse option -TARGET_USERIMAGES_USE_EXT4 := true -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false -TARGET_USES_MKE2FS := true - -# Enable dex pre-opt to speed up initial boot -ifeq ($(HOST_OS),linux) - ifeq ($(WITH_DEXPREOPT),) - WITH_DEXPREOPT := true - WITH_DEXPREOPT_PIC := true - ifneq ($(TARGET_BUILD_VARIANT),user) - # Retain classes.dex in APK's for non-user builds - DEX_PREOPT_DEFAULT := nostripping - endif - endif -endif - -# Generic AOSP image always requires separate vendor.img -TARGET_COPY_OUT_VENDOR := vendor - -# Generic AOSP image does NOT support HWC1 -TARGET_USES_HWC2 := true +include build/make/target/board/treble_common_64.mk TARGET_CPU_ABI := x86_64 TARGET_ARCH := x86_64 @@ -56,13 +23,3 @@ TARGET_ARCH_VARIANT := x86_64 TARGET_2ND_CPU_ABI := x86 TARGET_2ND_ARCH := x86 TARGET_2ND_ARCH_VARIANT := x86_64 - -TARGET_USES_64_BIT_BINDER := true - -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 # 1.5 GB - -# TODO(b/35790399): remove when b/35790399 is fixed. -BOARD_NAND_SPARE_SIZE := 0 -BOARD_FLASH_BLOCK_SIZE := 512 - -BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true diff --git a/target/board/generic_x86_64_ab/BoardConfig.mk b/target/board/generic_x86_64_ab/BoardConfig.mk index 41bd7b734..e49863a4b 100644 --- a/target/board/generic_x86_64_ab/BoardConfig.mk +++ b/target/board/generic_x86_64_ab/BoardConfig.mk @@ -14,40 +14,7 @@ # limitations under the License. # -# 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 - -# Kernel is also not part of generic AOSP image -TARGET_NO_KERNEL := true - -# system.img is always ext4 with sparse option -TARGET_USERIMAGES_USE_EXT4 := true -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false -TARGET_USES_MKE2FS := true - -# Enable dex pre-opt to speed up initial boot -ifeq ($(HOST_OS),linux) - ifeq ($(WITH_DEXPREOPT),) - WITH_DEXPREOPT := true - WITH_DEXPREOPT_PIC := true - ifneq ($(TARGET_BUILD_VARIANT),user) - # Retain classes.dex in APK's for non-user builds - DEX_PREOPT_DEFAULT := nostripping - endif - endif -endif - -# Generic AOSP image always requires separate vendor.img -TARGET_COPY_OUT_VENDOR := vendor - -# Generic AOSP image does NOT support HWC1 -TARGET_USES_HWC2 := true +include build/make/target/board/treble_common_64.mk TARGET_CPU_ABI := x86_64 TARGET_ARCH := x86_64 @@ -57,15 +24,6 @@ TARGET_2ND_CPU_ABI := x86 TARGET_2ND_ARCH := x86 TARGET_2ND_ARCH_VARIANT := x86_64 -TARGET_USES_64_BIT_BINDER := true - # Enable A/B update +TARGET_NO_RECOVERY := true BOARD_BUILD_SYSTEM_ROOT_IMAGE := true - -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 # 1.5 GB - -# TODO(b/35790399): remove when b/35790399 is fixed. -BOARD_NAND_SPARE_SIZE := 0 -BOARD_FLASH_BLOCK_SIZE := 512 - -BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true diff --git a/target/board/generic_x86_a/BoardConfig.mk b/target/board/generic_x86_a/BoardConfig.mk index 4ca6ebe86..67cb07d7f 100644 --- a/target/board/generic_x86_a/BoardConfig.mk +++ b/target/board/generic_x86_a/BoardConfig.mk @@ -14,49 +14,8 @@ # limitations under the License. # -# 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 - -# Kernel is also not part of generic AOSP image -TARGET_NO_KERNEL := true - -# system.img is always ext4 with sparse option -TARGET_USERIMAGES_USE_EXT4 := true -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false -TARGET_USES_MKE2FS := true - -# Enable dex pre-opt to speed up initial boot -ifeq ($(HOST_OS),linux) - ifeq ($(WITH_DEXPREOPT),) - WITH_DEXPREOPT := true - WITH_DEXPREOPT_PIC := true - ifneq ($(TARGET_BUILD_VARIANT),user) - # Retain classes.dex in APK's for non-user builds - DEX_PREOPT_DEFAULT := nostripping - endif - endif -endif - -# Generic AOSP image always requires separate vendor.img -TARGET_COPY_OUT_VENDOR := vendor - -# Generic AOSP image does NOT support HWC1 -TARGET_USES_HWC2 := true +include build/make/target/board/treble_common_32.mk TARGET_CPU_ABI := x86 TARGET_ARCH := x86 TARGET_ARCH_VARIANT := x86 - -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 # 1.5 GB - -# TODO(b/35790399): remove when b/35790399 is fixed. -BOARD_NAND_SPARE_SIZE := 0 -BOARD_FLASH_BLOCK_SIZE := 512 - -BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true diff --git a/target/board/generic_x86_ab/BoardConfig.mk b/target/board/generic_x86_ab/BoardConfig.mk index 6a286674d..6e51102a2 100644 --- a/target/board/generic_x86_ab/BoardConfig.mk +++ b/target/board/generic_x86_ab/BoardConfig.mk @@ -14,52 +14,12 @@ # limitations under the License. # -# 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 - -# Kernel is also not part of generic AOSP image -TARGET_NO_KERNEL := true - -# system.img is always ext4 with sparse option -TARGET_USERIMAGES_USE_EXT4 := true -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false -TARGET_USES_MKE2FS := true - -# Enable dex pre-opt to speed up initial boot -ifeq ($(HOST_OS),linux) - ifeq ($(WITH_DEXPREOPT),) - WITH_DEXPREOPT := true - WITH_DEXPREOPT_PIC := true - ifneq ($(TARGET_BUILD_VARIANT),user) - # Retain classes.dex in APK's for non-user builds - DEX_PREOPT_DEFAULT := nostripping - endif - endif -endif - -# Generic AOSP image always requires separate vendor.img -TARGET_COPY_OUT_VENDOR := vendor - -# Generic AOSP image does NOT support HWC1 -TARGET_USES_HWC2 := true +include build/make/target/board/treble_common_32.mk TARGET_CPU_ABI := x86 TARGET_ARCH := x86 TARGET_ARCH_VARIANT := x86 # Enable A/B update +TARGET_NO_RECOVERY := true BOARD_BUILD_SYSTEM_ROOT_IMAGE := true - -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 # 1.5 GB - -# TODO(b/35790399): remove when b/35790399 is fixed. -BOARD_NAND_SPARE_SIZE := 0 -BOARD_FLASH_BLOCK_SIZE := 512 - -BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true diff --git a/target/board/treble_common.mk b/target/board/treble_common.mk new file mode 100644 index 000000000..962d0b763 --- /dev/null +++ b/target/board/treble_common.mk @@ -0,0 +1,56 @@ +# +# Copyright (C) 2017 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. +# + +# Common boardconfig settings for generic AOSP products targetting mobile +# (phone/table) devices. + +# Properties +TARGET_SYSTEM_PROP := build/make/target/board/treble_system.prop +BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true + +# Bootloader, kernel and recovery are not part of generic AOSP image +TARGET_NO_BOOTLOADER := true +TARGET_NO_KERNEL := true + +# system.img is always ext4 with sparse option +TARGET_USERIMAGES_USE_EXT4 := true +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false +TARGET_USES_MKE2FS := true +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 # 1.5 GB + +# Generic AOSP image always requires separate vendor.img +TARGET_COPY_OUT_VENDOR := vendor + +# Enable dex pre-opt to speed up initial boot +ifeq ($(HOST_OS),linux) + ifeq ($(WITH_DEXPREOPT),) + WITH_DEXPREOPT := true + WITH_DEXPREOPT_PIC := true + ifneq ($(TARGET_BUILD_VARIANT),user) + # Retain classes.dex in APK's for non-user builds + DEX_PREOPT_DEFAULT := nostripping + endif + endif +endif + +# Generic AOSP image does NOT support HWC1 +TARGET_USES_HWC2 := true +# Set emulator framebuffer display device buffer count to 3 +NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 + +# TODO(b/35790399): remove when b/35790399 is fixed. +BOARD_NAND_SPARE_SIZE := 0 +BOARD_FLASH_BLOCK_SIZE := 512 diff --git a/target/board/treble_common_32.mk b/target/board/treble_common_32.mk new file mode 100644 index 000000000..b66c41eb0 --- /dev/null +++ b/target/board/treble_common_32.mk @@ -0,0 +1,17 @@ +# +# Copyright (C) 2017 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. +# + +include build/make/target/board/treble_common.mk diff --git a/target/board/treble_common_64.mk b/target/board/treble_common_64.mk new file mode 100644 index 000000000..8980dfde1 --- /dev/null +++ b/target/board/treble_common_64.mk @@ -0,0 +1,20 @@ +# +# Copyright (C) 2017 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. +# + +include build/make/target/board/treble_common.mk + +# Enable 64-bits binder +TARGET_USES_64_BIT_BINDER := true