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 <carterhsu@google.com>
Change-Id: Ic7632a4f80298721512cd538ce93945b82a9981f
diff --git a/audio/common/all-versions/default/service/Android.bp b/audio/common/all-versions/default/service/Android.bp
index 0d4775c6a..1bd6abe 100644
--- a/audio/common/all-versions/default/service/Android.bp
+++ b/audio/common/all-versions/default/service/Android.bp
@@ -7,17 +7,40 @@
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 @@
"libutils",
"libhardware",
],
+
+ defaults: [
+ "android_hardware_audio_config_defaults",
+ ],
}
// Legacy service name, use android.hardware.audio.service instead