1# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS.  All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9#############################
10# Build the non-neon library.
11
12LOCAL_PATH := $(call my-dir)
13
14include $(CLEAR_VARS)
15
16include $(LOCAL_PATH)/../../../../android-webrtc.mk
17
18LOCAL_ARM_MODE := arm
19LOCAL_MODULE_CLASS := STATIC_LIBRARIES
20LOCAL_MODULE := libwebrtc_aecm
21LOCAL_MODULE_TAGS := optional
22LOCAL_SRC_FILES := \
23    echo_control_mobile.c \
24    aecm_core.c
25
26# Flags passed to both C and C++ files.
27LOCAL_CFLAGS := $(MY_WEBRTC_COMMON_DEFS)
28
29LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
30LOCAL_CFLAGS_x86 := $(MY_WEBRTC_COMMON_DEFS_x86)
31LOCAL_CFLAGS_mips := $(MY_WEBRTC_COMMON_DEFS_mips)
32LOCAL_CFLAGS_arm64 := $(MY_WEBRTC_COMMON_DEFS_arm64)
33LOCAL_CFLAGS_x86_64 := $(MY_WEBRTC_COMMON_DEFS_x86_64)
34LOCAL_CFLAGS_mips64 := $(MY_WEBRTC_COMMON_DEFS_mips64)
35
36LOCAL_C_INCLUDES := \
37    $(LOCAL_PATH)/interface \
38    $(LOCAL_PATH)/../utility \
39    $(LOCAL_PATH)/../../.. \
40    $(LOCAL_PATH)/../../../common_audio/signal_processing/include \
41    $(LOCAL_PATH)/../../../system_wrappers/interface
42
43LOCAL_STATIC_LIBRARIES += libwebrtc_system_wrappers
44
45LOCAL_SHARED_LIBRARIES := \
46    libcutils \
47    libdl
48
49ifndef WEBRTC_STL
50LOCAL_SHARED_LIBRARIES += libstlport
51include external/stlport/libstlport.mk
52else
53LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
54LOCAL_SDK_VERSION := 14
55LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
56endif
57
58include $(BUILD_STATIC_LIBRARY)
59
60#########################
61# Build the neon library.
62ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
63
64include $(CLEAR_VARS)
65
66LOCAL_ARM_MODE := arm
67LOCAL_MODULE_CLASS := STATIC_LIBRARIES
68LOCAL_MODULE := libwebrtc_aecm_neon
69LOCAL_MODULE_TAGS := optional
70
71LOCAL_SRC_FILES := aecm_core_neon.c
72
73# Flags passed to both C and C++ files.
74LOCAL_CFLAGS := \
75    $(MY_WEBRTC_COMMON_DEFS) \
76    -mfpu=neon \
77    -mfloat-abi=softfp \
78    -flax-vector-conversions
79
80LOCAL_MODULE_TARGET_ARCH := arm
81LOCAL_CFLAGS_arm := $(MY_WEBRTC_COMMON_DEFS_arm)
82
83LOCAL_C_INCLUDES := \
84    $(LOCAL_PATH)/interface \
85    $(LOCAL_PATH)/../../.. \
86    $(LOCAL_PATH)/../../../common_audio/signal_processing/include
87
88ifndef WEBRTC_STL
89LOCAL_SHARED_LIBRARIES += libstlport
90include external/stlport/libstlport.mk
91else
92LOCAL_NDK_STL_VARIANT := $(WEBRTC_STL)
93LOCAL_SDK_VERSION := 14
94LOCAL_MODULE := $(LOCAL_MODULE)_$(WEBRTC_STL)
95endif
96
97include $(BUILD_STATIC_LIBRARY)
98
99endif # ifeq ($(WEBRTC_BUILD_NEON_LIBS),true)
100