aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Fabianowski <bartfab@google.com>2017-06-08 10:12:43 +0000
committerBartosz Fabianowski <bartfab@google.com>2017-06-08 10:12:43 +0000
commitbf1546c96dd7955ddcc26f5e49c2d6d3cfea28b2 (patch)
tree0daaba0e125abf9f264cd6c4f3f2458ef123ac99
parent85c4945f46bccb7cb69fa39b280b11ffa6e04815 (diff)
downloadbuild-bf1546c96dd7955ddcc26f5e49c2d6d3cfea28b2.tar.gz
Revert "Revert "Normalize building generic system image with treble-common.mk""
We will selectively revert on a branch only. This reverts commit 85c4945f46bccb7cb69fa39b280b11ffa6e04815. Change-Id: I0eb869a0f2385fe66bd3cd0bc18a298ebe5b47da
-rw-r--r--target/product/aosp_arm64_a.mk84
-rw-r--r--target/product/aosp_arm64_ab.mk83
-rw-r--r--target/product/aosp_arm_a.mk83
-rw-r--r--target/product/treble_common.mk183
4 files changed, 187 insertions, 246 deletions
diff --git a/target/product/aosp_arm64_a.mk b/target/product/aosp_arm64_a.mk
index 0b0ba61817..535b3a47ca 100644
--- a/target/product/aosp_arm64_a.mk
+++ b/target/product/aosp_arm64_a.mk
@@ -16,90 +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_nonab/
+# on the generic system image, place them in build/make/target/board/generic_arm64_a/
# system.prop.
-PRODUCT_COPY_FILES := \
- device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml
-
-#split selinux policy
-PRODUCT_FULL_TREBLE_OVERRIDE := true
-
-# Some of HAL interface libraries are automatically added by the dependencies from
-# the framework. However, we list them all here to make it explicit and prevent
-# possible mistake.
-PRODUCT_PACKAGES := \
- android.dvr.composer@1.0 \
- android.hardware.audio@2.0 \
- android.hardware.audio.common@2.0 \
- android.hardware.audio.common@2.0-util \
- android.hardware.audio.effect@2.0 \
- android.hardware.biometrics.fingerprint@2.1 \
- android.hardware.bluetooth@1.0 \
- android.hardware.boot@1.0 \
- android.hardware.broadcastradio@1.0 \
- android.hardware.broadcastradio@1.1 \
- android.hardware.camera.common@1.0 \
- android.hardware.camera.device@1.0 \
- android.hardware.camera.device@3.2 \
- android.hardware.camera.provider@2.4 \
- android.hardware.configstore@1.0 \
- android.hardware.contexthub@1.0 \
- android.hardware.drm@1.0 \
- android.hardware.gatekeeper@1.0 \
- android.hardware.gnss@1.0 \
- android.hardware.graphics.allocator@2.0 \
- android.hardware.graphics.common@1.0 \
- android.hardware.graphics.composer@2.1 \
- android.hardware.graphics.mapper@2.0 \
- android.hardware.ir@1.0 \
- android.hardware.keymaster@3.0 \
- android.hardware.light@2.0 \
- android.hardware.media@1.0 \
- android.hardware.media.omx@1.0 \
- android.hardware.media.omx@1.0-utils \
- android.hardware.memtrack@1.0 \
- android.hardware.nfc@1.0 \
- android.hardware.oemlock@1.0 \
- android.hardware.power@1.0 \
- android.hardware.radio@1.0 \
- android.hardware.radio.deprecated@1.0 \
- android.hardware.sensors@1.0 \
- android.hardware.soundtrigger@2.0 \
- android.hardware.thermal@1.0 \
- android.hardware.tv.cec@1.0 \
- android.hardware.tv.input@1.0 \
- android.hardware.usb@1.0 \
- android.hardware.vibrator@1.0 \
- android.hardware.vr@1.0 \
- android.hardware.weaver@1.0 \
- android.hardware.wifi@1.0 \
- android.hardware.wifi.supplicant@1.0 \
- android.hidl.allocator@1.0 \
- android.hidl.base@1.0 \
- android.hidl.manager@1.0 \
- android.hidl.memory@1.0 \
-
-PRODUCT_PACKAGES += \
- libdynamic_sensor_ext \
- libaudioroute \
- libxml2 \
- libtinyalsa \
- libtinycompress \
- cplay \
- libion \
-
-# WiFi
-# Note: Wifi HAL (android.hardware.wifi@1.0-service, wpa_supplicant,
-# and wpa_supplicant.conf) is not here. They are at vendor.img
-PRODUCT_PACKAGES += \
- libwpa_client \
- hostapd \
- hostapd_cli \
- wificond \
- wifilogd \
-
-PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/bootdevice/by-name/system
+include build/make/target/product/treble_common.mk
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
diff --git a/target/product/aosp_arm64_ab.mk b/target/product/aosp_arm64_ab.mk
index a8ba4b1a22..442ac25881 100644
--- a/target/product/aosp_arm64_ab.mk
+++ b/target/product/aosp_arm64_ab.mk
@@ -19,88 +19,7 @@
# on the generic system image, place them in build/make/target/board/generic_arm64_ab/
# system.prop.
-PRODUCT_COPY_FILES := \
- device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml
-
-#split selinux policy
-PRODUCT_FULL_TREBLE_OVERRIDE := true
-
-# Some of HAL interface libraries are automatically added by the dependencies from
-# the framework. However, we list them all here to make it explicit and prevent
-# possible mistake.
-PRODUCT_PACKAGES := \
- android.frameworks.vr.composer@1.0 \
- android.hardware.audio@2.0 \
- android.hardware.audio.common@2.0 \
- android.hardware.audio.common@2.0-util \
- android.hardware.audio.effect@2.0 \
- android.hardware.biometrics.fingerprint@2.1 \
- android.hardware.bluetooth@1.0 \
- android.hardware.boot@1.0 \
- android.hardware.broadcastradio@1.0 \
- android.hardware.broadcastradio@1.1 \
- android.hardware.camera.common@1.0 \
- android.hardware.camera.device@1.0 \
- android.hardware.camera.device@3.2 \
- android.hardware.camera.provider@2.4 \
- android.hardware.configstore@1.0 \
- android.hardware.contexthub@1.0 \
- android.hardware.drm@1.0 \
- android.hardware.gatekeeper@1.0 \
- android.hardware.gnss@1.0 \
- android.hardware.graphics.allocator@2.0 \
- android.hardware.graphics.common@1.0 \
- android.hardware.graphics.composer@2.1 \
- android.hardware.graphics.mapper@2.0 \
- android.hardware.ir@1.0 \
- android.hardware.keymaster@3.0 \
- android.hardware.light@2.0 \
- android.hardware.media@1.0 \
- android.hardware.media.omx@1.0 \
- android.hardware.media.omx@1.0-utils \
- android.hardware.memtrack@1.0 \
- android.hardware.nfc@1.0 \
- android.hardware.power@1.0 \
- android.hardware.radio@1.0 \
- android.hardware.radio.deprecated@1.0 \
- android.hardware.sensors@1.0 \
- android.hardware.soundtrigger@2.0 \
- android.hardware.thermal@1.0 \
- android.hardware.tv.cec@1.0 \
- android.hardware.tv.input@1.0 \
- android.hardware.usb@1.0 \
- android.hardware.vibrator@1.0 \
- android.hardware.vr@1.0 \
- android.hardware.wifi@1.0 \
- android.hardware.wifi.supplicant@1.0 \
- android.hidl.allocator@1.0 \
- android.hidl.base@1.0 \
- android.hidl.manager@1.0 \
- android.hidl.memory@1.0 \
-
-PRODUCT_PACKAGES += \
- libdynamic_sensor_ext \
- libaudioroute \
- libxml2 \
- libtinyalsa \
- libtinycompress \
- cplay \
- libion \
-
-# WiFi
-# Note: Wifi HAL (android.hardware.wifi@1.0-service, wpa_supplicant,
-# and wpa_supplicant.conf) is not here. They are at vendor.img
-PRODUCT_PACKAGES += \
- libwpa_client \
- hostapd \
- hostapd_cli \
- wificond \
- wifilogd \
-
-# TODO(jiyong) move ims to vendor partition
-#PRODUCT_PACKAGES += ims
-
-PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/bootdevice/by-name/system
+include build/make/target/product/treble_common.mk
AB_OTA_UPDATER := true
AB_OTA_PARTITIONS := system
diff --git a/target/product/aosp_arm_a.mk b/target/product/aosp_arm_a.mk
index 83db4027b7..c3188e02c2 100644
--- a/target/product/aosp_arm_a.mk
+++ b/target/product/aosp_arm_a.mk
@@ -19,88 +19,7 @@
# on the generic system image, place them in build/make/target/board/generic_arm_a/
# system.prop.
-PRODUCT_COPY_FILES := \
- device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml
-
-#split selinux policy
-PRODUCT_FULL_TREBLE_OVERRIDE := true
-
-# Some of HAL interface libraries are automatically added by the dependencies from
-# the framework. However, we list them all here to make it explicit and prevent
-# possible mistake.
-PRODUCT_PACKAGES := \
- android.dvr.composer@1.0 \
- android.hardware.audio@2.0 \
- android.hardware.audio.common@2.0 \
- android.hardware.audio.common@2.0-util \
- android.hardware.audio.effect@2.0 \
- android.hardware.biometrics.fingerprint@2.1 \
- android.hardware.bluetooth@1.0 \
- android.hardware.boot@1.0 \
- android.hardware.broadcastradio@1.0 \
- android.hardware.broadcastradio@1.1 \
- android.hardware.camera.common@1.0 \
- android.hardware.camera.device@1.0 \
- android.hardware.camera.device@3.2 \
- android.hardware.camera.provider@2.4 \
- android.hardware.configstore@1.0 \
- android.hardware.contexthub@1.0 \
- android.hardware.drm@1.0 \
- android.hardware.gatekeeper@1.0 \
- android.hardware.gnss@1.0 \
- android.hardware.graphics.allocator@2.0 \
- android.hardware.graphics.common@1.0 \
- android.hardware.graphics.composer@2.1 \
- android.hardware.graphics.mapper@2.0 \
- android.hardware.ir@1.0 \
- android.hardware.keymaster@3.0 \
- android.hardware.light@2.0 \
- android.hardware.media@1.0 \
- android.hardware.media.omx@1.0 \
- android.hardware.media.omx@1.0-utils \
- android.hardware.memtrack@1.0 \
- android.hardware.nfc@1.0 \
- android.hardware.oemlock@1.0 \
- android.hardware.power@1.0 \
- android.hardware.radio@1.0 \
- android.hardware.radio.deprecated@1.0 \
- android.hardware.sensors@1.0 \
- android.hardware.soundtrigger@2.0 \
- android.hardware.thermal@1.0 \
- android.hardware.tv.cec@1.0 \
- android.hardware.tv.input@1.0 \
- android.hardware.usb@1.0 \
- android.hardware.usb@1.1 \
- android.hardware.vibrator@1.0 \
- android.hardware.vr@1.0 \
- android.hardware.weaver@1.0 \
- android.hardware.wifi@1.0 \
- android.hardware.wifi.supplicant@1.0 \
- android.hidl.allocator@1.0 \
- android.hidl.base@1.0 \
- android.hidl.manager@1.0 \
- android.hidl.memory@1.0 \
-
-PRODUCT_PACKAGES += \
- libdynamic_sensor_ext \
- libaudioroute \
- libxml2 \
- libtinyalsa \
- libtinycompress \
- cplay \
- libion \
-
-# WiFi
-# Note: Wifi HAL (android.hardware.wifi@1.0-service, wpa_supplicant,
-# and wpa_supplicant.conf) is not here. They are at vendor.img
-PRODUCT_PACKAGES += \
- libwpa_client \
- hostapd \
- hostapd_cli \
- wificond \
- wifilogd \
-
-PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/bootdevice/by-name/system
+include build/make/target/product/treble_common.mk
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/verity.mk)
diff --git a/target/product/treble_common.mk b/target/product/treble_common.mk
new file mode 100644
index 0000000000..92876ef0cc
--- /dev/null
+++ b/target/product/treble_common.mk
@@ -0,0 +1,183 @@
+#
+# 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.
+#
+
+# Split selinux policy
+PRODUCT_FULL_TREBLE_OVERRIDE := true
+
+# HAL interfaces:
+# Some of HAL interface libraries are automatically added by the dependencies
+# from the framework. However, we list them all here to make it explicit and
+# prevent possible mistake.
+PRODUCT_PACKAGES := \
+ android.frameworks.schedulerservice@1.0 \
+ android.frameworks.sensorservice@1.0 \
+ android.frameworks.vr.composer@1.0 \
+ android.hardware.audio@2.0 \
+ android.hardware.audio.common@2.0 \
+ android.hardware.audio.common@2.0-util \
+ android.hardware.audio.effect@2.0 \
+ android.hardware.biometrics.fingerprint@2.1 \
+ android.hardware.bluetooth@1.0 \
+ android.hardware.boot@1.0 \
+ android.hardware.broadcastradio@1.0 \
+ android.hardware.broadcastradio@1.1 \
+ android.hardware.camera.common@1.0 \
+ android.hardware.camera.device@1.0 \
+ android.hardware.camera.device@3.2 \
+ android.hardware.camera.provider@2.4 \
+ android.hardware.configstore-utils \
+ android.hardware.configstore@1.0 \
+ android.hardware.contexthub@1.0 \
+ android.hardware.drm@1.0 \
+ android.hardware.dumpstate@1.0 \
+ android.hardware.gatekeeper@1.0 \
+ android.hardware.gnss@1.0 \
+ android.hardware.graphics.allocator@2.0 \
+ android.hardware.graphics.bufferqueue@1.0 \
+ android.hardware.graphics.common@1.0 \
+ android.hardware.graphics.composer@2.1 \
+ android.hardware.graphics.mapper@2.0 \
+ android.hardware.health@1.0 \
+ android.hardware.ir@1.0 \
+ android.hardware.keymaster@3.0 \
+ android.hardware.light@2.0 \
+ android.hardware.media@1.0 \
+ android.hardware.media.omx@1.0 \
+ android.hardware.memtrack@1.0 \
+ android.hardware.nfc@1.0 \
+ android.hardware.oemlock@1.0 \
+ android.hardware.power@1.0 \
+ android.hardware.radio@1.0 \
+ android.hardware.radio.deprecated@1.0 \
+ android.hardware.sensors@1.0 \
+ android.hardware.soundtrigger@2.0 \
+ android.hardware.thermal@1.0 \
+ android.hardware.tv.cec@1.0 \
+ android.hardware.tv.input@1.0 \
+ android.hardware.usb@1.0 \
+ android.hardware.usb@1.1 \
+ android.hardware.vibrator@1.0 \
+ android.hardware.vr@1.0 \
+ android.hardware.weaver@1.0 \
+ android.hardware.wifi@1.0 \
+ android.hardware.wifi.supplicant@1.0 \
+ android.hidl.allocator@1.0 \
+ android.hidl.base@1.0 \
+ android.hidl.manager@1.0 \
+ android.hidl.memory@1.0 \
+ android.hidl.token@1.0 \
+ android.system.wifi.keystore@1.0 \
+
+# VNDK:
+# Some VNDK shared objects are automatically included indirectly.
+# We list them all here to make it explicit and prevent possible mistakes.
+# An example of one such mistake was libcurl, which is included in A/B
+# devices because of update_engine, but not in non-A/B devices.
+PRODUCT_PACKAGES += \
+ libaudioroute \
+ libaudioutils \
+ libbinder \
+ libcamera_metadata \
+ libcap \
+ libcrypto \
+ libcrypto_utils \
+ libcups \
+ libcurl \
+ libdiskconfig \
+ libdumpstateutil \
+ libevent \
+ libexif \
+ libexpat \
+ libfmq \
+ libgatekeeper \
+ libgui \
+ libhardware_legacy \
+ libhidlmemory \
+ libicui18n \
+ libicuuc \
+ libjpeg \
+ libkeymaster1 \
+ libkeymaster_messages \
+ libldacBT_abr \
+ libldacBT_enc \
+ liblz4 \
+ libmdnssd \
+ libmemtrack \
+ libmemunreachable \
+ libmetricslogger \
+ libminijail \
+ libnetutils \
+ libnl \
+ libopus \
+ libpagemap \
+ libpcap \
+ libpcre2 \
+ libpcrecpp \
+ libpdfium \
+ libpiex \
+ libpower \
+ libprocessgroup \
+ libprocinfo \
+ libprotobuf-cpp-full \
+ libprotobuf-cpp-lite \
+ libradio_metadata \
+ libsoftkeymasterdevice \
+ libsonic \
+ libsonivox \
+ libspeexresampler \
+ libsqlite \
+ libssl \
+ libsuspend \
+ libsysutils \
+ libtinyalsa \
+ libtinyxml2 \
+ libui \
+ libusbhost \
+ libvixl-arm \
+ libvixl-arm64 \
+ libvorbisidec \
+ libwebrtc_audio_preprocessing \
+ libxml2 \
+ libziparchive \
+
+# VNDK-SP:
+PRODUCT_PACKAGES += \
+ vndk-sp \
+
+PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/bootdevice/by-name/system
+
+# Wifi:
+# Wifi HAL (android.hardware.wifi@1.0-service, wpa_supplicant,
+# and wpa_supplicant.conf) is not here. They are in vendor.img
+PRODUCT_PACKAGES += \
+ wificond \
+
+# Audio:
+USE_XML_AUDIO_POLICY_CONF := 1
+# The following policy XML files are used as fallback for
+# vendors/devices not using XML to configure audio policy.
+PRODUCT_COPY_FILES += \
+ frameworks/av/services/audiopolicy/config/audio_policy_configuration.xml:system/etc/audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:system/etc/a2dp_audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:system/etc/usb_audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:system/etc/r_submix_audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:system/etc/audio_policy_volumes.xml \
+ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:system/etc/default_volume_tables.xml \
+
+# May need to review why the followings are needed in generic system image.
+PRODUCT_COPY_FILES := \
+ device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml
+