Skip to content

Commit 1cf9131

Browse files
committed
Use llvm-libc++ as STL, disable building of iconv, build only for armeabi-v7a, build icu 55.1
1 parent a6a6531 commit 1cf9131

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

build.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ NDK=`which ndk-build`
1111
NDK=`dirname $NDK`
1212
NDK=`readlink -f $NDK`
1313

14-
for ARCH in armeabi armeabi-v7a x86 mips; do
14+
for ARCH in armeabi-v7a; do
1515

1616
cd $BUILDDIR
1717
mkdir -p $ARCH
@@ -33,7 +33,7 @@ cd $BUILDDIR/$ARCH
3333

3434
# =========== libiconv.so ===========
3535

36-
[ -e libiconv.so ] || {
36+
true || [ -e libiconv.so ] || {
3737

3838
[ -e ../libiconv-1.14.tar.gz ] || curl -L http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz -o ../libiconv-1.14.tar.gz || exit 1
3939

@@ -79,14 +79,14 @@ cd $BUILDDIR/$ARCH
7979

8080
[ -e libicuuc.so ] || {
8181

82-
[ -e ../icu4c-52_1-src.tgz ] || curl http://pkgs.fedoraproject.org/repo/pkgs/icu/icu4c-52_1-src.tgz/9e96ed4c1d99c0d14ac03c140f9f346c/icu4c-52_1-src.tgz -o ../icu4c-52_1-src.tgz || exit 1
82+
[ -e ../icu4c-55_1-src.tgz ] || exit 1
8383

84-
tar xvf ../icu4c-52_1-src.tgz
84+
tar xvf ../icu4c-55_1-src.tgz
8585

8686
cd icu/source
8787

88-
cp -f $BUILDDIR/config.sub .
89-
cp -f $BUILDDIR/config.guess .
88+
#cp -f $BUILDDIR/config.sub .
89+
#cp -f $BUILDDIR/config.guess .
9090

9191
[ -d cross ] || {
9292
mkdir cross

setCrossEnvironment-armeabi-v7a.sh

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/bin/sh
22

3+
NDK_STL="libc++"
4+
35
IFS='
46
'
57

@@ -23,23 +25,29 @@ grep "64.bit" "$NDK/RELEASE.TXT" >/dev/null 2>&1 && MYARCH="${MYARCH}_64"
2325
[ -z "$NDK" ] && { echo "You need Andorid NDK r8 or newer installed to run this script" ; exit 1 ; }
2426
GCCPREFIX=arm-linux-androideabi
2527
GCCVER=4.8
26-
PLATFORMVER=android-14
28+
PLATFORMVER=android-16
2729
LOCAL_PATH=`dirname $0`
2830
if which realpath > /dev/null ; then
2931
LOCAL_PATH=`realpath $LOCAL_PATH`
3032
else
3133
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
3234
fi
3335
ARCH=armeabi-v7a
36+
STL_CFLAGS="-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/include \
37+
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH/include"
38+
STL_LDFLAGS="-L$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH"
39+
if [[ "$NDK_STL" -eq "libc++" ]] ; then
40+
STL_CFLAGS="-isystem$NDK/sources/cxx-stl/llvm-libc++/include"
41+
STL_LDFLAGS="-L$NDK/sources/cxx-stl/llvm-libc++/libs/$ARCH"
42+
fi
3443

3544
CFLAGS="\
3645
-fpic -ffunction-sections -funwind-tables -fstack-protector \
3746
-no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb \
3847
-fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -marm -fno-omit-frame-pointer \
3948
-DANDROID -DNDEBUG -O2 -g -finline-functions -Wa,--noexecstack -Wformat -Werror=format-security \
4049
-isystem$NDK/platforms/$PLATFORMVER/arch-arm/usr/include \
41-
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/include \
42-
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH/include \
50+
$STL_CFLAGS \
4351
$CFLAGS"
4452

4553
UNRESOLVED="-Wl,--no-undefined"
@@ -57,7 +65,7 @@ $SHARED \
5765
--sysroot=$NDK/platforms/$PLATFORMVER/arch-arm \
5866
-L$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib \
5967
-lc -lm -ldl -lz \
60-
-L$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH \
68+
$STL_LDFLAGS \
6169
-lgnustl_static \
6270
-march=armv7-a -Wl,--fix-cortex-a8 \
6371
-no-canonical-prefixes $UNRESOLVED -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now \

0 commit comments

Comments
 (0)