Skip to content

Commit 0368bca

Browse files
ptomatoNathanWalker
authored andcommitted
Remove support for external startup data
This makes V8 always build with v8_use_external_startup_data=false. Since that was previously controlled by the EXTERNAL_STARTUP_DATA variable, we can remove that variable. If we're not using external startup heap snapshots, we also don't need to export mksnapshot and mkcodecache; they are now only used internally by the V8 build. This also makes a TOOLS_ONLY build and therefore a tools_macos_android build obsolete. Summary: - Remove EXTERNAL_STARTUP_DATA - Remove TOOLS_ONLY - Remove MKSNAPSHOT_ONLY - Remove MKCODECACHE_ONLY - Remove patch to allow monolithic build with external startup data - Remove patch to export mkcodecache - Remove tools_macos_android workflow
1 parent 6200923 commit 0368bca

10 files changed

Lines changed: 14 additions & 251 deletions

File tree

.github/workflows/tools_macos_android.yml

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

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111
"setup_ios": "bash -c '. ./scripts/export_npm_env.sh && ./scripts/setup.sh ios'",
1212
"setup_macos_android": "bash -c '. ./scripts/export_npm_env.sh && ./scripts/setup.sh macos_android'",
1313
"start": "bash -c '. ./scripts/export_npm_env.sh && ./scripts/start.sh android'",
14-
"start_ios": "bash -c '. ./scripts/export_npm_env.sh && ./scripts/start.sh ios'",
15-
"start_tools_macos_android": "bash -c '. ./scripts/export_npm_env.sh && TOOLS_ONLY=true ./scripts/start.sh macos_android'"
14+
"start_ios": "bash -c '. ./scripts/export_npm_env.sh && ./scripts/start.sh ios'"
1615
},
1716
"config": {
1817
"V8": "10.3.22"

patches/mkcodecache.patch

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

patches/v8_monolith_snapshot.patch

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

scripts/archive.sh

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22
source $(dirname $0)/env.sh
33

44
function makeDistPackageDir() {
5-
if [[ ${TOOLS_ONLY} = "true" ]]; then
6-
echo "${DIST_DIR}/packages/v8-android-tools"
7-
return 0
8-
fi
9-
105
local jit_suffix=""
116
local intl_suffix=""
127
if [[ ${NO_JIT} != "true" ]]; then
@@ -58,25 +53,6 @@ function copyHeaders() {
5853
cp -Rf "${V8_DIR}/include" "${DIST_PACKAGE_DIR}/include"
5954
}
6055

61-
function copyTools() {
62-
printf "\n\n\t\t===================== adding tools to ${DIST_PACKAGE_DIR}/tools =====================\n\n"
63-
cp -Rf "${BUILD_DIR}/tools" "${DIST_PACKAGE_DIR}/"
64-
}
65-
66-
function copySnapshotBlobIfNeeded() {
67-
if [[ ${EXTERNAL_STARTUP_DATA} = "true" || ${TOOLS_ONLY} = "true" ]]; then
68-
printf "\n\n\t\t===================== adding snapshot_blob to ${DIST_PACKAGE_DIR}/snapshot_blob =====================\n\n"
69-
cp -Rf "${BUILD_DIR}/snapshot_blob" "${DIST_PACKAGE_DIR}/"
70-
fi
71-
}
72-
73-
74-
if [[ ${TOOLS_ONLY} = "true" ]]; then
75-
mkdir -p "$DIST_PACKAGE_DIR"
76-
copyTools
77-
exit 0
78-
fi
79-
8056
if [[ ${PLATFORM} = "android" ]]; then
8157
# export ANDROID_HOME="${V8_DIR}/third_party/android_sdk/public"
8258
# export ANDROID_NDK="${V8_DIR}/third_party/android_ndk"
@@ -87,11 +63,7 @@ if [[ ${PLATFORM} = "android" ]]; then
8763
copyDylib
8864
# copyAndroidTools
8965
# copyHeaders
90-
# copyTools
91-
copySnapshotBlobIfNeeded
9266
elif [[ ${PLATFORM} = "ios" ]]; then
9367
copyDylib
9468
# copyHeaders
95-
# copyTools
96-
# copySnapshotBlobIfNeeded
9769
fi

scripts/build.sh

Lines changed: 4 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@ GN_ARGS_BASE="
1818
v8_enable_v8_checks=false
1919
v8_enable_debugging_features=false
2020
v8_enable_webassembly=true
21+
v8_use_external_startup_data=false
2122
is_official_build=true
23+
target_os=\"${PLATFORM}\"
2224
"
2325

24-
if [[ ${PLATFORM} = "macos_android" ]]; then
25-
GN_ARGS_BASE="${GN_ARGS_BASE} target_os=\"android\" host_cpu=\"x64\""
26-
else
27-
GN_ARGS_BASE="${GN_ARGS_BASE} target_os=\"${PLATFORM}\""
28-
fi
29-
3026
if [[ ${PLATFORM} = "ios" ]]; then
3127
GN_ARGS_BASE="${GN_ARGS_BASE} enable_ios_bitcode=false use_xcode_clang=true ios_enable_code_signing=false v8_enable_pointer_compression=false ios_deployment_target=\"${IOS_DEPLOYMENT_TARGET}\""
3228
elif [[ ${PLATFORM} = "android" ]]; then
@@ -42,12 +38,6 @@ if [[ ${NO_JIT} = "true" ]]; then
4238
GN_ARGS_BASE="${GN_ARGS_BASE} v8_enable_lite_mode=true"
4339
fi
4440

45-
if [[ ${EXTERNAL_STARTUP_DATA} = "true" || ${TOOLS_ONLY} = "true" ]]; then
46-
GN_ARGS_BASE="${GN_ARGS_BASE} v8_use_external_startup_data=true"
47-
else
48-
GN_ARGS_BASE="${GN_ARGS_BASE} v8_use_external_startup_data=false"
49-
fi
50-
5141
if [[ "$BUILD_TYPE" = "Debug" ]]
5242
then
5343
GN_ARGS_BUILD_TYPE='
@@ -105,16 +95,8 @@ function buildArch()
10595
echo "Build v8 ${arch} variant NO_INTL=${NO_INTL} NO_JIT=${NO_JIT}"
10696
gn gen --args="${GN_ARGS_BASE} ${GN_ARGS_BUILD_TYPE} v8_target_cpu=\"${arch}\" target_cpu=\"${arch}\"" "out.v8.${arch}"
10797

108-
if [[ ${TOOLS_ONLY} = "true" ]]; then
109-
date ; ninja ${NINJA_PARAMS} -C "out.v8.${arch}" run_mksnapshot_default mkcodecache_group ; date
110-
copySnapshot $arch
111-
copyMkcodecache $arch
112-
else
113-
date ; ninja ${NINJA_PARAMS} -C "out.v8.${arch}" ; date
114-
copyLib $arch
115-
copySnapshot $arch
116-
# copyMkcodecache $arch
117-
fi
98+
date ; ninja ${NINJA_PARAMS} -C "out.v8.${arch}" ; date
99+
copyLib $arch
118100
}
119101

120102
function copyLib()
@@ -131,33 +113,6 @@ function copyLib()
131113
fi
132114
}
133115

134-
function copySnapshot()
135-
{
136-
local arch=$1
137-
local platform_arch=$(normalize_arch_for_platform $arch)
138-
139-
mkdir -p "${BUILD_DIR}/tools/${PLATFORM}/${platform_arch}"
140-
cp -f out.v8.${arch}/clang_*/mksnapshot "${BUILD_DIR}/tools/${PLATFORM}/${platform_arch}/mksnapshot"
141-
142-
if [[ ${EXTERNAL_STARTUP_DATA} = "true" || ${TOOLS_ONLY} = "true" ]]; then
143-
mkdir -p "${BUILD_DIR}/snapshot_blob/${platform_arch}"
144-
cp -f out.v8.${arch}/snapshot_blob.bin "${BUILD_DIR}/snapshot_blob/${platform_arch}/snapshot_blob.bin"
145-
fi
146-
}
147-
148-
function copyMkcodecache()
149-
{
150-
local arch=$1
151-
local platform_arch=$(normalize_arch_for_platform $arch)
152-
153-
mkdir -p "${BUILD_DIR}/tools/${PLATFORM}/${platform_arch}"
154-
cp -f out.v8.${arch}/clang_*/mkcodecache "${BUILD_DIR}/tools/${PLATFORM}/${platform_arch}/mkcodecache"
155-
156-
if [[ ${EXTERNAL_STARTUP_DATA} = "true" || ${TOOLS_ONLY} = "true" ]]; then
157-
cp -f out.v8.${arch}/clang_*/snapshot_blob.bin "${BUILD_DIR}/tools/${PLATFORM}/${platform_arch}/snapshot_blob.bin"
158-
fi
159-
}
160-
161116
if [[ ${ARCH} ]]; then
162117
buildArch "${ARCH}"
163118
elif [[ ${PLATFORM} = "android" ]]; then
@@ -168,9 +123,4 @@ elif [[ ${PLATFORM} = "android" ]]; then
168123
elif [[ ${PLATFORM} = "ios" ]]; then
169124
buildArch "arm64"
170125
# buildArch "x64"
171-
elif [[ ${PLATFORM} = "macos_android" ]]; then
172-
# buildArch "arm"
173-
# buildArch "x86"
174-
buildArch "arm64"
175-
buildArch "x64"
176126
fi

scripts/env.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function abs_path()
1717
function verify_platform()
1818
{
1919
local arg=$1
20-
SUPPORTED_PLATFORMS=(android ios macos_android)
20+
SUPPORTED_PLATFORMS=(android ios)
2121
local valid_platform=
2222
for platform in ${SUPPORTED_PLATFORMS[@]}
2323
do
@@ -44,7 +44,6 @@ PATCHES_DIR="${ROOT_DIR}/patches"
4444

4545
NDK_VERSION="r21e"
4646
IOS_DEPLOYMENT_TARGET="9"
47-
EXTERNAL_STARTUP_DATA="true"
4847

4948
export PATH="$DEPOT_TOOLS_DIR:$PATH"
5049
PLATFORM=$(verify_platform $1)

scripts/patch.sh

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ source $(dirname $0)/env.sh
55
# Patchset management that manage files by commented purpose
66
######################################################################################
77
V8_PATCHSET_ANDROID=(
8-
"v8_monolith_snapshot.patch"
9-
108
# V8 shared library support
119
# "v8_shared_library.patch"
1210

@@ -24,9 +22,6 @@ V8_PATCHSET_ANDROID=(
2422
# revert https://chromium.googlesource.com/chromium/src/build/+/7bb5f36104
2523
"v8_97_android_unwind_link_error.patch"
2624

27-
# Add mkcodecache tool
28-
"mkcodecache.patch"
29-
3025
# Fix for [react-native-bottom-sheet](https://github.com/gorhom/react-native-bottom-sheet) not working
3126
# revert https://chromium-review.googlesource.com/c/v8/v8/+/3548458
3227
# "fix_for_bottom_sheet.patch"
@@ -45,19 +40,11 @@ V8_PATCHSET_IOS=(
4540
# Fix use_system_xcode build error
4641
"system_xcode_build_error.patch"
4742

48-
# Add mkcodecache tool
49-
"mkcodecache.patch"
50-
5143
# Fix for [react-native-bottom-sheet](https://github.com/gorhom/react-native-bottom-sheet) not working
5244
# revert https://chromium-review.googlesource.com/c/v8/v8/+/3548458
5345
# "fix_for_bottom_sheet.patch"
5446
)
5547

56-
V8_PATCHSET_MACOS_ANDROID=(
57-
# Add mkcodecache tool
58-
"mkcodecache.patch"
59-
)
60-
6148
######################################################################################
6249
# Patchset management end
6350
######################################################################################
@@ -73,11 +60,6 @@ function setupNDK() {
7360
unset ndk_major_version
7461
}
7562

76-
function setupMkCodecache() {
77-
mkdir -p "${V8_DIR}/src/mkcodecache"
78-
cp -f "${ROOT_DIR}/mkcodecache/mkcodecache.cc" "${V8_DIR}/src/mkcodecache/"
79-
}
80-
8163
if [[ ${PLATFORM} = "android" ]]; then
8264
for patch in "${V8_PATCHSET_ANDROID[@]}"
8365
do
@@ -86,22 +68,11 @@ if [[ ${PLATFORM} = "android" ]]; then
8668
done
8769

8870
setupNDK
89-
setupMkCodecache
9071
elif [[ ${PLATFORM} = "ios" ]]; then
9172
for patch in "${V8_PATCHSET_IOS[@]}"
9273
do
9374
printf "### Patch set: ${patch}\n"
9475
patch -d "${V8_DIR}" -p1 < "${PATCHES_DIR}/$patch"
9576
done
9677

97-
setupMkCodecache
98-
elif [[ ${PLATFORM} = "macos_android" ]]; then
99-
for patch in "${V8_PATCHSET_MACOS_ANDROID[@]}"
100-
do
101-
printf "### Patch set: ${patch}\n"
102-
patch -d "${V8_DIR}" -p1 < "${PATCHES_DIR}/$patch"
103-
done
104-
105-
setupNDK
106-
setupMkCodecache
10778
fi

scripts/setup.sh

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ source $(dirname $0)/env.sh
1717

1818
# Install NDK
1919
function installNDK() {
20-
local host_arch=$1
20+
local ndk_filename="android-ndk-${NDK_VERSION}-linux-x86_64.zip"
2121
pushd .
2222
cd "${V8_DIR}"
23-
wget -q https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-${host_arch}-x86_64.zip
24-
unzip -q android-ndk-${NDK_VERSION}-${host_arch}-x86_64.zip
25-
rm -f android-ndk-${NDK_VERSION}-${host_arch}-x86_64.zip
23+
wget -q "https://dl.google.com/android/repository/${ndk_filename}"
24+
unzip -q "$ndk_filename"
25+
rm -f "$ndk_filename"
2626
popd
2727
}
2828

@@ -70,15 +70,6 @@ if [[ ${PLATFORM} = "android" ]]; then
7070
# Workaround to install missing android_sdk tools
7171
gclient sync --deps=android
7272

73-
installNDK "linux"
74-
exit 0
75-
fi
76-
77-
if [[ ${PLATFORM} = "macos_android" ]]; then
78-
gclient sync --deps=android ${GCLIENT_SYNC_ARGS} || true
79-
sed -i "" "s#2c2138e811487b13020eb331482fb991fd399d4e#083aa67a0d3309ebe37eafbe7bfd96c235a019cf#g" v8/DEPS
80-
gclient sync --deps=android
81-
82-
installNDK "darwin"
73+
installNDK
8374
exit 0
8475
fi

0 commit comments

Comments
 (0)