Skip to content

Commit 6d2bed6

Browse files
committed
Upgrade to support NDK r19+ (and only support r19+)
1 parent 0338a32 commit 6d2bed6

File tree

6 files changed

+22
-51
lines changed

6 files changed

+22
-51
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ jobs:
55
working_directory: ~/jsc-android-buildscripts
66
machine: true
77
environment:
8-
NDK_VERSION: r17c
8+
NDK_VERSION: r19c
99
SDK_VERSION: sdk-tools-linux-3859397.zip
1010
ANDROID_HOME: /home/circleci/android-sdk
1111
ANDROID_NDK: /home/circleci/android-ndk

scripts/compile/all.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33
SCRIPT_DIR=$(cd `dirname $0`; pwd)
44

55
compile_arch() {
6-
echo -e '\033]2;'"compiling toolchain for $JSC_ARCH $FLAVOR"'\007'
7-
printf "\n\n\n\t\t=================== compiling toolchain for $JSC_ARCH $FLAVOR ===================\n\n\n"
8-
$SCRIPT_DIR/toolchain.sh
9-
106
echo -e '\033]2;'"compiling icu for $JSC_ARCH $FLAVOR"'\007'
117
printf "\n\n\n\t\t=================== compiling icu for $JSC_ARCH $FLAVOR ===================\n\n\n"
128
$SCRIPT_DIR/icu.sh

scripts/compile/common.sh

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -35,61 +35,53 @@ CROSS_COMPILE_PLATFORM_arm="arm-linux-androideabi"
3535
CROSS_COMPILE_PLATFORM_arm64="aarch64-linux-android"
3636
CROSS_COMPILE_PLATFORM_x86="i686-linux-android"
3737
CROSS_COMPILE_PLATFORM_x86_64="x86_64-linux-android"
38+
CROSS_COMPILE_PLATFORM_CC_arm="armv7a-linux-androideabi"
39+
CROSS_COMPILE_PLATFORM_CC_arm64="$CROSS_COMPILE_PLATFORM_arm64"
40+
CROSS_COMPILE_PLATFORM_CC_x86="$CROSS_COMPILE_PLATFORM_x86"
41+
CROSS_COMPILE_PLATFORM_CC_x86_64="$CROSS_COMPILE_PLATFORM_x86_64"
3842

3943
# arch
4044
var="CROSS_COMPILE_PLATFORM_$JSC_ARCH"
4145
CROSS_COMPILE_PLATFORM=${!var}
42-
TOOLCHAIN_DIR=$TARGETDIR/toolchains/$CROSS_COMPILE_PLATFORM
46+
var="CROSS_COMPILE_PLATFORM_CC_$JSC_ARCH"
47+
CROSS_COMPILE_PLATFORM_CC=${!var}${ANDROID_API}
48+
TOOLCHAIN_PLATFORM=$(ls -1 $ANDROID_NDK/toolchains/llvm/prebuilt | head -1)
49+
TOOLCHAIN_DIR="$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN_PLATFORM/"
4350

4451
# settings
45-
TOOLCHAIN_BIN_STRIP_arm="$TOOLCHAIN_DIR/bin/arm-linux-androideabi-strip"
46-
TOOLCHAIN_LINK_DIR_arm="$TOOLCHAIN_DIR/$CROSS_COMPILE_PLATFORM/lib/armv7-a"
4752
PLATFORM_CFLAGS_arm=" \
4853
-march=armv7-a \
4954
-mfloat-abi=softfp \
5055
-mfpu=neon \
5156
-mthumb \
5257
"
5358
PLATFORM_LDFLAGS_arm=" \
54-
-L$TOOLCHAIN_LINK_DIR_arm \
5559
-march=armv7-a \
5660
-Wl,--fix-cortex-a8 \
5761
"
5862
JNI_ARCH_arm=armeabi-v7a
5963

60-
TOOLCHAIN_BIN_STRIP_arm64="$TOOLCHAIN_DIR/bin/aarch64-linux-android-strip"
61-
TOOLCHAIN_LINK_DIR_arm64="$TOOLCHAIN_DIR/$CROSS_COMPILE_PLATFORM/lib"
62-
PLATFORM_LDFLAGS_arm64=" \
63-
-L$TOOLCHAIN_LINK_DIR_arm64 \
64-
"
64+
PLATFORM_LDFLAGS_arm64=""
6565
JNI_ARCH_arm64=arm64-v8a
6666

67-
TOOLCHAIN_BIN_STRIP_x86="$TOOLCHAIN_DIR/bin/i686-linux-android-strip"
68-
TOOLCHAIN_LINK_DIR_x86="$TOOLCHAIN_DIR/$CROSS_COMPILE_PLATFORM/lib"
6967
PLATFORM_CFLAGS_x86=" \
7068
-march=i686 \
7169
-mtune=intel \
7270
-mssse3 \
7371
-mfpmath=sse \
7472
-m32 \
7573
"
76-
PLATFORM_LDFLAGS_x86=" \
77-
-L$TOOLCHAIN_LINK_DIR_x86 \
78-
"
74+
PLATFORM_LDFLAGS_x86=""
7975
JNI_ARCH_x86=x86
8076

81-
TOOLCHAIN_BIN_STRIP_x86_64="$TOOLCHAIN_DIR/bin/x86_64-linux-android-strip"
82-
TOOLCHAIN_LINK_DIR_x86_64="$TOOLCHAIN_DIR/$CROSS_COMPILE_PLATFORM/lib64"
8377
PLATFORM_CFLAGS_x86_64=" \
8478
-march=x86-64 \
8579
-msse4.2 \
8680
-mpopcnt \
8781
-m64 \
8882
-mtune=intel \
8983
"
90-
PLATFORM_LDFLAGS_x86_64=" \
91-
-L$TOOLCHAIN_LINK_DIR_x86_64 \
92-
"
84+
PLATFORM_LDFLAGS_x86_64=""
9385
JNI_ARCH_x86_64=x86_64
9486

9587
# arch
@@ -99,10 +91,6 @@ var="PLATFORM_LDFLAGS_$JSC_ARCH"
9991
PLATFORM_LDFLAGS=${!var}
10092
var="JNI_ARCH_$JSC_ARCH"
10193
JNI_ARCH=${!var}
102-
var="TOOLCHAIN_BIN_STRIP_$JSC_ARCH"
103-
TOOLCHAIN_BIN_STRIP=${!var}
104-
var="TOOLCHAIN_LINK_DIR_$JSC_ARCH"
105-
TOOLCHAIN_LINK_DIR=${!var}
10694

10795
# options flags
10896
# INTL

scripts/compile/icu.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ $TARGETDIR/icu/source/configure --prefix=$(pwd)/prebuilts \
4343
CFLAGS="$ICU_CFLAGS" \
4444
CXXFLAGS="$ICU_CXXFLAGS" \
4545
LDFLAGS="$ICU_LDFLAGS" \
46-
CC=$CROSS_COMPILE_PLATFORM-clang \
47-
CXX=$CROSS_COMPILE_PLATFORM-clang++ \
46+
CC=$CROSS_COMPILE_PLATFORM_CC-clang \
47+
CXX=$CROSS_COMPILE_PLATFORM_CC-clang++ \
4848
AR=$CROSS_COMPILE_PLATFORM-ar \
4949
RINLIB=$CROSS_COMPILE_PLATFORM-ranlib \
5050
--with-data-packaging=static

scripts/compile/jsc.sh

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ $SWITCH_JSC_CFLAGS_COMPAT \
1515
$JSC_CFLAGS \
1616
$PLATFORM_CFLAGS \
1717
-I$TARGETDIR/icu/source/i18n \
18-
-I$TOOLCHAIN_DIR/sysroot/usr/include \
1918
"
2019

2120
CMAKE_LD_FLAGS=" \
@@ -27,9 +26,9 @@ $PLATFORM_LDFLAGS \
2726
"
2827

2928
export AR=$CROSS_COMPILE_PLATFORM-ar
30-
export AS=$CROSS_COMPILE_PLATFORM-clang
31-
export CC=$CROSS_COMPILE_PLATFORM-clang
32-
export CXX=$CROSS_COMPILE_PLATFORM-clang++
29+
export AS=$CROSS_COMPILE_PLATFORM-as
30+
export CC=$CROSS_COMPILE_PLATFORM_CC-clang
31+
export CXX=$CROSS_COMPILE_PLATFORM_CC-clang++
3332
export LD=$CROSS_COMPILE_PLATFORM-ld
3433
export STRIP=$CROSS_COMPILE_PLATFORM-strip
3534

@@ -79,8 +78,9 @@ $TARGETDIR/webkit/Tools/Scripts/build-webkit \
7978
-DCMAKE_ANDROID_STANDALONE_TOOLCHAIN=$TOOLCHAIN_DIR \
8079
-DWEBKIT_LIBRARIES_INCLUDE_DIR=$TARGETDIR/icu/source/common \
8180
-DWEBKIT_LIBRARIES_LINK_DIR=$TARGETDIR/icu/${CROSS_COMPILE_PLATFORM}-${FLAVOR}/lib \
82-
-DCMAKE_C_COMPILER=$CROSS_COMPILE_PLATFORM-clang \
83-
-DCMAKE_CXX_COMPILER=$CROSS_COMPILE_PLATFORM-clang \
81+
-DCMAKE_C_COMPILER=$CROSS_COMPILE_PLATFORM_CC-clang \
82+
-DCMAKE_CXX_COMPILER=$CROSS_COMPILE_PLATFORM_CC-clang++ \
83+
-DCMAKE_AR=$TOOLCHAIN_DIR/bin/$CROSS_COMPILE_PLATFORM-ar \
8484
-DCMAKE_SYSROOT=$TOOLCHAIN_DIR/sysroot \
8585
-DCMAKE_SYSROOT_COMPILE=$TOOLCHAIN_DIR/sysroot \
8686
-DCMAKE_CXX_FLAGS='${CMAKE_CXX_FLAGS} $COMMON_CXXFLAGS $CMAKE_CXX_FLAGS' \
@@ -106,3 +106,5 @@ cp $TARGETDIR/webkit/WebKitBuild/$BUILD_TYPE/lib/libjsc.so $INSTALL_UNSTRIPPED_D
106106
cp $TARGETDIR/webkit/WebKitBuild/$BUILD_TYPE/lib/libjsc.so $INSTALL_DIR_I18N/$JNI_ARCH
107107
$TOOLCHAIN_BIN_STRIP $INSTALL_DIR_I18N/$JNI_ARCH/libjsc.so
108108
mv $TARGETDIR/webkit/WebKitBuild $TARGETDIR/webkit/${CROSS_COMPILE_PLATFORM}-${FLAVOR}
109+
110+
cp $TOOLCHAIN_DIR/sysroot/usr/lib/$CROSS_COMPILE_PLATFORM/libc++_shared.so $INSTALL_CPPRUNTIME_DIR

scripts/compile/toolchain.sh

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)