Update audio services for 64 bit compilation
audioserver still runs in 32 bits
Bug: 27479136
Change-Id: I99ac607e4ce006a87abc2a3f838023e00ef78647
diff --git a/media/audioserver/Android.mk b/media/audioserver/Android.mk
index aa79bc1..b4a2e0f 100644
--- a/media/audioserver/Android.mk
+++ b/media/audioserver/Android.mk
@@ -31,8 +31,26 @@
$(call include-path-for, audio-utils) \
external/sonic \
+# If AUDIOSERVER_MULTILIB in device.mk is non-empty then it is used to control
+# the LOCAL_MULTILIB for all audioserver exclusive libraries.
+# This is relevant for 64 bit architectures where either or both
+# 32 and 64 bit libraries may be built.
+#
+# AUDIOSERVER_MULTILIB may be set as follows:
+# 32 to build 32 bit audioserver libraries and 32 bit audioserver.
+# 64 to build 64 bit audioserver libraries and 64 bit audioserver.
+# both to build both 32 bit and 64 bit libraries,
+# and use primary target architecture (32 or 64) for audioserver.
+# first to build libraries and audioserver for the primary target architecture only.
+# <empty> to build both 32 and 64 bit libraries and 32 bit audioserver.
+
+ifeq ($(strip $(AUDIOSERVER_MULTILIB)),)
+LOCAL_MULTILIB := 32
+else
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+endif
+
LOCAL_MODULE := audioserver
-LOCAL_32_BIT_ONLY := true
LOCAL_INIT_RC := audioserver.rc
diff --git a/services/audioflinger/Android.mk b/services/audioflinger/Android.mk
index 302e4dc..0112e56 100644
--- a/services/audioflinger/Android.mk
+++ b/services/audioflinger/Android.mk
@@ -60,8 +60,9 @@
libcpustats \
libmedia_helper
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+
LOCAL_MODULE:= libaudioflinger
-LOCAL_32_BIT_ONLY := true
LOCAL_SRC_FILES += \
AudioWatchdog.cpp \
diff --git a/services/audiopolicy/Android.mk b/services/audiopolicy/Android.mk
index 8218edd..8b45adc 100644
--- a/services/audiopolicy/Android.mk
+++ b/services/audiopolicy/Android.mk
@@ -45,13 +45,14 @@
libmedia_helper \
libaudiopolicycomponents
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+
LOCAL_MODULE:= libaudiopolicyservice
LOCAL_CFLAGS += -fvisibility=hidden
include $(BUILD_SHARED_LIBRARY)
-
ifneq ($(USE_LEGACY_AUDIO_POLICY), 1)
include $(CLEAR_VARS)
@@ -101,6 +102,8 @@
LOCAL_CFLAGS += -DUSE_XML_AUDIO_POLICY_CONF
endif #ifeq ($(USE_XML_AUDIO_POLICY_CONF), 1)
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+
LOCAL_MODULE:= libaudiopolicymanagerdefault
include $(BUILD_SHARED_LIBRARY)
@@ -122,6 +125,8 @@
$(TOPDIR)frameworks/av/services/audiopolicy/common/include \
$(TOPDIR)frameworks/av/services/audiopolicy/engine/interface
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+
LOCAL_MODULE:= libaudiopolicymanager
include $(BUILD_SHARED_LIBRARY)
diff --git a/services/audiopolicy/common/managerdefinitions/Android.mk b/services/audiopolicy/common/managerdefinitions/Android.mk
index 5c81410..3b4ae6b 100644
--- a/services/audiopolicy/common/managerdefinitions/Android.mk
+++ b/services/audiopolicy/common/managerdefinitions/Android.mk
@@ -58,6 +58,8 @@
LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(LOCAL_PATH)/include
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+
LOCAL_MODULE := libaudiopolicycomponents
include $(BUILD_STATIC_LIBRARY)
diff --git a/services/audiopolicy/engineconfigurable/Android.mk b/services/audiopolicy/engineconfigurable/Android.mk
index e6b5f85..6dba75b 100755
--- a/services/audiopolicy/engineconfigurable/Android.mk
+++ b/services/audiopolicy/engineconfigurable/Android.mk
@@ -35,6 +35,7 @@
$(call include-path-for, audio-utils) \
$(TOPDIR)frameworks/av/services/audiopolicy/common/include
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
LOCAL_MODULE := libaudiopolicyengineconfigurable
LOCAL_MODULE_TAGS := optional
diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.mk b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.mk
index 6348648..0e44f2c 100755
--- a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.mk
+++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.mk
@@ -30,6 +30,8 @@
libparameter \
liblog \
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+
LOCAL_STATIC_LIBRARIES := libpfw_utility
LOCAL_MODULE_TAGS := optional
diff --git a/services/audiopolicy/engineconfigurable/wrapper/Android.mk b/services/audiopolicy/engineconfigurable/wrapper/Android.mk
index 096f913..f4283a8 100644
--- a/services/audiopolicy/engineconfigurable/wrapper/Android.mk
+++ b/services/audiopolicy/engineconfigurable/wrapper/Android.mk
@@ -18,6 +18,8 @@
LOCAL_STATIC_LIBRARIES := \
libmedia_helper \
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+
LOCAL_MODULE:= libaudiopolicypfwwrapper
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
diff --git a/services/audiopolicy/enginedefault/Android.mk b/services/audiopolicy/enginedefault/Android.mk
index bb12714..85d1822 100755
--- a/services/audiopolicy/enginedefault/Android.mk
+++ b/services/audiopolicy/enginedefault/Android.mk
@@ -29,6 +29,7 @@
$(call include-path-for, bionic) \
$(TOPDIR)frameworks/av/services/audiopolicy/common/include
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
LOCAL_MODULE := libaudiopolicyenginedefault
LOCAL_MODULE_TAGS := optional
diff --git a/services/medialog/Android.mk b/services/medialog/Android.mk
index 03438bf..411f80f 100644
--- a/services/medialog/Android.mk
+++ b/services/medialog/Android.mk
@@ -6,9 +6,9 @@
LOCAL_SHARED_LIBRARIES := libmedia libbinder libutils liblog libnbaio
-LOCAL_MODULE:= libmedialogservice
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
-LOCAL_32_BIT_ONLY := true
+LOCAL_MODULE:= libmedialogservice
LOCAL_C_INCLUDES := $(call include-path-for, audio-utils)
diff --git a/services/radio/Android.mk b/services/radio/Android.mk
index 6aae31d..f5d74d3 100644
--- a/services/radio/Android.mk
+++ b/services/radio/Android.mk
@@ -33,6 +33,8 @@
LOCAL_CFLAGS += -Wall -Wextra -Werror
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+
LOCAL_MODULE:= libradioservice
include $(BUILD_SHARED_LIBRARY)
diff --git a/services/soundtrigger/Android.mk b/services/soundtrigger/Android.mk
index ecc49ae..e8e18b8 100644
--- a/services/soundtrigger/Android.mk
+++ b/services/soundtrigger/Android.mk
@@ -38,6 +38,8 @@
LOCAL_C_INCLUDES += \
$(TOPDIR)frameworks/av/services/audioflinger
+LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
+
LOCAL_MODULE:= libsoundtriggerservice
include $(BUILD_SHARED_LIBRARY)