blob: d935c67543c4c0904702c4e8e95334cf86318b73 [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 \
52 $(RING_CONTRIB)/lib/libopendht.a
Adrien Béraud04d822c2015-04-02 17:44:36 -040053
54ifeq ($(ARCH),$(filter $(ARCH),x86))
55CPP_STATIC += $(RING_CONTRIB)/lib/libpjlib-util-i686-pc-linux-android.a \
56 $(RING_CONTRIB)/lib/libpj-i686-pc-linux-android.a
57else
58CPP_STATIC += $(RING_CONTRIB)/lib/libpjlib-util-arm-unknown-linux-androideabi.a \
59 $(RING_CONTRIB)/lib/libpj-arm-unknown-linux-androideabi.a
60endif
61
62LOCAL_SRC_FILES := ring_wrapper.cpp
63
64# RING_BUILD_DIR contains config.h, which we need
65LOCAL_C_INCLUDES += $(LOCAL_PATH) \
66 $(RING_BUILD_DIR) \
67 $(RING_SRC_DIR) \
68 $(RING_SRC_DIR)/src \
69 $(RING_SRC_DIR)/contrib/$(TARGET_TUPLE)/include
70
71LOCAL_MODULE := libringjni
72
Adrien Béraudb179bab2015-10-08 12:04:22 -040073LOCAL_CFLAGS += -fpic
74
Adrien Béraud04d822c2015-04-02 17:44:36 -040075LOCAL_CPPFLAGS += -DCCPP_PREFIX \
76 -DPROGSHAREDIR=\"${MY_DATADIR}/ring\" \
77 -DHAVE_CONFIG_H \
78 -DHAVE_SPEEX_CODEC \
79 -DHAVE_GSM_CODEC \
Adrien Béraudb179bab2015-10-08 12:04:22 -040080 -w -frtti -fpic \
Adrien Béraud04d822c2015-04-02 17:44:36 -040081 -std=c++11 -fexceptions -fpermissive \
82 -DAPP_NAME=\"Ring\" \
83 -DSWIG_JAVA_ATTACH_CURRENT_THREAD_AS_DAEMON \
84 -DDEBUG_DIRECTOR_OWNED \
85 -DPJ_AUTOCONF=1
86
87LOCAL_LDFLAGS := -L$(RING_CONTRIB)/lib \
88
89LOCAL_LDLIBS += -lz \
90 -llog \
91 -lOpenSLES \
Adrien Béraud899420c2015-06-03 15:09:19 -040092 $(RING_BUILD_DIR)/src/.libs/libring.a \
Adrien Béraud04d822c2015-04-02 17:44:36 -040093
94
95ifeq ($(ARCH),$(filter $(ARCH),x86))
96LOCAL_LDLIBS += -lpj-i686-pc-linux-android \
97 -lpjsip-simple-i686-pc-linux-android \
98 -lpjlib-util-i686-pc-linux-android \
99 -lpjsip-ua-i686-pc-linux-android \
100 -lpjmedia-i686-pc-linux-android \
101 -lpjnath-i686-pc-linux-android \
102 -lpjmedia-audiodev-i686-pc-linux-android \
103 -lsrtp-i686-pc-linux-android \
104 -lpjsip-i686-pc-linux-android \
105 -lresample-i686-pc-linux-android
106
107else
108LOCAL_LDLIBS += -lpj-arm-unknown-linux-androideabi \
109 -lpjsip-simple-arm-unknown-linux-androideabi \
110 -lpjlib-util-arm-unknown-linux-androideabi \
111 -lpjsip-ua-arm-unknown-linux-androideabi \
112 -lpjmedia-arm-unknown-linux-androideabi \
113 -lpjnath-arm-unknown-linux-androideabi \
114 -lpjmedia-audiodev-arm-unknown-linux-androideabi \
115 -lsrtp-arm-unknown-linux-androideabi \
116 -lpjsip-arm-unknown-linux-androideabi \
117 -lresample-arm-unknown-linux-androideabi
118endif
119
Adrien Béraudb179bab2015-10-08 12:04:22 -0400120LOCAL_LDLIBS += -lhogweed \
Adrien Béraud04d822c2015-04-02 17:44:36 -0400121 -lspeexdsp -lvorbisfile -lyaml-cpp \
Adrien Béraud899420c2015-06-03 15:09:19 -0400122 -lFLAC -liax -lnettle \
123 -logg \
124 -lpcre -lsamplerate -luuid \
Adrien Béraud04d822c2015-04-02 17:44:36 -0400125 -lsndfile -lvorbis \
Adrien Béraud899420c2015-06-03 15:09:19 -0400126 -lspeex -lvorbisenc \
Adrien Béraud04d822c2015-04-02 17:44:36 -0400127 -lgmp -lgnutls -lopendht \
Adrien Béraud899420c2015-06-03 15:09:19 -0400128 -lavformat -lavcodec -lavutil \
Adrien Béraud1c670912015-10-12 22:27:22 -0400129 -lopus -lspeex \
Adrien Béraudfb6341f2016-03-07 16:18:54 -0500130 -landroid \
Adrien Béraud04d822c2015-04-02 17:44:36 -0400131 $(CPP_STATIC)
132
133
134include $(BUILD_SHARED_LIBRARY)
135
136########### Codecs ###############
137
138#include $(CLEAR_VARS)
139#LOCAL_MODULE := ulaw
140#LOCAL_SRC_FILES := ../$(RING_BUILD_DIR)/src/audio/codecs/libcodec_ulaw.so
141#include $(PREBUILT_SHARED_LIBRARY)