1 |
#
|
2 |
# syntax for bash shell !!
|
3 |
|
4 |
|
5 |
## build libs for these architectures -------------------------
|
6 |
#
|
7 |
unset build_archs__
|
8 |
declare -A build_archs__
|
9 |
#
|
10 |
build_archs__["arm"]=1
|
11 |
build_archs__["armv7"]=1
|
12 |
build_archs__["arm64"]=0
|
13 |
#
|
14 |
build_archs__["x86"]=1
|
15 |
#
|
16 |
build_archs__["mips"]=0
|
17 |
#
|
18 |
## build libs for these architectures -------------------------
|
19 |
|
20 |
|
21 |
|
22 |
if [ `uname -m` == 'x86_64' ]; then
|
23 |
export SUFFIX2='_64'
|
24 |
else
|
25 |
export SUFFIX2=''
|
26 |
fi
|
27 |
|
28 |
export PATH=$PATH:$_SDK_/tools:$_SDK_/platform-tools
|
29 |
export PATH_BASE_=$PATH
|
30 |
|
31 |
export NDK=$_NDK_
|
32 |
export DO_RELEASE_BUILD=1
|
33 |
export DO_PNG_BUILD=1
|
34 |
export NDK_CCACHE=""
|
35 |
|
36 |
|
37 |
## --- Coverity ----------------------------
|
38 |
cd $BUILD_PATH
|
39 |
conf_addon=''
|
40 |
if [ "$COVERITY_BUILD_""x" == "1x" ]; then
|
41 |
sed -i -e 's#LIBS="$LIBS -rdynamic"#ABCDD="aaaabbb"#g' ../zanavi/configure
|
42 |
cat ../zanavi/configure | grep 'rdynamic'
|
43 |
cat ../zanavi/configure | grep 'aaaabbb'
|
44 |
conf_addon=' --disable-shared '
|
45 |
fi
|
46 |
## --- Coverity ----------------------------
|
47 |
|
48 |
|
49 |
cd ${START_PATH}
|
50 |
|
51 |
|
52 |
## --- fix execute bit ---------------------
|
53 |
chmod a+rx "$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
|
54 |
## --- fix execute bit ---------------------
|
55 |
|
56 |
|
57 |
|
58 |
# tweak ------------------------------------
|
59 |
rm -fv "$SOURCE_PATH"/intl/libgnuintl.h
|
60 |
# tweak ------------------------------------
|
61 |
|
62 |
|
63 |
|
64 |
if [ "${build_archs__[armv7]}""x" == "1x" ]; then
|
65 |
## --- prepare for armeabi-v7a build ----
|
66 |
pushd ./
|
67 |
## -- config -------------------------------
|
68 |
#
|
69 |
export TC_NAME_=arm-linux-androideabi
|
70 |
export TC_VER_=4.9
|
71 |
export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
|
72 |
export TOOLCHAIN_NAME_2_="$TC_NAME_"
|
73 |
export TOOLCHAIN_NAME_3_="arm-eabi-linux_android"
|
74 |
export LGCC_ADDON="armv7-a/"
|
75 |
export BUILD_PATH="$START_PATH""/android-bld-armv7"
|
76 |
export AND_API_LEVEL_C=14
|
77 |
export AND_API_LEVEL_J=21
|
78 |
export ARCH__="armv7"
|
79 |
export ARCH_2__="arm"
|
80 |
export ARCH_3__="armeabi-v7a"
|
81 |
export ARCH_4__="arm"
|
82 |
export OUTPUT_LIBPATH_="$START_PATH""/libs-build/armeabi-v7a/"
|
83 |
|
84 |
OPTIONS__COMPILE_ADDON_1=""
|
85 |
OPTIONS__COMPILE_ADDON_2=" -funwind-tables -fstack-protector -march=armv7-a -mfpu=vfpv3-d16 -mtune=arm7 -marm \
|
86 |
-mfloat-abi=softfp -finline-limit=64 -Wno-psabi "
|
87 |
OPTIONS__COMPILE_ADDON_3=" -march=armv7-a -Wl,--fix-cortex-a8 -Wl,--no-merge-exidx-entries "
|
88 |
OPTIMIZE_LEVEL=2
|
89 |
HOST_PARAM_='--host='
|
90 |
export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
|
91 |
#
|
92 |
## -- config -------------------------------
|
93 |
"$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
|
94 |
err_code=$?
|
95 |
if [ $err_code != 0 ]; then
|
96 |
echo "ERROR!"
|
97 |
exit $err_code
|
98 |
fi
|
99 |
popd
|
100 |
## --- prepare for armeabi-v7a build ----
|
101 |
fi
|
102 |
|
103 |
if [ "${build_archs__[x86]}""x" == "1x" ]; then
|
104 |
## --- prepare for x86 build ------------
|
105 |
pushd ./
|
106 |
## -- config -------------------------------
|
107 |
#
|
108 |
export TC_NAME_=x86
|
109 |
export TC_VER_=4.9
|
110 |
export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
|
111 |
export TOOLCHAIN_NAME_2_="i686-linux-android"
|
112 |
export TOOLCHAIN_NAME_3_="x86-linux_android"
|
113 |
export LGCC_ADDON=""
|
114 |
export BUILD_PATH="$START_PATH""/android-bld-x86"
|
115 |
export AND_API_LEVEL_C=14
|
116 |
export AND_API_LEVEL_J=21
|
117 |
export ARCH__="x86"
|
118 |
export ARCH_2__="$ARCH__"
|
119 |
export ARCH_3__="x86"
|
120 |
export ARCH_4__="x86"
|
121 |
export OUTPUT_LIBPATH_="$START_PATH""/libs-build/x86/"
|
122 |
|
123 |
OPTIONS__COMPILE_ADDON_1=""
|
124 |
OPTIONS__COMPILE_ADDON_2=" -funwind-tables -funswitch-loops -fno-stack-protector -finline-limit=300 -Ijni -DHAVE_ANDROID_X86 "
|
125 |
OPTIONS__COMPILE_ADDON_3=""
|
126 |
OPTIMIZE_LEVEL=3
|
127 |
HOST_PARAM_='--host='
|
128 |
export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
|
129 |
#
|
130 |
## -- config -------------------------------
|
131 |
"$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
|
132 |
err_code=$?
|
133 |
if [ $err_code != 0 ]; then
|
134 |
echo "ERROR!"
|
135 |
exit $err_code
|
136 |
fi
|
137 |
popd
|
138 |
## --- prepare for x86 build ------------
|
139 |
fi
|
140 |
|
141 |
if [ "${build_archs__[mips]}""x" == "1x" ]; then
|
142 |
## --- prepare for mips build -----------
|
143 |
pushd ./
|
144 |
## -- config -------------------------------
|
145 |
#
|
146 |
# mipsel-linux-android-4.9
|
147 |
export TC_NAME_=mipsel-linux-android
|
148 |
export TC_VER_=4.9
|
149 |
export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
|
150 |
export TOOLCHAIN_NAME_2_="mipsel-linux-android"
|
151 |
export TOOLCHAIN_NAME_3_="mips"
|
152 |
export LGCC_ADDON=""
|
153 |
export BUILD_PATH="$START_PATH""/android-bld-mips"
|
154 |
export AND_API_LEVEL_C=14
|
155 |
export AND_API_LEVEL_J=21
|
156 |
export ARCH__="mips"
|
157 |
export ARCH_2__="$ARCH__"
|
158 |
export ARCH_3__="mips"
|
159 |
export ARCH_4__="mips"
|
160 |
export OUTPUT_LIBPATH_="$START_PATH""/libs-build/mips/"
|
161 |
|
162 |
OPTIONS__COMPILE_ADDON_1=" --enable-avoid-float "
|
163 |
OPTIONS__COMPILE_ADDON_2=" -funwind-tables -fstack-protector -finline-limit=64 \
|
164 |
-Wno-psabi "
|
165 |
OPTIONS__COMPILE_ADDON_3=" "
|
166 |
OPTIMIZE_LEVEL=2
|
167 |
HOST_PARAM_='--host='
|
168 |
export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
|
169 |
#
|
170 |
## -- config -------------------------------
|
171 |
"$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
|
172 |
err_code=$?
|
173 |
if [ $err_code != 0 ]; then
|
174 |
echo "ERROR!"
|
175 |
exit $err_code
|
176 |
fi
|
177 |
popd
|
178 |
## --- prepare for mips build -----------
|
179 |
fi
|
180 |
|
181 |
if [ "${build_archs__[arm64]}""x" == "1x" ]; then
|
182 |
## --- prepare for ARM64 build ------------
|
183 |
pushd ./
|
184 |
## -- config -------------------------------
|
185 |
#
|
186 |
export TC_NAME_=aarch64-linux-android
|
187 |
export TC_VER_=4.9
|
188 |
export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
|
189 |
export TOOLCHAIN_NAME_2_="$TC_NAME_"
|
190 |
export TOOLCHAIN_NAME_3_="aarch64" # -linux-android
|
191 |
export LGCC_ADDON=""
|
192 |
export BUILD_PATH="$START_PATH""/android-build"
|
193 |
export AND_API_LEVEL_C=21
|
194 |
export AND_API_LEVEL_J=21
|
195 |
export ARCH__="arm64"
|
196 |
export ARCH_2__="arm64"
|
197 |
export ARCH_3__="arm64-v8a"
|
198 |
export ARCH_4__="arm64"
|
199 |
export OUTPUT_LIBPATH_="$START_PATH""/libs-build/arm64-v8a/"
|
200 |
|
201 |
OPTIONS__COMPILE_ADDON_1=""
|
202 |
OPTIONS__COMPILE_ADDON_2=" -funwind-tables -fstack-protector-strong -no-canonical-prefixes -finline-limit=64 -Wno-psabi -DANDROID_ARM64 "
|
203 |
OPTIONS__COMPILE_ADDON_3=" -Wl,--no-merge-exidx-entries "
|
204 |
OPTIMIZE_LEVEL=2
|
205 |
HOST_PARAM_='--host='
|
206 |
export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
|
207 |
#
|
208 |
## -- config -------------------------------
|
209 |
"$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
|
210 |
err_code=$?
|
211 |
if [ $err_code != 0 ]; then
|
212 |
echo "ERROR!"
|
213 |
exit $err_code
|
214 |
fi
|
215 |
popd
|
216 |
## --- prepare for ARM64 build ------------
|
217 |
fi
|
218 |
|
219 |
if [ "${build_archs__[arm]}""x" == "1x" ]; then
|
220 |
## --- prepare for ARM build ------------
|
221 |
pushd ./
|
222 |
## -- config -------------------------------
|
223 |
#
|
224 |
export TC_NAME_=arm-linux-androideabi
|
225 |
export TC_VER_=4.9
|
226 |
export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
|
227 |
export TOOLCHAIN_NAME_2_="$TC_NAME_"
|
228 |
export TOOLCHAIN_NAME_3_="arm-eabi-linux_android"
|
229 |
export LGCC_ADDON=""
|
230 |
export BUILD_PATH="$START_PATH""/android-build"
|
231 |
export AND_API_LEVEL_C=14
|
232 |
export AND_API_LEVEL_J=21
|
233 |
export ARCH__="arm"
|
234 |
export ARCH_2__="$ARCH__"
|
235 |
export ARCH_3__="armeabi"
|
236 |
export ARCH_4__="arm"
|
237 |
export OUTPUT_LIBPATH_="$START_PATH""/libs-build/armeabi/"
|
238 |
|
239 |
OPTIONS__COMPILE_ADDON_1=" --enable-avoid-float "
|
240 |
OPTIONS__COMPILE_ADDON_2=" -funwind-tables -fstack-protector -march=armv5te -msoft-float -mthumb -finline-limit=64 \
|
241 |
-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi "
|
242 |
OPTIONS__COMPILE_ADDON_3=" -Wl,--no-merge-exidx-entries "
|
243 |
OPTIMIZE_LEVEL=2
|
244 |
HOST_PARAM_='--host='
|
245 |
export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
|
246 |
#
|
247 |
## -- config -------------------------------
|
248 |
"$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
|
249 |
err_code=$?
|
250 |
if [ $err_code != 0 ]; then
|
251 |
echo "ERROR!"
|
252 |
exit $err_code
|
253 |
fi
|
254 |
popd
|
255 |
## --- prepare for ARM build ------------
|
256 |
fi
|
257 |
|
258 |
|
259 |
|
260 |
|
261 |
|
262 |
|
263 |
|
264 |
|
265 |
|
266 |
|
267 |
|
268 |
## --- prepare for APK generation ----------
|
269 |
export BUILD_PATH="$BUILD_PATH_MAIN_ARM"
|
270 |
cd $BUILD_PATH/navit
|
271 |
|
272 |
|
273 |
if [ "$FULL_LOG""x" == "1x" ]; then
|
274 |
make apkg-release || pwd
|
275 |
else
|
276 |
make apkg-release 2>&1 | grep '\[javac\]' || pwd
|
277 |
fi
|
278 |
## --- prepare for APK generation ----------
|
279 |
|
280 |
|
281 |
|
282 |
## --- prepare for Gradle build ------------
|
283 |
export BUILD_PATH="$BUILD_PATH_MAIN_ARM"
|
284 |
cd "$BUILD_PATH"/navit
|
285 |
|
286 |
echo "+++++++++++++"
|
287 |
pwd
|
288 |
echo "+++++++++++++"
|
289 |
|
290 |
mkdir -p $BUILD_PATH/navit/android/nativelibs/
|
291 |
cp -av "$START_PATH"/libs-build/* "$BUILD_PATH"/navit/android/nativelibs/
|
292 |
|
293 |
|
294 |
|
295 |
# check for dependencies -----------------
|
296 |
ls -alR "$BUILD_PATH"/navit/android/nativelibs
|
297 |
readelf --dynamic "$BUILD_PATH"/navit/android/nativelibs/armeabi/libnavit.so | grep NEEDED
|
298 |
readelf --dynamic "$BUILD_PATH"/navit/android/nativelibs/armeabi/libnavit.so | grep TEXTREL
|
299 |
readelf --header "$BUILD_PATH"/navit/android/nativelibs/armeabi/libnavit.so | grep 'section headers'
|
300 |
readelf --dynamic "$BUILD_PATH"/navit/android/nativelibs/armeabi/libnavit.so | grep SONAME
|
301 |
# check for dependencies -----------------
|
302 |
|
303 |
|
304 |
|
305 |
# mv -v android/libs/*jar android/lib/
|
306 |
|
307 |
cp -v "$SOURCE_PATH"/navit/build.gradle ./
|
308 |
cp -v "$SOURCE_PATH"/navit/gradle.properties ./
|
309 |
cp -v "$SOURCE_PATH"/navit/settings.gradle ./
|
310 |
cp -av "$SOURCE_PATH"/navit/config ./
|
311 |
## -------------------------
|
312 |
|
313 |
|
314 |
## -------------------------
|
315 |
echo "======================="
|
316 |
pwd
|
317 |
echo "======================="
|
318 |
ls -al ./
|
319 |
echo "======================="
|
320 |
ls -al android/
|
321 |
echo "======================="
|
322 |
ls -al android/lib/
|
323 |
echo "======================="
|
324 |
ls -al android/libs/
|
325 |
echo "======================="
|
326 |
ls -alR android/libs/
|
327 |
echo "======================="
|
328 |
## -------------------------
|
329 |
|
330 |
echo "+++++++++++++"
|
331 |
pwd
|
332 |
echo "+++++++++++++"
|
333 |
|
334 |
cd ./android
|
335 |
|
336 |
echo "+++++++++++++"
|
337 |
pwd
|
338 |
echo "+++++++++++++"
|
339 |
|
340 |
sed -i -e 's#android:debuggable="true"#android:debuggable="false"#' AndroidManifest.xml
|
341 |
|
342 |
## --- prepare for Gradle build ------------
|
343 |
|