Files
pawlet_rpi4/audio/Android.bp
oxmc 8d5f56fd05 Sync to upstream android-17.0 (AOSP17)
Pull in raspberry-vanilla's AOSP17 device tree changes for rpi4 while
keeping all PawletOS customizations (A/B partition layout, sepolicy,
zram, TWRP recovery scaffolding, ALSA HDMI pre-warm, product/overlay
structure) intact on top.

Upstream changes absorbed:
- AOSP17 audio HAL refactor (StreamAlsa split into StreamAlsaBase/
  StreamAlsaMonoPipe, Utils.cpp -> UtilsAlsa.cpp, new Bluetooth/stub
  helper classes, libeffects AIDL rebuild via *_ndk_shared defaults)
- API level 36 -> 37, FCM matrix level 202504 -> 202604
- QuickSettings tile default split (SystemUIRpiOverlay, ported into
  pawlet_rpi_common where this overlay now lives)
- vendor_tracing_descriptors added to enforce-product-packages-exist
- misc AOSP17 logging header switch (android-base/logging.h -> Log.h)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-04 00:16:17 -07:00

296 lines
7.6 KiB
Plaintext

// Copyright (C) 2022 The Android Open Source Project
// Copyright (C) 2025 KonstaKANG
//
// SPDX-License-Identifier: Apache-2.0
cc_defaults {
name: "aidlaudioservice_rpi_defaults",
vendor: true,
shared_libs: [
"android.hardware.bluetooth.audio-impl",
"android.hardware.common-V2-ndk",
"android.hardware.common.fmq-V1-ndk",
"libalsautilsv2-rpi",
"libasound",
"libaudio_aidl_conversion_common_ndk",
"libaudioaidlcommon",
"libaudioutils",
"libbase",
"libbinder_ndk",
"libbluetooth_audio_session_aidl",
"libcutils",
"libfmq",
"liblog",
"libmedia_helper",
"libnbaio_mono",
"libstagefright_foundation",
"libtinyalsav2",
"libutils",
"libxml2",
],
header_libs: [
"libaudio_system_headers",
"libaudioaidl_rpi_headers",
"libxsdc-utils",
],
cflags: [
"-DBACKEND_NDK",
"-Wall",
"-Werror",
"-Wextra",
"-Wthread-safety",
] + select(release_flag("RELEASE_HARDWARE_AUDIO_USE_CAP_AIDL"), {
true: [],
default: ["-DDISABLE_CAP_AIDL"],
}),
defaults: [
"latest_android_hardware_audio_core_ndk_shared",
"latest_android_hardware_audio_core_sounddose_ndk_shared",
"latest_android_hardware_bluetooth_audio_ndk_shared",
"latest_android_media_audio_common_types_ndk_shared",
],
}
cc_library {
name: "libaudioserviceimpl-rpi",
defaults: ["aidlaudioservice_rpi_defaults"],
export_include_dirs: ["include"],
srcs: [
"AidlConversionXsdc.cpp",
"AudioPolicyConfigXmlConverter.cpp",
"Bluetooth.cpp",
"CapEngineConfigXmlConverter.cpp",
"Config.cpp",
"Configuration.cpp",
"EngineConfigXmlConverter.cpp",
"Module.cpp",
"ModulePrimary.cpp",
"SoundDose.cpp",
"Stream.cpp",
"Telephony.cpp",
"XsdcConversion.cpp",
"alsa/Mixer.cpp",
"alsa/ModuleAlsa.cpp",
"alsa/StreamAlsa.cpp",
"alsa/StreamAlsaBase.cpp",
"alsa/StreamAlsaMonoPipe.cpp",
"alsa/UtilsAlsa.cpp",
"bluetooth/DevicePortProxy.cpp",
"bluetooth/ModuleBluetooth.cpp",
"bluetooth/ModuleBluetoothBase.cpp",
"bluetooth/StreamBluetooth.cpp",
"deprecated/StreamSwitcher.cpp",
"primary/PrimaryMixer.cpp",
"primary/StreamPrimary.cpp",
"r_submix/ModuleRemoteSubmix.cpp",
"r_submix/StreamRemoteSubmix.cpp",
"r_submix/SubmixRoute.cpp",
"stub/ApeHeader.cpp",
"stub/DriverStubImpl.cpp",
"stub/ModuleStub.cpp",
"stub/MpegAudioHeader.cpp",
"stub/StreamMmapStub.cpp",
"stub/StreamOffloadStub.cpp",
"stub/StreamStub.cpp",
"usb/ModuleUsb.cpp",
"usb/StreamUsb.cpp",
"usb/UsbAlsaMixerControl.cpp",
],
generated_sources: [
"audio_policy_capengine_configuration_aidl_rpi",
"audio_policy_configuration_aidl_rpi",
"audio_policy_engine_configuration_aidl_rpi",
],
generated_headers: [
"audio_policy_capengine_configuration_aidl_rpi",
"audio_policy_configuration_aidl_rpi",
"audio_policy_engine_configuration_aidl_rpi",
],
export_generated_headers: [
"audio_policy_capengine_configuration_aidl_rpi",
"audio_policy_configuration_aidl_rpi",
"audio_policy_engine_configuration_aidl_rpi",
],
shared_libs: [
"libmediautils_vendor",
],
export_shared_lib_headers: [
"libaudio_aidl_conversion_common_ndk",
],
}
cc_library {
name: "libeffectconfig-rpi",
defaults: ["aidlaudioeffectservice_rpi_defaults"],
srcs: [
"EffectConfig.cpp",
],
shared_libs: [
"libmedia_helper",
"libtinyxml2",
],
export_shared_lib_headers: [
"libtinyxml2",
],
export_include_dirs: [
"include",
],
}
cc_library_static {
name: "libaudioeffectaidlcommon-rpi",
srcs: [
"EffectContext.cpp",
"EffectImpl.cpp",
"EffectThread.cpp",
],
defaults: [
"latest_android_media_audio_common_types_ndk_shared",
"latest_android_hardware_audio_effect_ndk_shared",
],
shared_libs: [
"libaudioaidlcommon",
"libaudioutils",
"libfmq",
],
static_libs: [
"libaudioaidlranges",
],
header_libs: [
"libaudioaidl_headers",
],
cflags: [
"-Wall",
"-Wextra",
"-Werror",
"-Wthread-safety",
"-DBACKEND_NDK",
],
export_include_dirs: ["include"],
host_supported: true,
vendor: true,
}
cc_binary {
name: "android.hardware.audio.service.rpi",
relative_install_path: "hw",
defaults: ["aidlaudioservice_rpi_defaults"],
static_libs: [
"libaudioserviceimpl-rpi",
],
srcs: ["main.cpp"],
installable: false,
}
cc_defaults {
name: "aidlaudioeffectservice_rpi_defaults",
vendor: true,
shared_libs: [
"libapexsupport",
"libaudio_aidl_conversion_common_ndk",
"libaudioutils",
"libbase",
"libbinder_ndk",
"liblog",
"libutils",
],
header_libs: [
"libaudio_system_headers",
"libaudioaidl_rpi_headers",
],
cflags: [
"-DBACKEND_NDK",
"-Wall",
"-Werror",
"-Wextra",
],
defaults: [
"latest_android_hardware_audio_effect_ndk_shared",
"latest_android_media_audio_common_types_ndk_shared",
],
}
cc_binary {
name: "android.hardware.audio.effect.service.rpi",
relative_install_path: "hw",
defaults: ["aidlaudioeffectservice_rpi_defaults"],
shared_libs: [
"android.hardware.common-V2-ndk",
"android.hardware.common.fmq-V1-ndk",
"libaudioaidlcommon",
"libcutils",
"libeffectconfig-rpi",
"libfmq",
],
static_libs: [
"libaudioeffectaidlcommon-rpi",
],
header_libs: [
"libsystem_headers",
],
srcs: [
"EffectFactory.cpp",
"EffectMain.cpp",
],
cflags: [
"-Wthread-safety",
],
installable: false,
}
cc_library_headers {
name: "libaudioaidl_rpi_headers",
export_include_dirs: ["include"],
vendor_available: true,
}
prebuilt_etc {
name: "android.hardware.audio.service.rpi.rc",
src: "android.hardware.audio.service.rpi.rc",
installable: false,
}
prebuilt_etc {
name: "android.hardware.audio.service.rpi.xml",
src: "android.hardware.audio.service.rpi.xml",
sub_dir: "vintf",
installable: false,
}
apex {
name: "com.android.hardware.audio.rpi",
manifest: "manifest.json",
file_contexts: "file_contexts",
key: "com.android.hardware.key",
certificate: ":com.android.hardware.certificate",
updatable: false,
vendor: true,
binaries: [
"android.hardware.audio.effect.service.rpi",
"android.hardware.audio.service.rpi",
],
native_shared_libs: [
"libbundleaidl_rpi",
"libdownmixaidl_rpi",
"libdynamicsprocessingaidl_rpi",
"libloudnessenhanceraidl_rpi",
"libreverbaidl_rpi",
"libvisualizeraidl_rpi",
],
prebuilts: [
"android.hardware.audio.service.rpi.rc",
"android.hardware.audio.service.rpi.xml",
"android.hardware.bluetooth.audio.xml",
],
required: [
"aidl_audio_set_configurations_bfbs",
"aidl_audio_set_scenarios_bfbs",
"aidl_default_audio_set_configurations_json",
"aidl_default_audio_set_scenarios_json",
"hfp_codec_capabilities_xml",
"libasound-config",
"libasound-config-pcm",
],
}