/[zanavi_public1]/navit/ci/do_android_build.inc
ZANavi

Contents of /navit/ci/do_android_build.inc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 56 - (show annotations) (download)
Sun Mar 19 08:44:36 2017 UTC (7 years ago) by zoff99
File size: 9341 byte(s)
updates
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

   
Visit the ZANavi Wiki