/[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 52 - (show annotations) (download)
Mon Nov 7 10:01:21 2016 UTC (7 years, 4 months ago) by zoff99
File size: 8688 byte(s)
v2.0.53
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
59
60
61
62
63
64
65 if [ "${build_archs__[armv7]}""x" == "1x" ]; then
66 ## --- prepare for armeabi-v7a build ----
67 pushd ./
68 ## -- config -------------------------------
69 #
70 export TC_NAME_=arm-linux-androideabi
71 export TC_VER_=4.9
72 export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
73 export TOOLCHAIN_NAME_2_="$TC_NAME_"
74 export TOOLCHAIN_NAME_3_="arm-eabi-linux_android"
75 export LGCC_ADDON="armv7-a/"
76 export BUILD_PATH="$START_PATH""/android-bld-armv7"
77 export AND_API_LEVEL_C=14
78 export AND_API_LEVEL_J=21
79 export ARCH__="armv7"
80 export ARCH_2__="arm"
81 export ARCH_3__="armeabi-v7a"
82 export ARCH_4__="arm"
83 export OUTPUT_LIBPATH_="$START_PATH""/libs-build/armeabi-v7a/"
84
85 OPTIONS__COMPILE_ADDON_1=""
86 OPTIONS__COMPILE_ADDON_2=" -funwind-tables -fstack-protector -march=armv7-a -mfpu=vfpv3-d16 -mtune=arm7 -marm \
87 -mfloat-abi=softfp -finline-limit=64 -Wno-psabi "
88 OPTIONS__COMPILE_ADDON_3=" -march=armv7-a -Wl,--fix-cortex-a8 -Wl,--no-merge-exidx-entries "
89 OPTIMIZE_LEVEL=2
90 HOST_PARAM_='--host='
91 export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
92 #
93 ## -- config -------------------------------
94 "$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
95 err_code=$?
96 if [ $err_code != 0 ]; then
97 echo "ERROR!"
98 exit $err_code
99 fi
100 popd
101 ## --- prepare for armeabi-v7a build ----
102 fi
103
104 if [ "${build_archs__[x86]}""x" == "1x" ]; then
105 ## --- prepare for x86 build ------------
106 pushd ./
107 ## -- config -------------------------------
108 #
109 export TC_NAME_=x86
110 export TC_VER_=4.9
111 export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
112 export TOOLCHAIN_NAME_2_="i686-linux-android"
113 export TOOLCHAIN_NAME_3_="x86-linux_android"
114 export LGCC_ADDON=""
115 export BUILD_PATH="$START_PATH""/android-bld-x86"
116 export AND_API_LEVEL_C=14
117 export AND_API_LEVEL_J=21
118 export ARCH__="x86"
119 export ARCH_2__="$ARCH__"
120 export ARCH_3__="x86"
121 export ARCH_4__="x86"
122 export OUTPUT_LIBPATH_="$START_PATH""/libs-build/x86/"
123
124 OPTIONS__COMPILE_ADDON_1=""
125 OPTIONS__COMPILE_ADDON_2=" -funwind-tables -funswitch-loops -fno-stack-protector -finline-limit=300 -Ijni -DHAVE_ANDROID_X86 "
126 OPTIONS__COMPILE_ADDON_3=""
127 OPTIMIZE_LEVEL=3
128 HOST_PARAM_='--host='
129 export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
130 #
131 ## -- config -------------------------------
132 "$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
133 err_code=$?
134 if [ $err_code != 0 ]; then
135 echo "ERROR!"
136 exit $err_code
137 fi
138 popd
139 ## --- prepare for x86 build ------------
140 fi
141
142 if [ "${build_archs__[mips]}""x" == "1x" ]; then
143 ## --- prepare for mips build -----------
144 pushd ./
145 ## -- config -------------------------------
146 #
147 # mipsel-linux-android-4.9
148 export TC_NAME_=mipsel-linux-android
149 export TC_VER_=4.9
150 export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
151 export TOOLCHAIN_NAME_2_="mipsel-linux-android"
152 export TOOLCHAIN_NAME_3_="mips"
153 export LGCC_ADDON=""
154 export BUILD_PATH="$START_PATH""/android-bld-mips"
155 export AND_API_LEVEL_C=14
156 export AND_API_LEVEL_J=21
157 export ARCH__="mips"
158 export ARCH_2__="$ARCH__"
159 export ARCH_3__="mips"
160 export ARCH_4__="mips"
161 export OUTPUT_LIBPATH_="$START_PATH""/libs-build/mips/"
162
163 OPTIONS__COMPILE_ADDON_1=" --enable-avoid-float "
164 OPTIONS__COMPILE_ADDON_2=" -funwind-tables -fstack-protector -finline-limit=64 \
165 -Wno-psabi "
166 OPTIONS__COMPILE_ADDON_3=" "
167 OPTIMIZE_LEVEL=2
168 HOST_PARAM_='--host='
169 export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
170 #
171 ## -- config -------------------------------
172 "$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
173 err_code=$?
174 if [ $err_code != 0 ]; then
175 echo "ERROR!"
176 exit $err_code
177 fi
178 popd
179 ## --- prepare for mips build -----------
180 fi
181
182 if [ "${build_archs__[arm64]}""x" == "1x" ]; then
183 ## --- prepare for ARM64 build ------------
184 pushd ./
185 ## -- config -------------------------------
186 #
187 export TC_NAME_=aarch64-linux-android
188 export TC_VER_=4.9
189 export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
190 export TOOLCHAIN_NAME_2_="$TC_NAME_"
191 export TOOLCHAIN_NAME_3_="aarch64" # -linux-android
192 export LGCC_ADDON=""
193 export BUILD_PATH="$START_PATH""/android-build"
194 export AND_API_LEVEL_C=21
195 export AND_API_LEVEL_J=21
196 export ARCH__="arm64"
197 export ARCH_2__="arm64"
198 export ARCH_3__="arm64-v8a"
199 export ARCH_4__="arm64"
200 export OUTPUT_LIBPATH_="$START_PATH""/libs-build/arm64-v8a/"
201
202 OPTIONS__COMPILE_ADDON_1=""
203 OPTIONS__COMPILE_ADDON_2=" -funwind-tables -fstack-protector-strong -no-canonical-prefixes -finline-limit=64 -Wno-psabi -DANDROID_ARM64 "
204 OPTIONS__COMPILE_ADDON_3=" -Wl,--no-merge-exidx-entries "
205 OPTIMIZE_LEVEL=2
206 HOST_PARAM_='--host='
207 export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
208 #
209 ## -- config -------------------------------
210 "$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
211 err_code=$?
212 if [ $err_code != 0 ]; then
213 echo "ERROR!"
214 exit $err_code
215 fi
216 popd
217 ## --- prepare for ARM64 build ------------
218 fi
219
220 if [ "${build_archs__[arm]}""x" == "1x" ]; then
221 ## --- prepare for ARM build ------------
222 pushd ./
223 ## -- config -------------------------------
224 #
225 export TC_NAME_=arm-linux-androideabi
226 export TC_VER_=4.9
227 export TOOLCHAIN_NAME_="$TC_NAME_"-"$TC_VER_"
228 export TOOLCHAIN_NAME_2_="$TC_NAME_"
229 export TOOLCHAIN_NAME_3_="arm-eabi-linux_android"
230 export LGCC_ADDON=""
231 export BUILD_PATH="$START_PATH""/android-build"
232 export AND_API_LEVEL_C=14
233 export AND_API_LEVEL_J=21
234 export ARCH__="arm"
235 export ARCH_2__="$ARCH__"
236 export ARCH_3__="armeabi"
237 export ARCH_4__="arm"
238 export OUTPUT_LIBPATH_="$START_PATH""/libs-build/armeabi/"
239
240 OPTIONS__COMPILE_ADDON_1=" --enable-avoid-float "
241 OPTIONS__COMPILE_ADDON_2=" -funwind-tables -fstack-protector -march=armv5te -msoft-float -mthumb -finline-limit=64 \
242 -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi "
243 OPTIONS__COMPILE_ADDON_3=" -Wl,--no-merge-exidx-entries "
244 OPTIMIZE_LEVEL=2
245 HOST_PARAM_='--host='
246 export OPTIONS__COMPILE_ADDON_1 OPTIONS__COMPILE_ADDON_2 OPTIONS__COMPILE_ADDON_3 OPTIMIZE_LEVEL HOST_PARAM_
247 #
248 ## -- config -------------------------------
249 "$SOURCE_PATH"/ci/do_android_build_generic_arch.sh
250 err_code=$?
251 if [ $err_code != 0 ]; then
252 echo "ERROR!"
253 exit $err_code
254 fi
255 popd
256 ## --- prepare for ARM build ------------
257 fi
258
259
260
261
262
263
264
265
266
267
268
269 ## --- prepare for APK generation ----------
270 export BUILD_PATH="$BUILD_PATH_MAIN_ARM"
271 cd $BUILD_PATH/navit
272
273
274 if [ "$FULL_LOG""x" == "1x" ]; then
275 make apkg-release || pwd
276 else
277 make apkg-release 2>&1 | grep '\[javac\]' || pwd
278 fi
279 ## --- prepare for APK generation ----------
280
281
282
283 ## --- prepare for Gradle build ------------
284 export BUILD_PATH="$BUILD_PATH_MAIN_ARM"
285 cd "$BUILD_PATH"/navit
286
287 echo "+++++++++++++"
288 pwd
289 echo "+++++++++++++"
290
291 mkdir -p $BUILD_PATH/navit/android/libs/
292 cp -av "$START_PATH"/libs-build/* "$BUILD_PATH"/navit/android/libs/
293
294 mv -v android/libs/*jar android/lib/
295
296 cp -v "$SOURCE_PATH"/navit/build.gradle ./
297 cp -v "$SOURCE_PATH"/navit/gradle.properties ./
298 cp -v "$SOURCE_PATH"/navit/settings.gradle ./
299 cp -av "$SOURCE_PATH"/navit/config ./
300 ## -------------------------
301
302
303 ## -------------------------
304 echo "======================="
305 pwd
306 echo "======================="
307 ls -al ./
308 echo "======================="
309 ls -al android/
310 echo "======================="
311 ls -al android/lib/
312 echo "======================="
313 ls -al android/libs/
314 echo "======================="
315 ls -alR android/libs/
316 echo "======================="
317 ## -------------------------
318
319 echo "+++++++++++++"
320 pwd
321 echo "+++++++++++++"
322
323 cd ./android
324
325 echo "+++++++++++++"
326 pwd
327 echo "+++++++++++++"
328
329 sed -i -e 's#android:debuggable="true"#android:debuggable="false"#' AndroidManifest.xml
330
331 ## --- prepare for Gradle build ------------
332

   
Visit the ZANavi Wiki