1#
2# Copyright 2019 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17PRODUCT_SHIPPING_API_LEVEL := 29
18PRODUCT_USE_DYNAMIC_PARTITIONS := true
19PRODUCT_FULL_TREBLE_OVERRIDE := true
20PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
21
22#
23# All components inherited here go to system image
24#
25$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
26$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk)
27
28#
29# All components inherited here go to system_ext image
30#
31$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system_ext.mk)
32$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system_ext.mk)
33
34#
35# All components inherited here go to product image
36#
37$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk)
38
39#
40# All components inherited here go to vendor image
41#
42$(call inherit-product, $(SRC_TARGET_DIR)/product/media_vendor.mk)
43
44PRODUCT_SOONG_NAMESPACES += device/generic/goldfish
45
46PRODUCT_PACKAGES += \
47    android.hardware.audio.service \
48    android.hardware.audio@6.0-impl:32 \
49    android.hardware.audio.effect@6.0-impl:32 \
50    audio.primary.default \
51    audio.r_submix.default \
52    android.hardware.drm@1.0-service \
53    android.hardware.drm@1.0-impl \
54    android.hardware.drm@1.2-service.clearkey \
55    android.hardware.gatekeeper@1.0-service.software \
56    android.hardware.graphics.allocator@2.0-service \
57    android.hardware.graphics.allocator@2.0-impl \
58    android.hardware.graphics.composer@2.1-service \
59    android.hardware.graphics.composer@2.1-impl \
60    android.hardware.graphics.mapper@2.0-impl \
61    android.hardware.health@2.0-service \
62    android.hardware.keymaster@4.0-service \
63    android.hardware.keymaster@4.0-impl \
64    libEGL_swiftshader \
65    libGLESv1_CM_swiftshader \
66    libGLESv2_swiftshader \
67
68PRODUCT_PACKAGES += \
69    android.hardware.bluetooth@1.1-service.sim \
70    android.hardware.bluetooth.audio@2.0-impl
71PRODUCT_PROPERTY_OVERRIDES += vendor.bt.rootcanal_test_console=off
72
73PRODUCT_HOST_PACKAGES += bind_to_localhost
74
75PRODUCT_PACKAGE_OVERLAYS := device/generic/goldfish/overlay
76
77PRODUCT_NAME := fvp
78PRODUCT_DEVICE := fvpbase
79PRODUCT_BRAND := Android
80PRODUCT_MODEL := AOSP on FVP
81
82PRODUCT_COPY_FILES += \
83    device/generic/goldfish/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
84    frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
85    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
86    frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
87    system/bt/vendor_libs/test_vendor_lib/data/controller_properties.json:vendor/etc/bluetooth/controller_properties.json \
88    device/generic/goldfish/fvpbase/fstab.fvpbase:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.fvpbase \
89    device/generic/goldfish/fvpbase/fstab.fvpbase.initrd:$(TARGET_COPY_OUT_RAMDISK)/fstab.fvpbase \
90    device/generic/goldfish/fvpbase/init.fvpbase.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.fvpbase.rc \
91    device/generic/goldfish/fvpbase/required_images:required_images \
92    frameworks/av/services/audiopolicy/config/audio_policy_configuration_generic.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
93    frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
94    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
95    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
96    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
97    frameworks/av/services/audiopolicy/config/surround_sound_configuration_5_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/surround_sound_configuration_5_0.xml \
98
99PRODUCT_BUILD_BOOT_IMAGE := true
100
101PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
102    ro.hardware.egl=swiftshader \
103    debug.sf.nobootanimation=1 \
104
105PRODUCT_REQUIRES_INSECURE_EXECMEM_FOR_SWIFTSHADER := true
106
107# It's almost always faster to dexopt on the host even in eng builds.
108WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY := false
109
110DEVICE_MANIFEST_FILE := device/generic/goldfish/fvpbase/manifest.xml
111
112