android_device_samsung_a20/universal7885-common/universal7885-common.mk
K9100ii 18591bc134 universal7885: Build a few necessary libraries, previously under VNDK
VNDK has been deprecated, and libraries that were built implicitly under
VNDK before aren't anymore. Build the few necessary ones explicitly to
resolve the following:

vndksupport: Could not load /vendor/lib/hw/audio.primary.exynos7904.so from default namespace: dlopen failed: library "libprocessgroup.so" not found: needed by /vendor/lib/hw/audio.primary.exynos7904.so in namespace (default).
vndksupport: Could not load /vendor/lib/hw/audio.primary.exynos7904.so from default namespace: dlopen failed: library "libexpat.so" not found: needed by /vendor/lib/hw/audio.primary.exynos7904.so in namespace (default).
vndksupport: Could not load /vendor/lib64/hw/camera.exynos7904.so from default namespace: dlopen failed: library "libexpat.so" not found: needed by /vendor/lib64/libsecnativefeature.so in namespace (default).
dlopen failed: library "libnetutils.so" not found: needed by /vendor/lib64/libsec-ril.so in namespace (default)
dlopen failed: library "libsqlite.so" not found: needed by /vendor/lib64/libsec-ril.so in namespace (default)
dlopen failed: library "libnetutils.so" not found: needed by /vendor/lib64/libsec-ril-dsds.so in namespace (default)
dlopen failed: library "libsqlite.so" not found: needed by /vendor/lib64/libsec-ril-dsds.so in namespace (default)

Change-Id: I322a1873b03cbc7c520215cf9487f9274ffdc1b2
2024-08-10 19:31:51 +09:00

411 lines
17 KiB
Makefile

# Call proprietary blob setup
ifeq ($(TARGET_LOCAL_ARCH),arm64)
$(call inherit-product, vendor/samsung/universal7885-common/universal7885-common-vendor.mk)
endif
# Soong namespaces
$(call inherit-product, hardware/samsung_slsi-linaro/config/config.mk)
# Client Id base
PRODUCT_GMS_CLIENTID_BASE := android-samsung
# Evox
TARGET_SUPPORTS_TOUCHGESTURES := true
# Allow Copying of apks.
PRODUCT_BROKEN_VERIFY_USES_LIBRARIES := true
# Disable Postrender Cleanup
TARGET_DISABLE_POSTRENDER_CLEANUP := true
# For *_auto_generated_rro_vendor.apk
PRODUCT_ENFORCE_RRO_TARGETS := framework-res SystemUI Bluetooth
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS := # leave it empty
PRODUCT_PACKAGES += \
android.hardware.audio@7.0-impl \
android.hardware.audio.service \
android.hardware.audio.effect@7.0-impl \
libtinycompress \
audio.r_submix.default \
audio.usb.default \
libprocessgroup.vendor
# Audio (BT)
PRODUCT_PACKAGES += \
android.hardware.bluetooth.audio-impl \
audio.bluetooth.default
# Audio Configs
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/audio/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.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/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(LOCAL_PATH)/configs/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml
# Bluetooth
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.1-service \
libbt-vendor
PRODUCT_COPY_FILES += \
hardware/samsung_slsi/libbt/conf/bt_did.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_did.conf \
hardware/samsung_slsi/libbt/conf/bt_vendor.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor.conf
# Set the Bluetooth Class of Device
# Service Field: 0x5A -> 90
# Bit 17: Networking
# Bit 19: Capturing
# Bit 20: Object Transfer
# Bit 22: Telephony
# MAJOR_CLASS: 0x02 -> 2 (Phone)
# MINOR_CLASS: 0x0C -> 12 (Smart Phone)
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.device.class_of_device=90,2,12
# Set supported Bluetooth profiles to enabled
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.profile.asha.central.enabled=true \
bluetooth.profile.a2dp.source.enabled=true \
bluetooth.profile.avrcp.target.enabled=true \
bluetooth.profile.bap.broadcast.assist.enabled=true \
bluetooth.profile.bap.unicast.server.enabled=true \
bluetooth.profile.bas.client.enabled=true \
bluetooth.profile.csip.set_coordinator.enabled=true \
bluetooth.profile.gatt.enabled=true \
bluetooth.profile.hap.client.enabled=true \
bluetooth.profile.hfp.ag.enabled=true \
bluetooth.profile.hid.device.enabled=true \
bluetooth.profile.hid.host.enabled=true \
bluetooth.profile.map.server.enabled=true \
bluetooth.profile.mcp.server.enabled=true \
bluetooth.profile.opp.enabled=true \
bluetooth.profile.pan.nap.enabled=true \
bluetooth.profile.pan.panu.enabled=true \
bluetooth.profile.pbap.server.enabled=true \
bluetooth.profile.sap.server.enabled=true \
bluetooth.profile.tbs.server.enabled=true \
bluetooth.profile.vc.server.enabled=true
# Camera
TARGET_BOARD_CAMERA_COUNT ?= 3
ifeq ($(TARGET_BOARD_CAMERA_COUNT), 3)
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.5-service.exynos7885
else
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.5-service
endif
PRODUCT_PACKAGES += \
libGrallocWrapper \
libacryl \
libexpat.vendor
# Camera app
PRODUCT_PACKAGES += \
Aperture
# Charger
PRODUCT_PACKAGES += \
libsuspend
# Debug
$(call inherit-product, hardware/samsung-ext/interfaces/debug-tools/debug.mk)
# DRM
PRODUCT_PACKAGES += \
android.hardware.drm-service.clearkey \
android.hardware.drm@1.3.vendor
# Fingerprint
TARGET_BOARD_HAS_FP ?= true
ifeq ($(TARGET_BOARD_HAS_FP), true)
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint-service.samsung
endif
# Gatekeeper
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-impl \
android.hardware.gatekeeper@1.0-service
# GPS
PRODUCT_PACKAGES += \
android.hardware.gnss@2.1.vendor \
android.frameworks.sensorservice@1.0.vendor
# Graphics
PRODUCT_PACKAGES += \
android.hardware.graphics.allocator@2.0-impl \
android.hardware.graphics.allocator@2.0-service \
android.hardware.graphics.mapper@2.0-impl \
libgui_vendor
PRODUCT_PACKAGES += \
android.hardware.composer.hwc3-service.slsi \
gralloc.$(TARGET_SOC) \
libion_exynos
# Health
PRODUCT_PACKAGES += \
android.hardware.health@2.1-impl \
android.hardware.health@2.1-impl.recovery \
android.hardware.health@2.1-service
# HIDL
PRODUCT_PACKAGES += \
libhidltransport \
libhidltransport.vendor \
libhwbinder \
libhwbinder.vendor \
libunwindstack.vendor
# Init
PRODUCT_PACKAGES += \
fstab.$(TARGET_SOC) \
fstab.enableswap \
init.exynos7885.rc \
init.exynos7885.usb.rc \
wifi_sec.rc \
init.target.rc \
init.baseband.rc
ifeq ($(TARGET_HAS_UDFPS),true)
PRODUCT_PACKAGES += \
init.udfps.rc
endif
# Lights
PRODUCT_PACKAGES += \
android.hardware.light-service.samsung
# Keylayout
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/keylayout/Codec3035_Headset_Events.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/Codec3035_Headset_Events.kl \
$(LOCAL_PATH)/configs/keylayout/uinput-sec-fp.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-sec-fp.kl
# Keymaster
PRODUCT_PACKAGES += \
android.hardware.keymaster@4.0-service.samsung \
libkeymaster4_1support.vendor
# Media
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml
# Memtrack
PRODUCT_PACKAGES += \
android.hardware.memtrack-service.samsung-mali
# NFC
PRODUCT_PACKAGES += \
android.hardware.nfc@1.2-service.samsung \
com.android.nfc_extras \
libnfc-nci \
libnfc_nci_jni \
NfcNci \
Tag
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/nfc/libnfc-sec-vendor.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-sec-vendor.conf
# Overlays
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
# DEVICE_PACAKGE_OVERLAYS += $(LOCAL_PATH)/overlay-rom
ifeq ($(TARGET_LOCAL_ARCH),arm64)
SYMLINK_SUFFIXES := _symlink32 _symlink64
else
SYMLINK_SUFFIXES := _symlink32
endif
SYMLINK_LIST := libOpenCL libOpenCL.1 libOpenCL.1.1 vulkan_mali
# Symlink targets
$(foreach suf, $(SYMLINK_SUFFIXES), $(foreach lib, $(SYMLINK_LIST), \
$(eval PRODUCT_PACKAGES += $(lib)$(suf))))
# OMX
PRODUCT_PACKAGES += \
libstagefrighthw \
libExynosOMX_Core \
libExynosOMX_Resourcemanager \
libOMX.Exynos.AVC.Decoder \
libOMX.Exynos.AVC.Encoder \
libOMX.Exynos.HEVC.Decoder \
libOMX.Exynos.HEVC.Encoder \
libOMX.Exynos.MPEG4.Decoder \
libOMX.Exynos.MPEG4.Encoder \
libOMX.Exynos.VP8.Decoder \
libOMX.Exynos.VP8.Encoder \
libOMX.Exynos.VP9.Decoder \
libOMX.Exynos.WMV.Decoder
# Permissions
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
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 \
frameworks/native/data/etc/android.hardware.camera.ar.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.ar.xml \
frameworks/native/data/etc/android.hardware.camera.autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \
frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.uicc.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.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.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
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.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.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.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
frameworks/native/data/etc/android.software.freeform_window_management.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.freeform_window_management.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
frameworks/native/data/etc/android.software.picture_in_picture.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.picture_in_picture.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service.samsung-libperfmgr
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/power/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# Power Stats impl
PRODUCT_PACKAGES += \
android.hardware.power.stats-service.exynos7
# Protobuf
PRODUCT_PACKAGES += \
libprotobuf-cpp-full-3.9.1-vendorcompat \
libprotobuf-cpp-lite-3.9.1-vendorcompat
# Public Libraries
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
# RIL
PRODUCT_PACKAGES += \
android.hardware.radio@1.4.vendor \
android.hardware.radio@1.0 \
android.hardware.radio.config@1.2.vendor \
android.hardware.radio.deprecated@1.0.vendor \
libnetutils.vendor \
libsqlite.vendor
PRODUCT_PACKAGES += \
secril_config_svc
# Ueventd
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
# Screen density
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
# DAP
PRODUCT_PACKAGES += \
SamsungDAP
# Samsung Ext Flash
PRODUCT_PACKAGES += \
FlashControl \
SmartCharge
PRODUCT_PACKAGES += \
vendor.lineage.touch@1.0-service.samsung \
vendor.lineage.touch@1.0-service.ss \
vendor.lineage.fastcharge@1.0-service.samsung
# Sensors
PRODUCT_PACKAGES += \
android.hardware.sensors@1.0-impl.samsung \
libsensorndkbridge
# Shims
PRODUCT_PACKAGES += \
libshim_sensorndkbridge
# Skip Mount
PRODUCT_PACKAGES += \
gsi_skip_mount.cfg
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \
hardware/google/interfaces \
hardware/google/pixel \
hardware/samsung \
hardware/samsung/aidl/power-libperfmgr
# Speed profile services and wifi-service to reduce RAM and storage
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile
PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true
PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-image-profile.txt
# Task profiles
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/tasks/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
# Thermal
PRODUCT_PACKAGES += \
android.hardware.thermal@1.0-impl \
android.hardware.thermal@1.0-service
# Vibrator
PRODUCT_PACKAGES += \
android.hardware.vibrator-service.samsung
# Wifi
PRODUCT_PACKAGES += \
android.hardware.wifi-service \
hostapd \
WifiOverlay \
wpa_supplicant
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
$(LOCAL_PATH)/configs/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \
$(LOCAL_PATH)/configs/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
PRODUCT_CFI_INCLUDE_PATHS += hardware/samsung_slsi/scsc_wifibt/wpa_supplicant_lib
# Extra Command-Line Tools
PRODUCT_PACKAGES += \
sgdisk \
strace
# Forcefully add messaging to build list
PRODUCT_PACKAGES += \
messaging