]> git.saurik.com Git - cycript.git/blob - android.sh
Fix -g/-O on Android and commit all build scripts.
[cycript.git] / android.sh
1 #!/bin/bash
2 ndk=~/bin/android-ndk
3 abi=armeabi
4 ver=4.9
5 api=9
6 bld=darwin-x86_64
7 bin=${ndk}/toolchains/arm-linux-androideabi-${ver}/prebuilt/${bld}/bin
8 #export PATH=${bin}:$PATH
9 flg=()
10 flg+=(--sysroot=${ndk}/platforms/android-${api}/arch-arm)
11 flg+=(-I${ndk}/sources/cxx-stl/gnu-libstdc++/${ver}/include)
12 flg+=(-I${ndk}/sources/cxx-stl/gnu-libstdc++/${ver}/libs/${abi}/include)
13 ldf=()
14 ldf+=(-L${ndk}/sources/cxx-stl/gnu-libstdc++/${ver}/libs/${abi})
15 ldf+=(-lgnustl_static)
16 tgt=arm-linux-androideabi
17 cc=${bin}/${tgt}-gcc
18 cxx=${bin}/${tgt}-g++
19 cpp=()
20 cpp+=(-fPIE)
21 ldf+=(-rdynamic -fPIE -pie)
22 ccf=()
23 ccf+=(-g0 -O3)
24 function cfg() {
25 cfg=$1
26 shift
27 "${cfg}" \
28 CC="${cc} ${flg[*]}" CXX="${cxx} ${flg[*]}" OBJCXX="${cxx} ${flg[*]}" \
29 CFLAGS="${ccf[*]}" CXXFLAGS="${ccf[*]}" OBJCXXFLAGS="${ccf[*]}" \
30 --host="${tgt}" CPPFLAGS="${cpp[*]}" LDFLAGS="${ldf[*]}" "$@"
31 }