]> sjero.net Git - linphone/blob - build/android/common.mk
link to libxml2 statically (shared version not working with android-ndk-r8e)
[linphone] / build / android / common.mk
1 ##
2 ## Android.mk -Android build script-
3 ##
4 ##
5 ## Copyright (C) 2010  Belledonne Communications, Grenoble, France
6 ##
7 ##  This program is free software; you can redistribute it and/or modify
8 ##  it under the terms of the GNU General Public License as published by
9 ##  the Free Software Foundation; either version 2 of the License, or
10 ##  (at your option) any later version.
11 ##
12 ##  This program is distributed in the hope that it will be useful,
13 ##  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 ##  GNU General Public License for more details.
16 ##
17 ##  You should have received a copy of the GNU General Public License
18 ##  along with this program; if not, write to the Free Software
19 ##  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 ##
21
22 LOCAL_CPP_EXTENSION := .cc
23
24 LOCAL_SRC_FILES := \
25         linphonecore.c \
26         misc.c  \
27         enum.c \
28         presence.c \
29         proxy.c \
30         friend.c \
31         authentication.c \
32         lpconfig.c \
33         chat.c \
34         sipsetup.c \
35         siplogin.c \
36         address.c \
37         linphonecore_jni.cc \
38         sal.c \
39         sal_eXosip2.c \
40         sal_eXosip2_presence.c \
41         sal_eXosip2_sdp.c \
42         offeranswer.c \
43         callbacks.c \
44         linphonecall.c \
45         conference.c \
46         ec-calibrator.c \
47         linphone_tunnel_config.c \
48         message_storage.c
49
50 ifndef LINPHONE_VERSION
51 LINPHONE_VERSION = "Devel"
52 endif
53
54 LOCAL_CFLAGS += \
55         -D_BYTE_ORDER=_LITTLE_ENDIAN \
56         -DORTP_INET6 \
57         -DINET6 \
58         -DOSIP_MT \
59         -DENABLE_TRACE \
60         -DHAVE_CONFIG_H \
61         -DLINPHONE_VERSION=\"$(LINPHONE_VERSION)\" \
62         -DLINPHONE_PLUGINS_DIR=\"\\tmp\" \
63
64 LOCAL_CFLAGS += -DIN_LINPHONE
65
66 ifeq ($(LINPHONE_VIDEO),1)
67 LOCAL_CFLAGS += -DVIDEO_ENABLED
68 ifeq ($(BUILD_X264),1)
69 LOCAL_CFLAGS += -DHAVE_X264
70 endif
71 endif
72
73 ifeq ($(USE_JAVAH),1)
74 LOCAL_CFLAGS += -DUSE_JAVAH
75 endif
76
77 LOCAL_C_INCLUDES += \
78         $(LOCAL_PATH) \
79         $(LOCAL_PATH)/include \
80         $(LOCAL_PATH)/../build/android \
81         $(LOCAL_PATH)/../oRTP/include \
82         $(LOCAL_PATH)/../mediastreamer2/include \
83         $(LOCAL_PATH)/../../externals/exosip/include \
84         $(LOCAL_PATH)/../../externals/osip/include \
85         $(LOCAL_PATH)/../../../gen
86
87 LOCAL_LDLIBS += -llog -ldl
88
89
90
91 LOCAL_STATIC_LIBRARIES := \
92         cpufeatures \
93         libmediastreamer2 \
94         libortp \
95         libeXosip2 \
96         libosip2 \
97         libgsm 
98
99 ifeq ($(BUILD_REMOTE_PROVISIONING),1)
100 LOCAL_STATIC_LIBRARIES += \
101         libxml2lpc \
102         liblpc2xml \
103         liblpxml2
104 endif
105
106 ifeq ($(BUILD_TUNNEL),1)
107 LOCAL_CFLAGS +=-DTUNNEL_ENABLED
108 LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../tunnel/include $(LOCAL_PATH)/../../tunnel/src
109 LOCAL_SRC_FILES +=  linphone_tunnel.cc TunnelManager.cc
110 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
111 LOCAL_SHARED_LIBRARIES += libtunnelclient
112 else
113 LOCAL_STATIC_LIBRARIES += libtunnelclient
114 endif
115 else
116 LOCAL_SRC_FILES += linphone_tunnel_stubs.c
117 endif
118
119
120 _BUILD_AMR=0
121 ifneq ($(BUILD_AMRNB), 0)
122 _BUILD_AMR=1
123 endif
124
125 ifneq ($(BUILD_AMRWB), 0)
126 _BUILD_AMR=1
127 endif
128
129 ifneq ($(_BUILD_AMR), 0)
130 LOCAL_CFLAGS += -DHAVE_AMR
131 LOCAL_STATIC_LIBRARIES += \
132         libmsamr \
133         libopencoreamr
134 endif
135
136 ifneq ($(BUILD_AMRWB), 0)
137 LOCAL_STATIC_LIBRARIES += \
138         libvoamrwbenc
139 endif
140
141
142 ifeq ($(BUILD_SILK),1)
143 LOCAL_CFLAGS += -DHAVE_SILK
144 LOCAL_STATIC_LIBRARIES += libmssilk
145 endif
146
147 ifeq ($(BUILD_G729),1)
148 LOCAL_CFLAGS += -DHAVE_G729
149 LOCAL_SHARED_LIBRARIES += libbcg729
150 LOCAL_STATIC_LIBRARIES += libmsbcg729
151 endif
152
153 ifeq ($(LINPHONE_VIDEO),1)
154 LOCAL_LDLIBS    += -lGLESv2
155 LOCAL_STATIC_LIBRARIES += libvpx
156 ifeq ($(BUILD_X264),1)
157 LOCAL_STATIC_LIBRARIES += \
158         libmsx264 \
159         libx264
160 endif
161 endif
162
163 ifeq ($(BUILD_UPNP),1)
164 LOCAL_CFLAGS += -DBUILD_UPNP
165 LOCAL_SRC_FILES += upnp.c
166 endif
167
168 LOCAL_STATIC_LIBRARIES += libspeex 
169
170 ifeq ($(BUILD_SRTP), 1)
171         LOCAL_C_INCLUDES += $(SRTP_C_INCLUDE)
172 endif
173
174 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
175 LOCAL_CFLAGS += -DHAVE_ILBC=1
176 LOCAL_STATIC_LIBRARIES += libmsilbc
177 endif
178
179 LOCAL_C_INCLUDES += $(LIBLINPHONE_EXTENDED_C_INCLUDES) 
180 LOCAL_WHOLE_STATIC_LIBRARIES += $(LIBLINPHONE_EXTENDED_STATIC_LIBS)
181 LOCAL_SRC_FILES  += $(LIBLINPHONE_EXTENDED_SRC_FILES)
182
183 ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
184         LOCAL_SHARED_LIBRARIES += liblinssl liblincrypto
185         ifeq ($(BUILD_GPLV3_ZRTP),1)
186         LOCAL_SHARED_LIBRARIES += libzrtpcpp
187         endif
188
189         ifeq ($(BUILD_SRTP),1)
190         LOCAL_SHARED_LIBRARIES += libsrtp
191         endif
192 else
193         LOCAL_LDLIBS += -lz
194         #LOCAL_STATIC_LIBRARIES += libz libdl
195         LOCAL_STATIC_LIBRARIES += \
196                 libssl-static libcrypto-static
197         ifeq ($(BUILD_GPLV3_ZRTP),1)
198                 LOCAL_STATIC_LIBRARIES += libzrtpcpp-static
199         endif
200
201         ifeq ($(BUILD_SRTP),1)
202                 LOCAL_STATIC_LIBRARIES += libsrtp-static
203         endif
204 endif
205