From 34bca8808e35a86cc8732f4e32ba4bed51579970 Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Tue, 10 Jul 2018 16:49:05 +0100 Subject: [PATCH] Split core_minimal in two. Add media_system and media_vendor makefiles which together make up core_minimal. Document what belongs in these files. Also update mainline_system to inherit media_system. Bug: 80410283 Test: lunch mainline_arm64; m nothing Change-Id: I030bb6805bf9ff8971ad2e4ba75fc74ace02124b Merged-In: I030bb6805bf9ff8971ad2e4ba75fc74ace02124b --- target/product/core_minimal.mk | 95 +++-------------------------- target/product/mainline_system.mk | 4 +- target/product/media_system.mk | 99 +++++++++++++++++++++++++++++++ target/product/media_vendor.mk | 25 ++++++++ 4 files changed, 135 insertions(+), 88 deletions(-) create mode 100644 target/product/media_system.mk create mode 100644 target/product/media_vendor.mk diff --git a/target/product/core_minimal.mk b/target/product/core_minimal.mk index 272f5e1a5..b432a91f1 100644 --- a/target/product/core_minimal.mk +++ b/target/product/core_minimal.mk @@ -14,93 +14,16 @@ # limitations under the License. # -# Base configuration for most consumer android devices. Do not put -# things that are specific to communication devices (phones, tables, -# etc.) here -- for that, use generic_no_telephony.mk. +# This product is the base of a generic media-capable device, which +# means most android products, but excludes wearables. +# +# Note: Do not add any contents directly to this file. Choose either +# media_system or media_vendor depending on partition (also consider +# base_.mk or handheld_.mk. + +$(call inherit-product, $(SRC_TARGET_DIR)/product/media_system.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/media_vendor.mk) PRODUCT_BRAND := generic PRODUCT_DEVICE := generic PRODUCT_NAME := core - -PRODUCT_PACKAGES += \ - com.android.future.usb.accessory \ - com.android.mediadrm.signer \ - com.android.media.remotedisplay \ - com.android.media.remotedisplay.xml \ - CompanionDeviceManager \ - drmserver \ - ethernet-service \ - fsck.f2fs \ - HTMLViewer \ - libaudiopreprocessing \ - libfilterpack_imageproc \ - libstagefright_soft_aacdec \ - libstagefright_soft_aacenc \ - libstagefright_soft_amrdec \ - libstagefright_soft_amrnbenc \ - libstagefright_soft_amrwbenc \ - libstagefright_soft_avcdec \ - libstagefright_soft_avcenc \ - libstagefright_soft_flacdec \ - libstagefright_soft_flacenc \ - libstagefright_soft_g711dec \ - libstagefright_soft_gsmdec \ - libstagefright_soft_hevcdec \ - libstagefright_soft_mp3dec \ - libstagefright_soft_mpeg2dec \ - libstagefright_soft_mpeg4dec \ - libstagefright_soft_mpeg4enc \ - libstagefright_soft_opusdec \ - libstagefright_soft_rawdec \ - libstagefright_soft_vorbisdec \ - libstagefright_soft_vpxdec \ - libstagefright_soft_vpxenc \ - libwebrtc_audio_preprocessing \ - libwebviewchromium_loader \ - libwebviewchromium_plat_support \ - make_f2fs \ - PackageInstaller \ - requestsync \ - StatementService \ - vndk_snapshot_package \ - webview \ - - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.software.webview.xml:system/etc/permissions/android.software.webview.xml - -ifneq (REL,$(PLATFORM_VERSION_CODENAME)) -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.software.preview_sdk.xml:system/etc/permissions/android.software.preview_sdk.xml -endif - -# The order of PRODUCT_SYSTEM_SERVER_JARS matters. -PRODUCT_SYSTEM_SERVER_JARS := \ - services \ - ethernet-service \ - wifi-service \ - com.android.location.provider.impl \ - -PRODUCT_COPY_FILES += \ - system/core/rootdir/etc/public.libraries.android.txt:system/etc/public.libraries.txt - -# Enable boot.oat filtering of compiled classes to reduce boot.oat size. b/28026683 -PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ - frameworks/base/config/compiled-classes-phone:system/etc/compiled-classes) - -# Enable dirty image object binning to reduce dirty pages in the image. -PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ - frameworks/base/dirty-image-objects-phone:system/etc/dirty-image-objects) - -# On userdebug builds, collect more tombstones by default. -ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) -PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ - tombstoned.max_tombstone_count=50 -endif - -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ - ro.logd.size.stats=64K \ - log.tag.stats_log=I - -$(call inherit-product, $(SRC_TARGET_DIR)/product/base_system.mk) -$(call inherit-product, $(SRC_TARGET_DIR)/product/base_vendor.mk) diff --git a/target/product/mainline_system.mk b/target/product/mainline_system.mk index c45f911ad..258fb6192 100644 --- a/target/product/mainline_system.mk +++ b/target/product/mainline_system.mk @@ -14,8 +14,8 @@ # limitations under the License. # -# TODO(hansson): change inheritance to core_minimal, then generic_no_telephony -$(call inherit-product, $(SRC_TARGET_DIR)/product/base_system.mk) +# TODO(hansson): change inheritance to generic_no_telephony +$(call inherit-product, $(SRC_TARGET_DIR)/product/media_system.mk) PRODUCT_NAME := mainline_system PRODUCT_BRAND := generic diff --git a/target/product/media_system.mk b/target/product/media_system.mk new file mode 100644 index 000000000..f858aaf64 --- /dev/null +++ b/target/product/media_system.mk @@ -0,0 +1,99 @@ +# +# Copyright (C) 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. +# + +# This makefile contains the system partition contents for +# media-capable devices (non-wearables). Only add something +# here if it definitely doesn't belong on wearables. Otherwise, +# choose base_system.mk. +$(call inherit-product, $(SRC_TARGET_DIR)/product/base_system.mk) + +PRODUCT_PACKAGES += \ + com.android.future.usb.accessory \ + com.android.mediadrm.signer \ + com.android.media.remotedisplay \ + com.android.media.remotedisplay.xml \ + CompanionDeviceManager \ + drmserver \ + ethernet-service \ + fsck.f2fs \ + HTMLViewer \ + libfilterpack_imageproc \ + libstagefright_soft_aacdec \ + libstagefright_soft_aacenc \ + libstagefright_soft_amrdec \ + libstagefright_soft_amrnbenc \ + libstagefright_soft_amrwbenc \ + libstagefright_soft_avcdec \ + libstagefright_soft_avcenc \ + libstagefright_soft_flacdec \ + libstagefright_soft_flacenc \ + libstagefright_soft_g711dec \ + libstagefright_soft_gsmdec \ + libstagefright_soft_hevcdec \ + libstagefright_soft_mp3dec \ + libstagefright_soft_mpeg2dec \ + libstagefright_soft_mpeg4dec \ + libstagefright_soft_mpeg4enc \ + libstagefright_soft_opusdec \ + libstagefright_soft_rawdec \ + libstagefright_soft_vorbisdec \ + libstagefright_soft_vpxdec \ + libstagefright_soft_vpxenc \ + libwebviewchromium_loader \ + libwebviewchromium_plat_support \ + make_f2fs \ + PackageInstaller \ + requestsync \ + StatementService \ + vndk_snapshot_package \ + webview \ + + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.webview.xml:system/etc/permissions/android.software.webview.xml + +ifneq (REL,$(PLATFORM_VERSION_CODENAME)) +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.preview_sdk.xml:system/etc/permissions/android.software.preview_sdk.xml +endif + +# The order of PRODUCT_SYSTEM_SERVER_JARS matters. +PRODUCT_SYSTEM_SERVER_JARS := \ + services \ + ethernet-service \ + wifi-service \ + com.android.location.provider.impl \ + +PRODUCT_COPY_FILES += \ + system/core/rootdir/etc/public.libraries.android.txt:system/etc/public.libraries.txt + +# Enable boot.oat filtering of compiled classes to reduce boot.oat size. b/28026683 +PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ + frameworks/base/config/compiled-classes-phone:system/etc/compiled-classes) + +# Enable dirty image object binning to reduce dirty pages in the image. +PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ + frameworks/base/dirty-image-objects-phone:system/etc/dirty-image-objects) + +# On userdebug builds, collect more tombstones by default. +ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) +PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ + tombstoned.max_tombstone_count=50 +endif + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.logd.size.stats=64K \ + log.tag.stats_log=I diff --git a/target/product/media_vendor.mk b/target/product/media_vendor.mk new file mode 100644 index 000000000..1db0b587e --- /dev/null +++ b/target/product/media_vendor.mk @@ -0,0 +1,25 @@ +# +# Copyright (C) 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. +# + +# This makefile contains the non-system partition contents for +# media-capable devices (non-wearables). Only add something here +# if it definitely doesn't belong on wearables. Otherwise, choose +# base_vendor.mk. +$(call inherit-product, $(SRC_TARGET_DIR)/product/base_vendor.mk) + +PRODUCT_PACKAGES += \ + libaudiopreprocessing \ + libwebrtc_audio_preprocessing \