blob: 87f2bb4fcff3eb13c96637dac07c36ee0742d20d [file] [log] [blame]
#
# Copyright (C) 2014 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.
#
# Enable updating of APEXes
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
# Device overlay
DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
# Build and run only ART
PRODUCT_RUNTIMES := runtime_libart_default
PRODUCT_SHIPPING_API_LEVEL := 31
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
# Enable Scoped Storage related
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
# Check vendor package version
# If you need to make changes to the vendor partition,
# please modify the source git project here:
# https://staging-git.codelinaro.org/linaro/linaro-aosp/aosp-linaro-vendor-package
include $(LOCAL_PATH)/vendor-package-ver.mk
ifneq (,$(wildcard $(LINARO_VENDOR_PATH)/db845c/$(EXPECTED_LINARO_VENDOR_VERSION)/version.mk))
# Unfortunately inherit-product doesn't export build variables from the
# called make file to the caller, so we have to include it directly here.
include $(LINARO_VENDOR_PATH)/db845c/$(EXPECTED_LINARO_VENDOR_VERSION)/version.mk
ifneq ($(TARGET_LINARO_VENDOR_VERSION), $(EXPECTED_LINARO_VENDOR_VERSION))
$(warning TARGET_LINARO_VENDOR_VERSION ($(TARGET_LINARO_VENDOR_VERSION)) does not match exiting the build ($(EXPECTED_LINARO_VENDOR_VERSION)).)
$(warning Please download new binaries here:)
$(warning $(VND_PKG_URL) )
$(warning And extract in the ANDROID_TOP_DIR)
# Would be good to error out here, but that causes other issues
endif
else
$(warning Missing Linaro Vendor Package!)
$(warning Please download new binaries here:)
$(warning $(VND_PKG_URL) )
$(warning And extract in the ANDROID_TOP_DIR)
# Would be good to error out here, but that causes other issues
endif
# vndk
PRODUCT_PACKAGES := vndk-sp
# Dynamic partitions
PRODUCT_BUILD_SUPER_PARTITION := true
PRODUCT_USE_DYNAMIC_PARTITIONS := true
PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
# HACK: Avoid usb crash
PRODUCT_PRODUCT_PROPERTIES := \
persist.adb.nonblocking_ffs=0 \
ro.adb.nonblocking_ffs=0
# Display
PRODUCT_PACKAGES += \
android.hardware.drm@1.3-service.clearkey \
android.hardware.drm@1.3-service.widevine \
libGLES_mesa \
libEGL_mesa \
libGLESv1_CM_mesa \
libGLESv2_mesa \
libgallium_dri \
libglapi
PRODUCT_PROPERTY_OVERRIDES += \
ro.hardware.gralloc=minigbm_msm \
ro.hardware.hwcomposer=drm \
ro.opengles.version=196608 \
persist.demo.rotationlock=1
# Vulkan
PRODUCT_PACKAGES += \
vulkan.freedreno
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
PRODUCT_VENDOR_PROPERTIES += \
ro.hardware.vulkan=freedreno
# Will need to enable this after ANDROID_external_memory_android_hardware_buffer lands in mesa
#TARGET_USES_VULKAN = true
#
# Hardware Composer HAL
#
PRODUCT_PACKAGES += \
hwcomposer.drm \
android.hardware.graphics.composer@2.3-impl \
android.hardware.graphics.composer@2.3-service
#
# Gralloc HAL
#
PRODUCT_PACKAGES += \
gralloc.minigbm_msm \
android.hardware.graphics.allocator@4.0-service.minigbm_msm \
android.hardware.graphics.mapper@4.0-impl.minigbm_msm
# Use Launcher3QuickStep
PRODUCT_PACKAGES += Launcher3QuickStep
# Enable WiFi
PRODUCT_PACKAGES += \
hostapd \
libwpa_client \
wpa_supplicant \
wpa_supplicant.conf \
wificond
PRODUCT_PROPERTY_OVERRIDES += \
wifi.interface=wlan0 \
wifi.supplicant_scan_interval=15
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
$(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
$(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf
# Enable BT
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.1-service.btlinux
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
#
# Power HAL
#
PRODUCT_PACKAGES += \
android.hardware.power-service.example
#
# PowerStats HAL
#
PRODUCT_PACKAGES += \
android.hardware.power.stats-service.example
# Audio
PRODUCT_PACKAGES += \
android.hardware.audio.service \
android.hardware.audio@7.0-impl \
android.hardware.audio.effect@7.0-impl \
android.hardware.soundtrigger@2.3-impl \
android.hardware.bluetooth.audio@2.0-impl
# Build default bluetooth a2dp and usb audio HALs
PRODUCT_PACKAGES += \
audio.a2dp.default \
audio.bluetooth.default \
audio.usb.default \
audio.r_submix.default
# Build tinyalsa cli tools for debugging
PRODUCT_PACKAGES += \
tinyplay \
tinycap \
tinymix \
tinypcminfo
# audio policy configuration
USE_XML_AUDIO_POLICY_CONF := 1
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
$(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(LOCAL_PATH)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
# Copy media codecs config file
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
$(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy
# Copy hardware config file(s)
PRODUCT_COPY_FILES += \
device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml
# External Web Cam support
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.4-impl \
android.hardware.camera.provider@2.4-external-service
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
$(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
$(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
# Keymaster
PRODUCT_PACKAGES += \
android.hardware.keymaster@3.0-impl \
android.hardware.keymaster@3.0-service
# Gatekeeper
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-service.software
# Health
PRODUCT_PACKAGES += \
android.hardware.health@2.1-impl-cuttlefish \
android.hardware.health@2.1-service
# TODO: disable this service once we implement system suspend
PRODUCT_PACKAGES += \
suspend_blocker
# mkbootimg host tool to build boot.img separately
PRODUCT_HOST_PACKAGES := \
mkbootimg
# Userspace vendor services for WiFi/Audio to work
PRODUCT_PACKAGES += \
pd-mapper \
qrtr-ns \
qrtr-cfg \
qrtr-lookup \
rmtfs \
tqftpserv
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/qcom/init.qcom.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.qcom.rc
# Copy standard platform config files
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \
frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \
frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml
PRODUCT_SOONG_NAMESPACES += \
device/linaro/dragonboard \
external/mesa3d \
vendor/linaro/linux-firmware/$(EXPECTED_LINARO_VENDOR_VERSION) \
vendor/linaro/db845c/$(EXPECTED_LINARO_VENDOR_VERSION) \
vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION)