From 150dded787009b6e84e02dca11a593c5deba0e01 Mon Sep 17 00:00:00 2001 From: Carter Hsu Date: Mon, 8 Nov 2021 18:30:24 +0800 Subject: [PATCH] audio: Support 64bit configuration on 32+64bit compatible OS The default value is 'prefer32', in order to run the hardware audio service as 64 bit on a 32+64bit OS, please add the content below into 'device.mk': SOONG_CONFIG_NAMESPACES += android_hardware_audio SOONG_CONFIG_android_hardware_audio += \ run_64bit SOONG_CONFIG_android_hardware_audio_run_64bit := true Bug: 205240941 Test: build pass Signed-off-by: Carter Hsu Change-Id: Ic7632a4f80298721512cd538ce93945b82a9981f --- .../all-versions/default/service/Android.bp | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/audio/common/all-versions/default/service/Android.bp b/audio/common/all-versions/default/service/Android.bp index 0d4775c6a8..1bd6abeb47 100644 --- a/audio/common/all-versions/default/service/Android.bp +++ b/audio/common/all-versions/default/service/Android.bp @@ -7,17 +7,40 @@ package { default_applicable_licenses: ["hardware_interfaces_license"], } +soong_config_module_type { + name: "android_hardware_audio_config_default", + module_type: "cc_defaults", + config_namespace: "android_hardware_audio", + bool_variables: [ + "run_64bit", + ], + properties: ["compile_multilib"], +} + +android_hardware_audio_config_default { + name: "android_hardware_audio_config_defaults", + + soong_config_variables: { + run_64bit: { + conditions_default: { + // Prefer 32 bit as the binary must always be installed at the same + // location for init to start it and the build system does not support + // having two binaries installable to the same location even if they are + // not installed in the same build. + compile_multilib: "prefer32", + }, + compile_multilib: "64", + }, + }, +} + cc_binary { name: "android.hardware.audio.service", init_rc: ["android.hardware.audio.service.rc"], relative_install_path: "hw", vendor: true, - // Prefer 32 bit as the binary must always be installed at the same - // location for init to start it and the build system does not support - // having two binaries installable to the same location even if they are - // not installed in the same build. - compile_multilib: "prefer32", + srcs: ["service.cpp"], cflags: [ @@ -34,6 +57,10 @@ cc_binary { "libutils", "libhardware", ], + + defaults: [ + "android_hardware_audio_config_defaults", + ], } // Legacy service name, use android.hardware.audio.service instead