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 {
15
15
jniLibs. srcDirs = [" ${ rootDir} /../build/compiled" ]
16
16
}
17
17
}
18
+
19
+ packagingOptions {
20
+ doNotStrip " **/libjsc.so"
21
+ }
18
22
}
19
23
20
24
dependencies {}
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
23
23
# -----------------------------------------------------------------------------
24
24
# Print the features list last, for maximum visibility.
25
25
diff -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 @@
29
29
set(ENABLE_WEBCORE OFF)
30
30
set(ENABLE_WEBKIT_LEGACY OFF)
31
31
set(ENABLE_WEBKIT OFF)
@@ -36,13 +36,9 @@ diff -aur target-org/webkit/Source/cmake/OptionsJSCOnly.cmake target/webkit/Sour
36
36
- set(ENABLE_API_TESTS ON)
37
37
- endif ()
38
38
+ 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)
43
39
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 )
46
42
diff -aur target-org/webkit/Source/JavaScriptCore/CMakeLists.txt target/webkit/Source/JavaScriptCore/CMakeLists.txt
47
43
--- target-org/webkit/Source/JavaScriptCore/CMakeLists.txt 2017-05-02 21:13:03.000000000 +0200
48
44
+++ 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
121
121
122
122
# ###
123
123
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
+
124
138
COMMON_LDFLAGS=" \
125
- -fuse-ld=gold \
126
- -Wl,--icf=safe \
127
139
-Wl,-z,noexecstack \
128
140
-Wl,--gc-sections \
129
141
-Wl,--exclude-libs,libgcc.a \
@@ -134,26 +146,27 @@ COMMON_LDFLAGS=" \
134
146
COMMON_CFLAGS=" \
135
147
-fstack-protector \
136
148
-ffunction-sections \
137
- -fomit-frame-pointer \
149
+ $FRAME_POINTER_FLAG \
138
150
-fno-strict-aliasing \
139
- -fexceptions \
140
- -frtti \
141
151
-funwind-tables \
142
152
-DPIC \
143
153
-fPIC \
144
154
-fvisibility=hidden \
145
- -DNDEBUG \
146
155
-DCUSTOMIZE_REACT_NATIVE \
147
156
$SWITCH_COMMON_CFLAGS_INTL \
157
+ $CFLAGS_BUILD_TYPE \
148
158
"
149
159
150
160
COMMON_CXXFLAGS=" \
151
- --std=c++11 \
152
161
"
153
162
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
+ "
157
170
158
171
JSC_LDFLAGS=" $COMMON_LDFLAGS "
159
172
JSC_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
18
18
CROSS_BUILD_DIR=$( realpath $TARGETDIR /icu/host)
19
19
PATH=$TOOLCHAIN_DIR /bin:$PATH
20
20
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
+
21
28
$TARGETDIR /icu/source/configure --prefix=$( pwd) /prebuilts \
29
+ $BUILD_TYPE_CONFIG \
22
30
--host=$CROSS_COMPILE_PLATFORM \
23
31
--enable-static=yes \
24
32
--enable-shared=no \
Original file line number Diff line number Diff line change @@ -40,9 +40,19 @@ ARCH_NAME_PLATFORM_x86_64="x86_64"
40
40
var=" ARCH_NAME_PLATFORM_$JSC_ARCH "
41
41
export ARCH_NAME=${! var}
42
42
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
+
43
53
$TARGETDIR /webkit/Tools/Scripts/build-webkit \
44
54
--jsc-only \
45
- --release \
55
+ $BUILD_TYPE_CONFIG \
46
56
--jit \
47
57
" $SWITCH_BUILD_WEBKIT_OPTIONS_INTL " \
48
58
--no-webassembly \
@@ -62,12 +72,19 @@ $TARGETDIR/webkit/Tools/Scripts/build-webkit \
62
72
-DCMAKE_SYSROOT_COMPILE=$TOOLCHAIN_DIR /sysroot \
63
73
-DCMAKE_CXX_FLAGS='${CMAKE_CXX_FLAGS} $COMMON_CXXFLAGS $CMAKE_CXX_FLAGS ' \
64
74
-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} ' \
65
77
-DCMAKE_SHARED_LINKER_FLAGS='${CMAKE_SHARED_LINKER_FLAGS} $CMAKE_LD_FLAGS ' \
66
78
-DCMAKE_EXE_LINKER_FLAGS='${CMAKE_MODULE_LINKER_FLAGS} $CMAKE_LD_FLAGS ' \
67
- -DENABLE_API_TESTS=0 \
68
79
-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 \
69
85
-DJSC_VERSION=\" ${JSC_VERSION} \" \
86
+ $BUILD_TYPE_FLAGS \
70
87
"
71
88
72
- cp $TARGETDIR /webkit/WebKitBuild/Release /lib/libjsc.so $INSTALL_DIR
89
+ cp $TARGETDIR /webkit/WebKitBuild/$BUILD_TYPE /lib/libjsc.so $INSTALL_DIR
73
90
mv $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=(
41
41
42
42
# Will print current JSC version in adb log during initialization
43
43
" 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"
44
48
)
45
49
46
50
if [[ " $I18N " = false ]]
Original file line number Diff line number Diff line change @@ -6,6 +6,9 @@ export ROOTDIR=$PWD
6
6
export TARGETDIR=$ROOTDIR /build/target
7
7
source $ROOTDIR /scripts/info.sh
8
8
export JSC_VERSION=${npm_package_version}
9
+ export BUILD_TYPE=Release
10
+ # export BUILD_TYPE=Debug
11
+
9
12
SCRIPT_DIR=$( cd ` dirname $0 ` ; pwd)
10
13
11
14
patchAndMakeICU () {
@@ -22,9 +25,16 @@ patchAndMakeICU() {
22
25
mkdir -p $TARGETDIR /icu/host
23
26
cd $TARGETDIR /icu/host
24
27
28
+ if [[ " $BUILD_TYPE " = " Release" ]]
29
+ then
30
+ CFLAGS=" -Os"
31
+ else
32
+ CFLAGS=" -g2"
33
+ fi
34
+
25
35
$TARGETDIR /icu/source/runConfigureICU Linux \
26
36
--prefix=$PWD /prebuilts \
27
- CFLAGS=" -Os " \
37
+ CFLAGS=" $CFLAGS " \
28
38
CXXFLAGS=" --std=c++11" \
29
39
--disable-tests \
30
40
--disable-samples \
You can’t perform that action at this time.
0 commit comments