forked from VoiSmart/pjsip-android-builder
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconfig.conf
260 lines (183 loc) · 10.2 KB
/
config.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
# Set the path to the repo root folder
# I set /home because I'm working within a Docker container
BASEDIR=/home
# TOOLS AND LIBRARIES DOWNLOAD DIRECTORY - add to gitignore too
DOWNLOAD_DIR="$BASEDIR/tools"
# BUILD DIRECTORY WHERE ALL THE BUILD ARTIFACTS WILL BE - add to gitignore too
BUILD_DIR="$BASEDIR/output"
###############################################################################
############################### NDK ################################
###############################################################################
#NDK Version to download
NDK_VERSION=r21e
#The URL from which to download Android NDK
NDK_DOWNLOAD_URL="https://dl.google.com/android/repository/android-ndk-$NDK_VERSION-linux-x86_64.zip"
#The name of the folder created by executing the downloaded NDK bin
#In general, the name corresponds to that of the bin file, except the platform info
NDK_DIR_NAME="android-ndk-$NDK_VERSION"
###############################################################################
######################## Android CMD TOOLS #########################
###############################################################################
# Command Line Tools Version to download
CMD_TOOLS_VERSION=8512546
# The URL from which to download Android Command Line Tools
CMD_TOOLS_DOWNLOAD_URL="https://dl.google.com/android/repository/commandlinetools-linux-${CMD_TOOLS_VERSION}_latest.zip"
# The name of the folder created by unzipping the archive
SDK_DIR_NAME="android-sdk-linux"
# WARNING - Do not change. It is related to the $CMD_TOOLS_VERSION expected topmost dir name
# In earlier version it was "tools"
CMD_TOOLS="cmdline-tools"
CMD_TOOLS_DIR_NAME="latest"
###############################################################################
############################## PJSIP ###############################
###############################################################################
# The name of the folder generated when untarring PJSIP sources file
# In general, the name corresponds to that of the tar, except the file extension
PJSIP_DIR_NAME="pjproject"
# The output directory where to store PJSIP compiled libraries
PJSIP_BUILD_OUT_PATH="$BUILD_DIR/pjsip-build-output"
# The generated java bindings and .so lib are placed under different location based on pjsip version
# >= 2.11 -> "pjsua2" (default)
# >= 2.4 -> "app"
PJSIP_GENERATED_ROOT_DIR_NAME="pjsua2"
###############################################################################
############################### SWIG ###############################
###############################################################################
# SWIG Tool Version to download
SWIG_VERSION=4.0.2
# The URL from which to download SWIG sources tar
SWIG_DOWNLOAD_URL="http://prdownloads.sourceforge.net/swig/swig-$SWIG_VERSION.tar.gz"
# The name of the folder generated when untarring SWIG sources file
# In general, the name corresponds to that of the tar, except the file extension
SWIG_DIR_NAME="swig-$SWIG_VERSION"
# the output directory where logs will be
SWIG_BUILD_OUT_PATH="$BUILD_DIR/swig-build-output"
###############################################################################
############################## OPENSSL #############################
###############################################################################
# OPENSSL Version to download
OPENSSL_VERSION=1.1.1k
# The URL from which to download OpenSSL sources tag
OPENSSL_DOWNLOAD_URL="https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz"
# The name of the folder generated when untarring OpenSSL sources file
# In general, the name corresponds to that of the tar, except the file extension
OPENSSL_DIR_NAME="openssl-$OPENSSL_VERSION"
# the output directory where to store OpenSSL compiled libraries
OPENSSL_BUILD_OUT_PATH="$BUILD_DIR/openssl-build-output"
# Configure the target NDK toolchain to use when compiling OpenSSL
OPENSSL_TARGET_NDK_LEVEL=21
###############################################################################
############################# OPENH264 #############################
###############################################################################
# OpenH264 Version to download
OPENH264_VERSION=openh264v2.1.0
# The URL from which to download OpenH264 sources tag
OPENH264_DOWNLOAD_URL="https://github.com/cisco/openh264/archive/$OPENH264_VERSION.tar.gz"
# The name of the folder generated when untarring OpenH264 sources file
# In general, the name corresponds to that of the tar, except the file extension
OPENH264_DIR_NAME="openh264-$OPENH264_VERSION"
# The output directory where to store OpenH264 compiled libraries
OPENH264_BUILD_OUT_PATH="$BUILD_DIR/openh264-build-output"
# Configure the target NDK toolchain to use when compiling OpenH264
OPENH264_TARGET_NDK_LEVEL=21
###############################################################################
################################ OPUS ###############################
###############################################################################
# OPUS Version to download
OPUS_VERSION=1.3.1
# The URL of the Opus repository
OPUS_DOWNLOAD_URL="https://archive.mozilla.org/pub/opus/opus-$OPUS_VERSION.tar.gz"
# The name of the folder generated when untarring OPUS sources file
OPUS_DIR_NAME="opus-$OPUS_VERSION"
# The output directory where to store OPUS compiled libraries
OPUS_BUILD_OUT_PATH="$BUILD_DIR/opus-build-output"
###############################################################################
############################## BCG729 ##############################
###############################################################################
# Belledonne Communication g729 Version to download.
# If a version is not specified it will download the current master
BCG729_VERSION=1.1.1
# The URL of the bcg279 repository
BCG729_DOWNLOAD_URL="https://gitlab.linphone.org/BC/public/bcg729.git"
# The name of the folder generated when untarring bcg279 sources file
BCG729_DIR_NAME="bcg729-$BCG729_VERSION"
# The output directory where to store bcg729 compiled libraries
BCG729_BUILD_OUT_PATH="$BUILD_DIR/bcg729-build-output"
###############################################################################
############################ TARGET ABI ############################
###############################################################################
# Target architectures that you want to build
# Refer to the official NDK docs: https://developer.android.com/ndk/guides/abis.html#sa
# Build only for "armeabi" "armeabi-v7a" "x86" as these are the only architectures
# for which all the libraries are build without problems. You can comment this line and
# uncomment the following one if you want to build for 64 bit archs. Bear in mind that
# to build for 64 bit you have to use Android API 21+ and pjsip >= 2.6.
# check the build compatibility matrix in the readme and in the issues for further reference.
TARGET_ARCHS=("armeabi-v7a" "x86" "arm64-v8a" "x86_64")
###############################################################################
########################### ANDROID APIs ###########################
###############################################################################
# Android APIs to setup
SETUP_ANDROID_APIS=("21")
ANDROID_BUILD_TOOLS="30.0.3"
# Target Android API level
TARGET_ANDROID_API=21
###############################################################################
########################## CONFIGURATION ###########################
###############################################################################
# Toggles used only by prepare-build-system script
# Set the value to 1 to enable the feature or to another value to disable it
# Useful when you need to update or restore some sources or packages
# Updates and installs all the required packages on the system
SETUP_PACKAGES=1
# Download a fresh copy of Android NDK. Any existing NDK will be replaced
DOWNLOAD_NDK=1
# Download a fresh copy of Android SDK. Any existing SDK will be replaced
DOWNLOAD_SDK=1
# Download Android APIs defined in SETUP_ANDROID_APIS
DOWNLOAD_ANDROID_APIS=1
# Download a fresh copy of PJSIP sources. Any existing files will be deleted
DOWNLOAD_PJSIP=1
# Downloads and compiles a fresh copy of SWIG
DOWNLOAD_SWIG=1
# Downloads a fresh copy of OpenSSL and builds it against the specified archs. Any existing files will be deleted
DOWNLOAD_OPENSSL=1
# Compiles PJSIP with OpenSSL support; download and build are required to enable it
ENABLE_OPENSSL=1
# Downloads a fresh copy of OpenH264 and builds it against the specified archs. Any existing files will be deleted
DOWNLOAD_OPENH264=1
# Compiles PJSIP with OpenH264 support; download and build are required to enable it
ENABLE_OPENH264=1
# On recent versions of OpenH264 building encdemo and decdemo build fails
# [OpenH264 2.1.x && NDK >= r20b]
SKIP_OPENH264_DEMO=1
# Downloads a fresh copy of Opus and builds it against the specified archs. Any existing files will be deleted
DOWNLOAD_OPUS=1
# Compiles PJSIP with Opus support; download and build are required to enable it
ENABLE_OPUS=1
# Downloads a fresh copy of Bcg729 and builds it against the specified archs. Any existing files will be deleted
DOWNLOAD_BCG729=1
# Compiles PJSIP with BCG729 support; download and build are required to enable it
ENABLE_BCG729=1
# Add debug symbols
ADD_DEBUG_SYMBOLS=1
# Remove Tools directory after build
REMOVE_TOOLS=0
# Set permission on output directory -- FOR DOCKER USE
# It should be set in combination with OWNER
SET_PERMISSIONS=0
# Set the name of the user on the host machine
OWNER=""
###############################################################################
####################### PJSIP CONFIGURATION ########################
###############################################################################
# Enable IPv6
# Thanks to @maccadoo and MR#40
ENABLE_IPV6=0
# Change the default PJSIP_TRANSPORT_IDLE_TIME
# On anonymous calls servers might not send options to keep the transport alive
# in such scenario sip messages will not be received after transport shutdown
CHANGE_PJSIP_TRANSPORT_IDLE_TIME=1
PJSIP_TRANSPORT_IDLE_TIME=600
# Apply a different fixed Call-ID patch if PJSIP version is lower than 2.11
IS_PJSIP_LOWER_THAN_2_11=0