File tree Expand file tree Collapse file tree 8 files changed +105
-23
lines changed Expand file tree Collapse file tree 8 files changed +105
-23
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,10 @@ android {
1515 jniLibs. srcDirs = [" ${ rootDir} /../build/compiled" ]
1616 }
1717 }
18+
19+ packagingOptions {
20+ doNotStrip " **/libjsc.so"
21+ }
1822}
1923
2024dependencies {}
Original file line number Diff line number Diff line change @@ -23,9 +23,9 @@ diff -aur target-org/webkit/CMakeLists.txt target/webkit/CMakeLists.txt
2323 # -----------------------------------------------------------------------------
2424 # Print the features list last, for maximum visibility.
2525diff -aur target-org/webkit/Source/cmake/OptionsJSCOnly.cmake target/webkit/Source/cmake/OptionsJSCOnly.cmake
26- --- target-org/webkit/Source/cmake/OptionsJSCOnly.cmake 2017-04-17 15:51:21 .000000000 +0200
27- +++ target/webkit/Source/cmake/OptionsJSCOnly.cmake 2017-07-11 11:34:55.962374878 +0200
28- @@ -35,12 +35,11 @@
26+ --- target-org/webkit/Source/cmake/OptionsJSCOnly.cmake 2019-03-26 11:25:17 .000000000 +0800
27+ +++ target/webkit/Source/cmake/OptionsJSCOnly.cmake 2019-03-26 11:28:29.000000000 +0800
28+ @@ -35,12 +35,7 @@
2929 set(ENABLE_WEBCORE OFF)
3030 set(ENABLE_WEBKIT_LEGACY OFF)
3131 set(ENABLE_WEBKIT OFF)
@@ -36,13 +36,9 @@ diff -aur target-org/webkit/Source/cmake/OptionsJSCOnly.cmake target/webkit/Sour
3636- set(ENABLE_API_TESTS ON)
3737- endif ()
3838+ set(ENABLE_API_TESTS OFF)
39- + set(ENABLE_SAMPLING_PROFILER OFF)
40- + set(ENABLE_DFG_JIT ON)
41- + set(ENABLE_FTL_JIT OFF)
42- + set(ENABLE_JIT ON)
4339
44- if (WTF_CPU_X86 OR WTF_CPU_X86_64 )
45- SET_AND_EXPOSE_TO_BUILD(USE_UDIS86 1 )
40+ if (WTF_CPU_ARM OR WTF_CPU_MIPS )
41+ SET_AND_EXPOSE_TO_BUILD(USE_CAPSTONE TRUE )
4642diff -aur target-org/webkit/Source/JavaScriptCore/CMakeLists.txt target/webkit/Source/JavaScriptCore/CMakeLists.txt
4743--- target-org/webkit/Source/JavaScriptCore/CMakeLists.txt 2017-05-02 21:13:03.000000000 +0200
4844+++ target/webkit/Source/JavaScriptCore/CMakeLists.txt 2017-07-11 11:34:55.962374878 +0200
Original file line number Diff line number Diff line change 1+ diff -aur target-org/webkit/Source/WTF/wtf/CheckedArithmetic.h target/webkit/Source/WTF/wtf/CheckedArithmetic.h
2+ --- target-org/webkit/Source/WTF/wtf/CheckedArithmetic.h 2018-07-26 17:00:09.000000000 +0800
3+ +++ target/webkit/Source/WTF/wtf/CheckedArithmetic.h 2019-04-12 12:03:55.000000000 +0800
4+ @@ -317,7 +317,7 @@
5+
6+ static inline bool multiply(LHS lhs, RHS rhs, ResultType& result) WARN_UNUSED_RETURN
7+ {
8+ - #if COMPILER(GCC_OR_CLANG)
9+ + #if COMPILER(GCC_OR_CLANG) && CPU(ARM_THUMB2) && defined(NDEBUG)
10+ ResultType temp;
11+ if (__builtin_mul_overflow(lhs, rhs, &temp))
12+ return false;
13+ @@ -390,7 +390,7 @@
14+
15+ static inline bool multiply(LHS lhs, RHS rhs, ResultType& result) WARN_UNUSED_RETURN
16+ {
17+ - #if COMPILER(GCC_OR_CLANG)
18+ + #if COMPILER(GCC_OR_CLANG) && CPU(ARM_THUMB2) && defined(NDEBUG)
19+ ResultType temp;
20+ if (__builtin_mul_overflow(lhs, rhs, &temp))
21+ return false;
22+ @@ -453,7 +453,7 @@
23+
24+ static inline bool multiply(int64_t lhs, int64_t rhs, ResultType& result)
25+ {
26+ - #if COMPILER(GCC_OR_CLANG)
27+ + #if COMPILER(GCC_OR_CLANG) && CPU(ARM_THUMB2) && defined(NDEBUG)
28+ ResultType temp;
29+ if (__builtin_mul_overflow(lhs, rhs, &temp))
30+ return false;
Original file line number Diff line number Diff line change @@ -121,9 +121,21 @@ if [[ $err = true ]]; then exit 1; fi
121121
122122# ###
123123
124+ DEBUG_SYMBOL_LEVEL=" -g2"
125+ if [[ " $BUILD_TYPE " = " Release" ]]
126+ then
127+ FRAME_POINTER_FLAG=" -fomit-frame-pointer"
128+ CFLAGS_BUILD_TYPE=" -DNDEBUG"
129+ ICU_CFLAGS_BUILD_TYPE=" -Oz"
130+ else
131+ FRAME_POINTER_FLAG=" -fno-omit-frame-pointer"
132+ CFLAGS_BUILD_TYPE=" "
133+ ICU_CFLAGS_BUILD_TYPE=$DEBUG_SYMBOL_LEVEL
134+ fi
135+
136+ # ###
137+
124138COMMON_LDFLAGS=" \
125- -fuse-ld=gold \
126- -Wl,--icf=safe \
127139-Wl,-z,noexecstack \
128140-Wl,--gc-sections \
129141-Wl,--exclude-libs,libgcc.a \
@@ -134,26 +146,27 @@ COMMON_LDFLAGS=" \
134146COMMON_CFLAGS=" \
135147-fstack-protector \
136148-ffunction-sections \
137- -fomit-frame-pointer \
149+ $FRAME_POINTER_FLAG \
138150-fno-strict-aliasing \
139- -fexceptions \
140- -frtti \
141151-funwind-tables \
142152-DPIC \
143153-fPIC \
144154-fvisibility=hidden \
145- -DNDEBUG \
146155-DCUSTOMIZE_REACT_NATIVE \
147156$SWITCH_COMMON_CFLAGS_INTL \
157+ $CFLAGS_BUILD_TYPE \
148158"
149159
150160COMMON_CXXFLAGS=" \
151- --std=c++11 \
152161"
153162
154- ICU_CFLAGS=" $COMMON_CFLAGS $PLATFORM_CFLAGS -Oz"
155- ICU_CXXFLAGS=" $COMMON_CXXFLAGS $ICU_CFLAGS -Oz"
156- ICU_LDFLAGS=" $COMMON_LDFLAGS $PLATFORM_LDFLAGS -s"
163+ ICU_CFLAGS=" $COMMON_CFLAGS $PLATFORM_CFLAGS $ICU_CFLAGS_BUILD_TYPE "
164+ ICU_CXXFLAGS=" $COMMON_CXXFLAGS $ICU_CFLAGS $ICU_CFLAGS_BUILD_TYPE "
165+ ICU_LDFLAGS=" $COMMON_LDFLAGS \
166+ -fuse-ld=gold \
167+ -Wl,--icf=safe \
168+ $PLATFORM_LDFLAGS \
169+ "
157170
158171JSC_LDFLAGS=" $COMMON_LDFLAGS "
159172JSC_CFLAGS=" $COMMON_CFLAGS -DU_STATIC_IMPLEMENTATION=1 -DU_SHOW_CPLUSPLUS_API=0"
Original file line number Diff line number Diff line change @@ -18,7 +18,15 @@ cd $BUILD_DIR
1818CROSS_BUILD_DIR=$( realpath $TARGETDIR /icu/host)
1919PATH=$TOOLCHAIN_DIR /bin:$PATH
2020
21+ if [[ " $BUILD_TYPE " = " Release" ]]
22+ then
23+ BUILD_TYPE_CONFIG=" --enable-release=yes"
24+ else
25+ BUILD_TYPE_CONFIG=" --enable-debug=yes"
26+ fi
27+
2128$TARGETDIR /icu/source/configure --prefix=$( pwd) /prebuilts \
29+ $BUILD_TYPE_CONFIG \
2230 --host=$CROSS_COMPILE_PLATFORM \
2331 --enable-static=yes \
2432 --enable-shared=no \
Original file line number Diff line number Diff line change @@ -40,9 +40,19 @@ ARCH_NAME_PLATFORM_x86_64="x86_64"
4040var=" ARCH_NAME_PLATFORM_$JSC_ARCH "
4141export ARCH_NAME=${! var}
4242
43+
44+ if [[ " $BUILD_TYPE " = " Release" ]]
45+ then
46+ BUILD_TYPE_CONFIG=" --release"
47+ BUILD_TYPE_FLAGS=" "
48+ else
49+ BUILD_TYPE_CONFIG=" --debug"
50+ BUILD_TYPE_FLAGS=" -DDEBUG_FISSION=OFF"
51+ fi
52+
4353$TARGETDIR /webkit/Tools/Scripts/build-webkit \
4454 --jsc-only \
45- --release \
55+ $BUILD_TYPE_CONFIG \
4656 --jit \
4757 " $SWITCH_BUILD_WEBKIT_OPTIONS_INTL " \
4858 --no-webassembly \
@@ -62,12 +72,19 @@ $TARGETDIR/webkit/Tools/Scripts/build-webkit \
6272 -DCMAKE_SYSROOT_COMPILE=$TOOLCHAIN_DIR /sysroot \
6373 -DCMAKE_CXX_FLAGS='${CMAKE_CXX_FLAGS} $COMMON_CXXFLAGS $CMAKE_CXX_FLAGS ' \
6474 -DCMAKE_C_FLAGS='${CMAKE_C_FLAGS} $CMAKE_CXX_FLAGS ' \
75+ -DCMAKE_C_FLAGS_DEBUG='${DEBUG_SYMBOL_LEVEL} ' \
76+ -DCMAKE_CXX_FLAGS_DEBUG='${DEBUG_SYMBOL_LEVEL} ' \
6577 -DCMAKE_SHARED_LINKER_FLAGS='${CMAKE_SHARED_LINKER_FLAGS} $CMAKE_LD_FLAGS ' \
6678 -DCMAKE_EXE_LINKER_FLAGS='${CMAKE_MODULE_LINKER_FLAGS} $CMAKE_LD_FLAGS ' \
67- -DENABLE_API_TESTS=0 \
6879 -DCMAKE_VERBOSE_MAKEFILE=on \
80+ -DENABLE_API_TESTS=OFF \
81+ -DENABLE_SAMPLING_PROFILER=OFF \
82+ -DENABLE_JIT=ON \
83+ -DENABLE_DFG_JIT=ON \
84+ -DENABLE_FTL_JIT=OFF \
6985 -DJSC_VERSION=\" ${JSC_VERSION} \" \
86+ $BUILD_TYPE_FLAGS \
7087 "
7188
72- cp $TARGETDIR /webkit/WebKitBuild/Release /lib/libjsc.so $INSTALL_DIR
89+ cp $TARGETDIR /webkit/WebKitBuild/$BUILD_TYPE /lib/libjsc.so $INSTALL_DIR
7390mv $TARGETDIR /webkit/WebKitBuild $TARGETDIR /webkit/${CROSS_COMPILE_PLATFORM} -${FLAVOR}
Original file line number Diff line number Diff line change @@ -41,6 +41,10 @@ JSC_PATCHSET=(
4141
4242 # Will print current JSC version in adb log during initialization
4343 " jsc_startup_log_version.patch"
44+
45+ # NDK r17c does not define __mulodi4, which is being used in debug build.
46+ # (However, NDK r19 fixed this)
47+ " jsc_fix_build_error_mulodi4.patch"
4448)
4549
4650if [[ " $I18N " = false ]]
Original file line number Diff line number Diff line change @@ -6,6 +6,9 @@ export ROOTDIR=$PWD
66export TARGETDIR=$ROOTDIR /build/target
77source $ROOTDIR /scripts/info.sh
88export JSC_VERSION=${npm_package_version}
9+ export BUILD_TYPE=Release
10+ # export BUILD_TYPE=Debug
11+
912SCRIPT_DIR=$( cd ` dirname $0 ` ; pwd)
1013
1114patchAndMakeICU () {
@@ -22,9 +25,16 @@ patchAndMakeICU() {
2225 mkdir -p $TARGETDIR /icu/host
2326 cd $TARGETDIR /icu/host
2427
28+ if [[ " $BUILD_TYPE " = " Release" ]]
29+ then
30+ CFLAGS=" -Os"
31+ else
32+ CFLAGS=" -g2"
33+ fi
34+
2535 $TARGETDIR /icu/source/runConfigureICU Linux \
2636 --prefix=$PWD /prebuilts \
27- CFLAGS=" -Os " \
37+ CFLAGS=" $CFLAGS " \
2838 CXXFLAGS=" --std=c++11" \
2939 --disable-tests \
3040 --disable-samples \
You can’t perform that action at this time.
0 commit comments