blob: 10621dace3a3982882e62069c7a2274729fed6f8 [file] [log] [blame]
Adrien Béraudec528bb2016-01-14 16:52:51 -05001 # Copyright (C) 2004-2016 Savoir-faire Linux Inc.
Adrien Béraud04d822c2015-04-02 17:44:36 -04002 #
3 # Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
Adrien Béraudec528bb2016-01-14 16:52:51 -05004 # Adrien Beraud <adrien.beraud@savoirfairelinux.com>
Adrien Béraud04d822c2015-04-02 17:44:36 -04005 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Adrien Béraud04d822c2015-04-02 17:44:36 -040018
19LOCAL_PATH:= $(call my-dir)
20
21$(info PWD=$(PWD))
22$(info RING_CONTRIB=$(RING_CONTRIB))
23$(info RING_SRC_DIR=$(RING_SRC_DIR))
24$(info RING_BUILD_DIR=$(RING_BUILD_DIR))
25
26include $(CLEAR_VARS)
27
28VERSION="1.1.0"
29MY_PREFIX=/sdcard
30MY_DATADIR=/data/data
31
32ARCH=$(ANDROID_ABI)
33
34CPP_STATIC= $(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++$(CXXSTL)/libs/$(ARCH)/libgnustl_static.a \
Adrien Béraud899420c2015-06-03 15:09:19 -040035 $(RING_CONTRIB)/lib/libgnutls.a \
36 $(RING_CONTRIB)/lib/libnettle.a \
37 $(RING_CONTRIB)/lib/libhogweed.a \
Adrien Béraud04d822c2015-04-02 17:44:36 -040038 $(RING_CONTRIB)/lib/libogg.a \
39 $(RING_CONTRIB)/lib/libFLAC.a \
Adrien Béraud899420c2015-06-03 15:09:19 -040040 $(RING_CONTRIB)/lib/libavcodec.a \
41 $(RING_CONTRIB)/lib/libavfilter.a \
42 $(RING_CONTRIB)/lib/libavformat.a \
43 $(RING_CONTRIB)/lib/libavdevice.a \
44 $(RING_CONTRIB)/lib/libavutil.a \
45 $(RING_CONTRIB)/lib/libswscale.a \
46 $(RING_CONTRIB)/lib/libz.a \
47 $(RING_CONTRIB)/lib/libupnp.a \
48 $(RING_CONTRIB)/lib/libthreadutil.a \
49 $(RING_CONTRIB)/lib/libiconv.a \
50 $(RING_CONTRIB)/lib/libixml.a \
51 $(RING_CONTRIB)/lib/libgmp.a \
Alexandre Lisione8dded82016-04-19 17:52:51 -040052 $(RING_CONTRIB)/lib/libopendht.a \
53 $(RING_CONTRIB)/lib/libjsoncpp.a
Adrien Béraud04d822c2015-04-02 17:44:36 -040054
55ifeq ($(ARCH),$(filter $(ARCH),x86))
56CPP_STATIC += $(RING_CONTRIB)/lib/libpjlib-util-i686-pc-linux-android.a \
57 $(RING_CONTRIB)/lib/libpj-i686-pc-linux-android.a
58else
59CPP_STATIC += $(RING_CONTRIB)/lib/libpjlib-util-arm-unknown-linux-androideabi.a \
60 $(RING_CONTRIB)/lib/libpj-arm-unknown-linux-androideabi.a
61endif
62
63LOCAL_SRC_FILES := ring_wrapper.cpp
64
65# RING_BUILD_DIR contains config.h, which we need
66LOCAL_C_INCLUDES += $(LOCAL_PATH) \
67 $(RING_BUILD_DIR) \
68 $(RING_SRC_DIR) \
69 $(RING_SRC_DIR)/src \
70 $(RING_SRC_DIR)/contrib/$(TARGET_TUPLE)/include
71
72LOCAL_MODULE := libringjni
73
Adrien Béraudb179bab2015-10-08 12:04:22 -040074LOCAL_CFLAGS += -fpic
75
Adrien Béraud04d822c2015-04-02 17:44:36 -040076LOCAL_CPPFLAGS += -DCCPP_PREFIX \
77 -DPROGSHAREDIR=\"${MY_DATADIR}/ring\" \
78 -DHAVE_CONFIG_H \
79 -DHAVE_SPEEX_CODEC \
80 -DHAVE_GSM_CODEC \
Adrien Béraudb179bab2015-10-08 12:04:22 -040081 -w -frtti -fpic \
Adrien Béraud04d822c2015-04-02 17:44:36 -040082 -std=c++11 -fexceptions -fpermissive \
83 -DAPP_NAME=\"Ring\" \
84 -DSWIG_JAVA_ATTACH_CURRENT_THREAD_AS_DAEMON \
85 -DDEBUG_DIRECTOR_OWNED \
86 -DPJ_AUTOCONF=1
87
Romain Bertozzi6bd96282016-03-30 14:27:17 -040088LOCAL_DISABLE_FATAL_LINKER_WARNINGS = true
89
Adrien Béraud04d822c2015-04-02 17:44:36 -040090LOCAL_LDFLAGS := -L$(RING_CONTRIB)/lib \
91
92LOCAL_LDLIBS += -lz \
93 -llog \
94 -lOpenSLES \
Adrien Béraud899420c2015-06-03 15:09:19 -040095 $(RING_BUILD_DIR)/src/.libs/libring.a \
Adrien Béraud04d822c2015-04-02 17:44:36 -040096
97
98ifeq ($(ARCH),$(filter $(ARCH),x86))
99LOCAL_LDLIBS += -lpj-i686-pc-linux-android \
100 -lpjsip-simple-i686-pc-linux-android \
101 -lpjlib-util-i686-pc-linux-android \
102 -lpjsip-ua-i686-pc-linux-android \
103 -lpjmedia-i686-pc-linux-android \
104 -lpjnath-i686-pc-linux-android \
105 -lpjmedia-audiodev-i686-pc-linux-android \
106 -lsrtp-i686-pc-linux-android \
107 -lpjsip-i686-pc-linux-android \
108 -lresample-i686-pc-linux-android
109
110else
111LOCAL_LDLIBS += -lpj-arm-unknown-linux-androideabi \
112 -lpjsip-simple-arm-unknown-linux-androideabi \
113 -lpjlib-util-arm-unknown-linux-androideabi \
114 -lpjsip-ua-arm-unknown-linux-androideabi \
115 -lpjmedia-arm-unknown-linux-androideabi \
116 -lpjnath-arm-unknown-linux-androideabi \
117 -lpjmedia-audiodev-arm-unknown-linux-androideabi \
118 -lsrtp-arm-unknown-linux-androideabi \
119 -lpjsip-arm-unknown-linux-androideabi \
120 -lresample-arm-unknown-linux-androideabi
121endif
122
Adrien Béraudb179bab2015-10-08 12:04:22 -0400123LOCAL_LDLIBS += -lhogweed \
Alexandre Lisione8dded82016-04-19 17:52:51 -0400124 -lspeexdsp -lvorbisfile -lyaml-cpp -ljsoncpp \
Adrien Béraud899420c2015-06-03 15:09:19 -0400125 -lFLAC -liax -lnettle \
126 -logg \
127 -lpcre -lsamplerate -luuid \
Adrien Béraud04d822c2015-04-02 17:44:36 -0400128 -lsndfile -lvorbis \
Adrien Béraud899420c2015-06-03 15:09:19 -0400129 -lspeex -lvorbisenc \
Adrien Béraud04d822c2015-04-02 17:44:36 -0400130 -lgmp -lgnutls -lopendht \
Adrien Béraud899420c2015-06-03 15:09:19 -0400131 -lavformat -lavcodec -lavutil \
Adrien Béraud1c670912015-10-12 22:27:22 -0400132 -lopus -lspeex \
Adrien Béraudfb6341f2016-03-07 16:18:54 -0500133 -landroid \
Adrien Béraud04d822c2015-04-02 17:44:36 -0400134 $(CPP_STATIC)
135
136
137include $(BUILD_SHARED_LIBRARY)
138
139########### Codecs ###############
140
141#include $(CLEAR_VARS)
142#LOCAL_MODULE := ulaw
143#LOCAL_SRC_FILES := ../$(RING_BUILD_DIR)/src/audio/codecs/libcodec_ulaw.so
144#include $(PREBUILT_SHARED_LIBRARY)