diff --git a/target/product/aosp_arm64_a.mk b/target/product/aosp_arm64_a.mk index 4258f04f7..84d4b4f6e 100644 --- a/target/product/aosp_arm64_a.mk +++ b/target/product/aosp_arm64_a.mk @@ -16,12 +16,11 @@ # PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at # /vendor/[build|default].prop when build split is on. In order to have sysprops -# on the generic system image, place them in build/make/target/board/generic_arm64_a/ -# system.prop. +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. -include build/make/target/product/treble_common.mk +include build/make/target/product/treble_common_64.mk -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) PRODUCT_NAME := aosp_arm64_a diff --git a/target/product/aosp_arm64_ab.mk b/target/product/aosp_arm64_ab.mk index ae50c4216..75ded35b6 100644 --- a/target/product/aosp_arm64_ab.mk +++ b/target/product/aosp_arm64_ab.mk @@ -16,10 +16,10 @@ # PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at # /vendor/[build|default].prop when build split is on. In order to have sysprops -# on the generic system image, place them in build/make/target/board/generic_arm64_a/ -# system.prop. +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. -include build/make/target/product/treble_common.mk +include build/make/target/product/treble_common_64.mk AB_OTA_UPDATER := true AB_OTA_PARTITIONS := system @@ -27,7 +27,6 @@ PRODUCT_PACKAGES += \ update_engine \ update_verifier -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) PRODUCT_NAME := aosp_arm64_ab diff --git a/target/product/aosp_arm_a.mk b/target/product/aosp_arm_a.mk index 6be8e82a4..845d091f6 100644 --- a/target/product/aosp_arm_a.mk +++ b/target/product/aosp_arm_a.mk @@ -16,10 +16,10 @@ # PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at # /vendor/[build|default].prop when build split is on. In order to have sysprops -# on the generic system image, place them in build/make/target/board/generic_arm_a/ -# system.prop. +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. -include build/make/target/product/treble_common.mk +include build/make/target/product/treble_common_32.mk $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) diff --git a/target/product/aosp_arm_ab.mk b/target/product/aosp_arm_ab.mk index 423d38fba..3a862eb77 100644 --- a/target/product/aosp_arm_ab.mk +++ b/target/product/aosp_arm_ab.mk @@ -16,10 +16,10 @@ # PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at # /vendor/[build|default].prop when build split is on. In order to have sysprops -# on the generic system image, place them in build/make/target/board/generic_arm_a/ -# system.prop. +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. -include build/make/target/product/treble_common.mk +include build/make/target/product/treble_common_32.mk AB_OTA_UPDATER := true AB_OTA_PARTITIONS := system diff --git a/target/product/aosp_x86_64_a.mk b/target/product/aosp_x86_64_a.mk index eab8b4abe..53f8252f9 100644 --- a/target/product/aosp_x86_64_a.mk +++ b/target/product/aosp_x86_64_a.mk @@ -16,12 +16,11 @@ # PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at # /vendor/[build|default].prop when build split is on. In order to have sysprops -# on the generic system image, place them in build/make/target/board/generic_arm64_a/ -# system.prop. +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. -include build/make/target/product/treble_common.mk +include build/make/target/product/treble_common_64.mk -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) PRODUCT_NAME := aosp_x86_64_a diff --git a/target/product/aosp_x86_64_ab.mk b/target/product/aosp_x86_64_ab.mk index 4fb2acfcd..6080695eb 100644 --- a/target/product/aosp_x86_64_ab.mk +++ b/target/product/aosp_x86_64_ab.mk @@ -16,10 +16,10 @@ # PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at # /vendor/[build|default].prop when build split is on. In order to have sysprops -# on the generic system image, place them in build/make/target/board/generic_arm64_a/ -# system.prop. +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. -include build/make/target/product/treble_common.mk +include build/make/target/product/treble_common_64.mk AB_OTA_UPDATER := true AB_OTA_PARTITIONS := system @@ -27,7 +27,6 @@ PRODUCT_PACKAGES += \ update_engine \ update_verifier -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) PRODUCT_NAME := aosp_x86_64_ab diff --git a/target/product/aosp_x86_a.mk b/target/product/aosp_x86_a.mk index df8410730..72d6e1ab0 100644 --- a/target/product/aosp_x86_a.mk +++ b/target/product/aosp_x86_a.mk @@ -16,10 +16,10 @@ # PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at # /vendor/[build|default].prop when build split is on. In order to have sysprops -# on the generic system image, place them in build/make/target/board/generic_arm64_a/ -# system.prop. +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. -include build/make/target/product/treble_common.mk +include build/make/target/product/treble_common_32.mk $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) diff --git a/target/product/aosp_x86_ab.mk b/target/product/aosp_x86_ab.mk index 4bd63ab4e..f3aef958b 100644 --- a/target/product/aosp_x86_ab.mk +++ b/target/product/aosp_x86_ab.mk @@ -16,10 +16,10 @@ # PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at # /vendor/[build|default].prop when build split is on. In order to have sysprops -# on the generic system image, place them in build/make/target/board/generic_arm64_a/ -# system.prop. +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. -include build/make/target/product/treble_common.mk +include build/make/target/product/treble_common_32.mk AB_OTA_UPDATER := true AB_OTA_PARTITIONS := system diff --git a/target/product/treble_common.mk b/target/product/treble_common.mk index a16829b4a..07c7ae136 100644 --- a/target/product/treble_common.mk +++ b/target/product/treble_common.mk @@ -14,6 +14,11 @@ # limitations under the License. # +# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at +# /vendor/[build|default].prop when build split is on. In order to have sysprops +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. + # Split selinux policy PRODUCT_FULL_TREBLE_OVERRIDE := true diff --git a/target/product/treble_common_32.mk b/target/product/treble_common_32.mk new file mode 100644 index 000000000..0023c3b6e --- /dev/null +++ b/target/product/treble_common_32.mk @@ -0,0 +1,22 @@ +# +# 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. +# + +# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at +# /vendor/[build|default].prop when build split is on. In order to have sysprops +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. + +include build/make/target/product/treble_common.mk diff --git a/target/product/treble_common_64.mk b/target/product/treble_common_64.mk new file mode 100644 index 000000000..eff0d463c --- /dev/null +++ b/target/product/treble_common_64.mk @@ -0,0 +1,35 @@ +# +# 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. +# + +# PRODUCT_PROPERTY_OVERRIDES cannot be used here because sysprops will be at +# /vendor/[build|default].prop when build split is on. In order to have sysprops +# on the generic system image, place them in build/make/target/board/ +# treble_system.prop. + +include build/make/target/product/treble_common.mk + +# For now this will allow 64-bit apps, but still compile all apps with JNI +# for 32-bit only. + +# Copy the 64-bit primary, 32-bit secondary zygote startup script +PRODUCT_COPY_FILES += system/core/rootdir/init.zygote64_32.rc:root/init.zygote64_32.rc + +# Set the zygote property to select the 64-bit primary, 32-bit secondary script +# This line must be parsed before the one in core_minimal.mk +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote64_32 + +TARGET_SUPPORTS_32_BIT_APPS := true +TARGET_SUPPORTS_64_BIT_APPS := true