mirror of
https://git.FreeBSD.org/ports.git
synced 2025-02-03 11:12:13 +00:00
lang/v8-beta: Add v8-beta 9.6.180.5
Changes: https://v8.dev/blog/v8-release-96 https://chromium.googlesource.com/v8/v8.git/+log/refs/heads/9.6-lkgr https://github.com/v8/v8/commits/9.6-lkgr
This commit is contained in:
parent
75356a5906
commit
f366d96316
@ -357,6 +357,7 @@
|
||||
SUBDIR += urweb
|
||||
SUBDIR += v
|
||||
SUBDIR += v8
|
||||
SUBDIR += v8-beta
|
||||
SUBDIR += vala
|
||||
SUBDIR += visualworks
|
||||
SUBDIR += voc
|
||||
|
107
lang/v8-beta/Makefile
Normal file
107
lang/v8-beta/Makefile
Normal file
@ -0,0 +1,107 @@
|
||||
# We follow the beta channel on https://omahaproxy.appspot.com/
|
||||
# https://chromium.googlesource.com/v8/v8/+/refs/heads/9.6-lkgr
|
||||
|
||||
PORTNAME= v8
|
||||
PORTVERSION= 9.6.180.5
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= LOCAL/sunpoet/v8/${PORTVERSION:R:R}
|
||||
DISTFILES= build-${BUILD_REV}.tar.gz \
|
||||
buildtools-${BUILDTOOLS_REV}.tar.gz \
|
||||
clang-${CLANG_REV}.tar.gz \
|
||||
common-${COMMON_REV}.tar.gz \
|
||||
googletest-${GOOGLETEST_REV}.tar.gz \
|
||||
icu-${ICU_REV}.tar.gz \
|
||||
zlib-${ZLIB_REV}.tar.gz
|
||||
EXTRACT_ONLY= ${DISTNAME}.tar.gz
|
||||
DIST_SUBDIR= v8/${PORTVERSION:R:R}
|
||||
PKGNAMESUFFIX= -beta
|
||||
|
||||
MAINTAINER= sunpoet@FreeBSD.org
|
||||
COMMENT= Open source JavaScript engine by Google
|
||||
|
||||
LICENSE= BSD3CLAUSE
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
BUILD_DEPENDS= binutils>=0:devel/binutils \
|
||||
gn:devel/gn \
|
||||
${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR}
|
||||
LIB_DEPENDS= libicudata.so:devel/icu
|
||||
|
||||
USES= compiler:c++17-lang cpe gnome ninja pkgconfig python:3.5+,build tar:xz
|
||||
USE_GNOME= glib20
|
||||
|
||||
BINARY_ALIAS= python3=${PYTHON_CMD}
|
||||
MAKE_ARGS= -C out/Release
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
SUB_FILES= v8.pc v8_libbase.pc v8_libplatform.pc
|
||||
|
||||
USE_GITHUB= yes
|
||||
|
||||
CPE_VENDOR= google
|
||||
|
||||
CONFLICTS_INSTALL= v8
|
||||
|
||||
BUILD_REV= ebad8533842661f66b9b905e0ee9890a32f628d5
|
||||
BUILDTOOLS_REV= a9bc3e283182a586998338a665c7eae17406ec54
|
||||
CLANG_REV= c06edd1f455183fc89e9f8c2cf745db8f564d8ea
|
||||
COMMON_REV= 68d816952258c9d817bba656ee2664b35507f01b
|
||||
GOOGLETEST_REV= 3b49be074d5c1340eeb447e6a8e78427051e675a
|
||||
ICU_REV= 3f443830bd52d3aa5fab3c1aa2b6d0848bb5039d
|
||||
ZLIB_REV= dfa96e81458fb3b39676e45f7e9e000dff789b05
|
||||
|
||||
# Run "gn args --list out/Release" for all variables.
|
||||
# Some parts don't have use_system_* flag, and can be turned on/off by using
|
||||
# replace_gn_files.py script, some parts just turned on/off for target host
|
||||
# OS "target_os == is_bsd", like libusb, libpci.
|
||||
GN_ARGS+= clang_use_chrome_plugins=false \
|
||||
extra_cxxflags="${CXXFLAGS}" \
|
||||
extra_ldflags="${LDFLAGS}" \
|
||||
is_clang=true \
|
||||
treat_warnings_as_errors=false \
|
||||
use_aura=true \
|
||||
use_lld=true \
|
||||
use_custom_libcxx=false \
|
||||
v8_use_external_startup_data=false
|
||||
|
||||
post-extract:
|
||||
@${MKDIR} ${WRKSRC}/base/trace_event/common ${WRKSRC}/build ${WRKSRC}/buildtools ${WRKSRC}/third_party/googletest/src ${WRKSRC}/third_party/icu ${WRKSRC}/third_party/zlib ${WRKSRC}/tools/clang
|
||||
@${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/build-${BUILD_REV}.tar.gz -C ${WRKSRC}/build
|
||||
@${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/buildtools-${BUILDTOOLS_REV}.tar.gz -C ${WRKSRC}/buildtools
|
||||
@${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/clang-${CLANG_REV}.tar.gz -C ${WRKSRC}/tools/clang
|
||||
@${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/common-${COMMON_REV}.tar.gz -C ${WRKSRC}/base/trace_event/common
|
||||
@${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/googletest-${GOOGLETEST_REV}.tar.gz -C ${WRKSRC}/third_party/googletest/src
|
||||
@${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/icu-${ICU_REV}.tar.gz -C ${WRKSRC}/third_party/icu
|
||||
@${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/zlib-${ZLIB_REV}.tar.gz -C ${WRKSRC}/third_party/zlib
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -i '' 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/build/toolchain/gcc_toolchain.gni ${WRKSRC}/buildtools/third_party/libc++/BUILD.gn
|
||||
# https://github.com/klzgrad/naiveproxy/blob/master/src/build/config/gclient_args.gni
|
||||
${ECHO_CMD} 'checkout_google_benchmark = false' > ${WRKSRC}/build/config/gclient_args.gni
|
||||
|
||||
# Use ICU from ports and create needed directory
|
||||
pre-configure:
|
||||
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} ./build/linux/unbundle/replace_gn_files.py --system-libraries icu # || ${FALSE}
|
||||
@${MKDIR} ${WRKSRC}/out/Release/gen/shim_headers/icui18n_shim/third_party/icu/source/i18n/unicode ${WRKSRC}/out/Release/gen/shim_headers/icuuc_shim/third_party/icu/source/common/unicode
|
||||
@${MKDIR} ${WRKSRC}/out/Release/gen/include
|
||||
@${CP} -R ${LOCALBASE}/include/unicode ${WRKSRC}/out/Release/gen/include/unicode
|
||||
|
||||
do-configure:
|
||||
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out/Release --args='${GN_ARGS}'
|
||||
|
||||
do-install:
|
||||
${MKDIR} ${STAGEDIR}${PREFIX}/include/cppgc ${STAGEDIR}${PREFIX}/include/libplatform
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/out/Release/d8 ${STAGEDIR}${PREFIX}/bin/d8
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/out/Release/mkgrokdump ${STAGEDIR}${PREFIX}/bin/mkgrokdump
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/out/Release/mksnapshot ${STAGEDIR}${PREFIX}/bin/mksnapshot
|
||||
${INSTALL_LIB} ${WRKSRC}/out/Release/libchrome_zlib.so ${STAGEDIR}${PREFIX}/lib/libchrome_zlib.so
|
||||
${INSTALL_LIB} ${WRKSRC}/out/Release/libcppgc.so ${STAGEDIR}${PREFIX}/lib/libcppgc.so
|
||||
${INSTALL_LIB} ${WRKSRC}/out/Release/libv8.so ${STAGEDIR}${PREFIX}/lib/libv8.so
|
||||
${INSTALL_LIB} ${WRKSRC}/out/Release/libv8_libbase.so ${STAGEDIR}${PREFIX}/lib/libv8_libbase.so
|
||||
${INSTALL_LIB} ${WRKSRC}/out/Release/libv8_libplatform.so ${STAGEDIR}${PREFIX}/lib/libv8_libplatform.so
|
||||
${INSTALL_DATA} ${WRKSRC}/include/*.h ${STAGEDIR}${PREFIX}/include/
|
||||
cd ${WRKSRC}/include/cppgc && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/cppgc '-name *\.h'
|
||||
${INSTALL_DATA} ${WRKSRC}/include/libplatform/*.h ${STAGEDIR}${PREFIX}/include/libplatform/
|
||||
${INSTALL_DATA} ${WRKDIR}/v8*.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/
|
||||
|
||||
.include <bsd.port.mk>
|
17
lang/v8-beta/distinfo
Normal file
17
lang/v8-beta/distinfo
Normal file
@ -0,0 +1,17 @@
|
||||
TIMESTAMP = 1635730869
|
||||
SHA256 (v8/9.6/build-ebad8533842661f66b9b905e0ee9890a32f628d5.tar.gz) = d8e9e21f48b0a88f456d88bb76fe6381ba2d3429c36f371dbabf11f50c704468
|
||||
SIZE (v8/9.6/build-ebad8533842661f66b9b905e0ee9890a32f628d5.tar.gz) = 1357606
|
||||
SHA256 (v8/9.6/buildtools-a9bc3e283182a586998338a665c7eae17406ec54.tar.gz) = 4aaec99b3c5cc9bf588a5ddd76efdc024276097a9bdddf1364936f9ddcdf7f78
|
||||
SIZE (v8/9.6/buildtools-a9bc3e283182a586998338a665c7eae17406ec54.tar.gz) = 86607
|
||||
SHA256 (v8/9.6/clang-c06edd1f455183fc89e9f8c2cf745db8f564d8ea.tar.gz) = 1f03b84dad25f4b80fcb137e00be9efc9f0503146103ec4ac6b792df78700aa7
|
||||
SIZE (v8/9.6/clang-c06edd1f455183fc89e9f8c2cf745db8f564d8ea.tar.gz) = 288468
|
||||
SHA256 (v8/9.6/common-68d816952258c9d817bba656ee2664b35507f01b.tar.gz) = 6d84abfe22276bf1940b617aa8c320ec098d40c7d6dc83978b157836061f5c34
|
||||
SIZE (v8/9.6/common-68d816952258c9d817bba656ee2664b35507f01b.tar.gz) = 10624
|
||||
SHA256 (v8/9.6/googletest-3b49be074d5c1340eeb447e6a8e78427051e675a.tar.gz) = 75be476046d5135185521ed95a8c03872d6eb1ff3a2d956ee7d0739936492df6
|
||||
SIZE (v8/9.6/googletest-3b49be074d5c1340eeb447e6a8e78427051e675a.tar.gz) = 830864
|
||||
SHA256 (v8/9.6/icu-3f443830bd52d3aa5fab3c1aa2b6d0848bb5039d.tar.gz) = 033b914dba13dbb5599ab1e21c652d707c3b5d96184c535c6a3dc65f6c0d610b
|
||||
SIZE (v8/9.6/icu-3f443830bd52d3aa5fab3c1aa2b6d0848bb5039d.tar.gz) = 43801217
|
||||
SHA256 (v8/9.6/zlib-dfa96e81458fb3b39676e45f7e9e000dff789b05.tar.gz) = aefe670a752dd8ac2e6d3e9820cdcb83f660a849750d6da1301bb06be97a2528
|
||||
SIZE (v8/9.6/zlib-dfa96e81458fb3b39676e45f7e9e000dff789b05.tar.gz) = 313143
|
||||
SHA256 (v8/9.6/v8-v8-9.6.180.5_GH0.tar.gz) = 6fa5963df6af3d10479294bd1194b52fbecc558234ae0dbe6bee21360fb96932
|
||||
SIZE (v8/9.6/v8-v8-9.6.180.5_GH0.tar.gz) = 27104492
|
32
lang/v8-beta/files/patch-BUILD.gn
Normal file
32
lang/v8-beta/files/patch-BUILD.gn
Normal file
@ -0,0 +1,32 @@
|
||||
--- BUILD.gn.orig 2021-10-06 18:22:58 UTC
|
||||
+++ BUILD.gn
|
||||
@@ -4804,7 +4804,7 @@ v8_component("v8_libbase") {
|
||||
}
|
||||
}
|
||||
|
||||
- if (is_linux || is_chromeos) {
|
||||
+ if ((is_linux || is_chromeos) && !is_bsd) {
|
||||
sources += [
|
||||
"src/base/debug/stack_trace_posix.cc",
|
||||
"src/base/platform/platform-linux.cc",
|
||||
@@ -4821,6 +4821,12 @@ v8_component("v8_libbase") {
|
||||
]
|
||||
|
||||
libs = [ "dl" ]
|
||||
+ } else if (is_bsd) {
|
||||
+ sources += [
|
||||
+ "src/base/debug/stack_trace_posix.cc",
|
||||
+ "src/base/platform/platform-freebsd.cc",
|
||||
+ ]
|
||||
+ libs = [ "rt", "execinfo" ]
|
||||
} else if (is_android) {
|
||||
if (current_toolchain == host_toolchain) {
|
||||
libs = [
|
||||
@@ -5313,6 +5319,7 @@ if (v8_monolithic) {
|
||||
":v8_libplatform",
|
||||
"//build/win:default_exe_manifest",
|
||||
]
|
||||
+ libs = ["execinfo"]
|
||||
|
||||
configs = [ ":internal_config" ]
|
||||
}
|
30
lang/v8-beta/files/patch-build_config_BUILD.gn
Normal file
30
lang/v8-beta/files/patch-build_config_BUILD.gn
Normal file
@ -0,0 +1,30 @@
|
||||
--- build/config/BUILD.gn.orig 2021-05-26 12:26:11 UTC
|
||||
+++ build/config/BUILD.gn
|
||||
@@ -128,7 +128,7 @@ config("debug") {
|
||||
# builds, and we have to tell it to turn it off.
|
||||
defines += [ "_HAS_ITERATOR_DEBUGGING=0" ]
|
||||
}
|
||||
- } else if ((is_linux || is_chromeos) && current_cpu == "x64" &&
|
||||
+ } else if ((is_linux || is_chromeos || is_bsd) && current_cpu == "x64" &&
|
||||
enable_iterator_debugging) {
|
||||
# Enable libstdc++ debugging facilities to help catch problems early, see
|
||||
# http://crbug.com/65151 .
|
||||
@@ -227,9 +227,7 @@ config("default_libs") {
|
||||
]
|
||||
} else if (is_linux || is_chromeos) {
|
||||
libs = [
|
||||
- "dl",
|
||||
"pthread",
|
||||
- "rt",
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -308,7 +306,7 @@ config("executable_config") {
|
||||
"//build/config/ios:ios_dynamic_flags",
|
||||
"//build/config/ios:ios_executable_flags",
|
||||
]
|
||||
- } else if (is_linux || is_chromeos || is_android || current_os == "aix") {
|
||||
+ } else if (is_linux || is_bsd || is_chromeos || is_android || current_os == "aix") {
|
||||
configs += [ "//build/config/gcc:executable_config" ]
|
||||
if (is_chromecast) {
|
||||
configs += [ "//build/config/chromecast:executable_config" ]
|
44
lang/v8-beta/files/patch-build_config_BUILDCONFIG.gn
Normal file
44
lang/v8-beta/files/patch-build_config_BUILDCONFIG.gn
Normal file
@ -0,0 +1,44 @@
|
||||
--- build/config/BUILDCONFIG.gn.orig 2021-05-26 12:26:11 UTC
|
||||
+++ build/config/BUILDCONFIG.gn
|
||||
@@ -131,7 +131,7 @@ declare_args() {
|
||||
is_official_build = false
|
||||
|
||||
# Set to true when compiling with the Clang compiler.
|
||||
- is_clang = current_os != "linux" ||
|
||||
+ is_clang = current_os != "linux" || current_os == "freebsd" ||
|
||||
(current_cpu != "s390x" && current_cpu != "s390" &&
|
||||
current_cpu != "ppc64" && current_cpu != "ppc" &&
|
||||
current_cpu != "mips" && current_cpu != "mips64" &&
|
||||
@@ -184,8 +184,8 @@ if (host_toolchain == "") {
|
||||
# TODO(dpranke): Add some sort of assert here that verifies that
|
||||
# no toolchain omitted host_toolchain from its toolchain_args().
|
||||
|
||||
- if (host_os == "linux") {
|
||||
- if (target_os != "linux") {
|
||||
+ if (host_os == "linux" || host_os == "freebsd") {
|
||||
+ if (target_os != "linux" && target_os != "freebsd") {
|
||||
host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
|
||||
} else if (is_clang) {
|
||||
host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
|
||||
@@ -222,7 +222,7 @@ if (target_os == "android") {
|
||||
assert(host_os == "linux" || host_os == "mac",
|
||||
"Android builds are only supported on Linux and Mac hosts.")
|
||||
_default_toolchain = "//build/toolchain/android:android_clang_$target_cpu"
|
||||
-} else if (target_os == "chromeos" || target_os == "linux") {
|
||||
+} else if (target_os == "chromeos" || target_os == "linux" || target_os == "freebsd") {
|
||||
# See comments in build/toolchain/cros/BUILD.gn about board compiles.
|
||||
if (is_clang) {
|
||||
_default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
|
||||
@@ -287,10 +287,11 @@ is_android = current_os == "android"
|
||||
is_chromeos = current_os == "chromeos"
|
||||
is_fuchsia = current_os == "fuchsia"
|
||||
is_ios = current_os == "ios"
|
||||
-is_linux = current_os == "linux"
|
||||
+is_linux = current_os == "linux" || current_os == "freebsd"
|
||||
is_mac = current_os == "mac"
|
||||
is_nacl = current_os == "nacl"
|
||||
is_win = current_os == "win" || current_os == "winuwp"
|
||||
+is_bsd = current_os == "freebsd"
|
||||
|
||||
is_apple = is_ios || is_mac
|
||||
is_posix = !is_win && !is_fuchsia
|
101
lang/v8-beta/files/patch-build_config_compiler_BUILD.gn
Normal file
101
lang/v8-beta/files/patch-build_config_compiler_BUILD.gn
Normal file
@ -0,0 +1,101 @@
|
||||
--- build/config/compiler/BUILD.gn.orig 2021-10-20 15:47:54 UTC
|
||||
+++ build/config/compiler/BUILD.gn
|
||||
@@ -140,7 +140,7 @@ declare_args() {
|
||||
#
|
||||
# TODO(crbug.com/1131993): Enabling this when 'is_android' is true breaks
|
||||
# content_shell_test_apk on both ARM and x86.
|
||||
- init_stack_vars = !is_android
|
||||
+ init_stack_vars = !is_android && !is_bsd
|
||||
|
||||
# This argument is to control whether enabling text section splitting in the
|
||||
# final binary. When enabled, the separated text sections with prefix
|
||||
@@ -355,7 +355,7 @@ config("compiler") {
|
||||
}
|
||||
|
||||
# Linker warnings.
|
||||
- if (fatal_linker_warnings && !is_apple && current_os != "aix") {
|
||||
+ if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix") {
|
||||
ldflags += [ "-Wl,--fatal-warnings" ]
|
||||
}
|
||||
if (fatal_linker_warnings && is_apple) {
|
||||
@@ -531,7 +531,7 @@ config("compiler") {
|
||||
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
|
||||
}
|
||||
|
||||
- if (is_clang && !is_nacl && !use_xcode_clang) {
|
||||
+ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) {
|
||||
cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
|
||||
|
||||
# TODO(hans): Remove this once Clang generates better optimized debug info
|
||||
@@ -909,7 +909,7 @@ config("compiler_cpu_abi") {
|
||||
cflags += [ "-mtune=$arm_tune" ]
|
||||
}
|
||||
} else if (current_cpu == "arm64") {
|
||||
- if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
|
||||
+ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) {
|
||||
cflags += [ "--target=aarch64-linux-gnu" ]
|
||||
ldflags += [ "--target=aarch64-linux-gnu" ]
|
||||
}
|
||||
@@ -1253,7 +1253,7 @@ config("compiler_deterministic") {
|
||||
# different build directory like "out/feature_a" and "out/feature_b" if
|
||||
# we build same files with same compile flag.
|
||||
# Other paths are already given in relative, no need to normalize them.
|
||||
- if (is_nacl) {
|
||||
+ if (is_nacl || is_bsd) {
|
||||
# TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
|
||||
cflags += [
|
||||
"-Xclang",
|
||||
@@ -1266,7 +1266,7 @@ config("compiler_deterministic") {
|
||||
# and -fcoverage-compilation-dir=.
|
||||
cflags += [ "-ffile-compilation-dir=." ]
|
||||
}
|
||||
- if (!is_win) {
|
||||
+ if (!is_win && !is_bsd) {
|
||||
# We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
|
||||
asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
|
||||
}
|
||||
@@ -1650,7 +1650,7 @@ config("default_warnings") {
|
||||
cflags += [ "-Wno-null-pointer-subtraction" ]
|
||||
}
|
||||
|
||||
- if (current_toolchain == host_toolchain || !use_xcode_clang) {
|
||||
+ if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) {
|
||||
# Flags Xcode 9.2 (Clang clang-900.0.39.2) does not recognize.
|
||||
cflags += [
|
||||
"-Wenum-compare-conditional",
|
||||
@@ -1904,7 +1904,7 @@ config("thin_archive") {
|
||||
# archives.
|
||||
# TODO(crbug.com/1221615): Enable on is_apple if use_lld once that no longer
|
||||
# confuses lldb.
|
||||
- if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
|
||||
+ if ((is_posix && !is_nacl && !is_apple && !is_bsd) || is_fuchsia) {
|
||||
arflags = [ "-T" ]
|
||||
} else if (is_win && use_lld) {
|
||||
arflags = [ "/llvmlibthin" ]
|
||||
@@ -2404,7 +2404,7 @@ config("symbols") {
|
||||
# flag, so we can use use -g1 for pnacl and nacl-clang compiles.
|
||||
# gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang.
|
||||
if (!is_nacl || is_clang) {
|
||||
- cflags += [ "-g2" ]
|
||||
+ cflags += [ "-g0" ]
|
||||
}
|
||||
|
||||
if (!is_nacl && is_clang && !is_tsan && !is_asan) {
|
||||
@@ -2439,7 +2439,7 @@ config("symbols") {
|
||||
# DWARF info may be corrupt; offsets in a range list entry are in different
|
||||
# sections" there. Maybe just a bug in nacl_switch_32.S.
|
||||
if (!is_apple && !is_nacl && current_cpu != "x86" &&
|
||||
- (use_gold || use_lld)) {
|
||||
+ (use_gold || use_lld) && !is_bsd) {
|
||||
if (is_clang) {
|
||||
# This flag enables the GNU-format pubnames and pubtypes sections,
|
||||
# which lld needs in order to generate a correct GDB index.
|
||||
@@ -2452,7 +2452,7 @@ config("symbols") {
|
||||
}
|
||||
|
||||
if (is_clang && !is_nacl && !use_xcode_clang) {
|
||||
- if (is_apple) {
|
||||
+ if (is_apple || is_bsd) {
|
||||
# TODO(https://crbug.com/1050118): Investigate missing debug info on mac.
|
||||
# Make sure we don't use constructor homing on mac.
|
||||
cflags += [
|
11
lang/v8-beta/files/patch-build_config_compiler_compiler.gni
Normal file
11
lang/v8-beta/files/patch-build_config_compiler_compiler.gni
Normal file
@ -0,0 +1,11 @@
|
||||
--- build/config/compiler/compiler.gni.orig 2021-10-13 07:49:03 UTC
|
||||
+++ build/config/compiler/compiler.gni
|
||||
@@ -205,7 +205,7 @@ declare_args() {
|
||||
|
||||
declare_args() {
|
||||
# Whether to use the gold linker from binutils instead of lld or bfd.
|
||||
- use_gold = !use_lld && !(is_chromecast && is_linux &&
|
||||
+ use_gold = !use_lld && !is_bsd && !(is_chromecast && is_linux &&
|
||||
(current_cpu == "arm" || current_cpu == "mipsel")) &&
|
||||
(((is_linux || is_chromeos_lacros) &&
|
||||
(current_cpu == "x64" || current_cpu == "x86" ||
|
11
lang/v8-beta/files/patch-build_config_features.gni
Normal file
11
lang/v8-beta/files/patch-build_config_features.gni
Normal file
@ -0,0 +1,11 @@
|
||||
--- build/config/features.gni.orig 2020-09-19 19:50:44 UTC
|
||||
+++ build/config/features.gni
|
||||
@@ -26,7 +26,7 @@ declare_args() {
|
||||
proprietary_codecs = is_chrome_branded || is_chromecast
|
||||
|
||||
# libudev usage. This currently only affects the content layer.
|
||||
- use_udev = (is_linux || is_chromeos) && !is_chromecast
|
||||
+ use_udev = (is_linux || is_chromeos) && !is_chromecast && !is_bsd
|
||||
|
||||
use_dbus = (is_linux || is_chromeos) && !is_chromecast
|
||||
|
@ -0,0 +1,9 @@
|
||||
--- build/config/freetype/freetype.gni.orig 2019-03-18 08:59:45 UTC
|
||||
+++ build/config/freetype/freetype.gni
|
||||
@@ -10,5 +10,5 @@ declare_args() {
|
||||
# than version 2.7.1 and have color bitmap support compiled in. WARNING:
|
||||
# System FreeType configurations other than as described WILL INTRODUCE TEXT
|
||||
# RENDERING AND SECURITY REGRESSIONS.
|
||||
- use_system_freetype = false
|
||||
+ use_system_freetype = true
|
||||
}
|
11
lang/v8-beta/files/patch-build_config_linux_BUILD.gn
Normal file
11
lang/v8-beta/files/patch-build_config_linux_BUILD.gn
Normal file
@ -0,0 +1,11 @@
|
||||
--- build/config/linux/BUILD.gn.orig 2021-10-13 07:49:03 UTC
|
||||
+++ build/config/linux/BUILD.gn
|
||||
@@ -39,7 +39,7 @@ config("runtime_library") {
|
||||
|
||||
if ((!(is_chromeos_ash || is_chromeos_lacros) ||
|
||||
default_toolchain != "//build/toolchain/cros:target") &&
|
||||
- (!use_custom_libcxx || current_cpu == "mipsel")) {
|
||||
+ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) {
|
||||
libs = [ "atomic" ]
|
||||
}
|
||||
}
|
26
lang/v8-beta/files/patch-build_config_linux_pkg-config.py
Normal file
26
lang/v8-beta/files/patch-build_config_linux_pkg-config.py
Normal file
@ -0,0 +1,26 @@
|
||||
--- build/config/linux/pkg-config.py.orig 2019-07-24 18:58:02 UTC
|
||||
+++ build/config/linux/pkg-config.py
|
||||
@@ -59,8 +59,12 @@ def SetConfigPath(options):
|
||||
print("You must specify an architecture via -a if using a sysroot.")
|
||||
sys.exit(1)
|
||||
|
||||
- libdir = sysroot + '/usr/' + options.system_libdir + '/pkgconfig'
|
||||
- libdir += ':' + sysroot + '/usr/share/pkgconfig'
|
||||
+ if "linux" in sys.platform:
|
||||
+ libdir = sysroot + '/libdata/' + options.system_libdir + '/pkgconfig'
|
||||
+ libdir += ':' + sysroot + '/usr/share/pkgconfig'
|
||||
+ elif "bsd" in sys.platform:
|
||||
+ libdir = sysroot + '/libdata/pkgconfig'
|
||||
+ libdir += ':' + '/usr/libdata/pkgconfig'
|
||||
os.environ['PKG_CONFIG_LIBDIR'] = libdir
|
||||
return libdir
|
||||
|
||||
@@ -109,7 +113,7 @@ def main():
|
||||
# If this is run on non-Linux platforms, just return nothing and indicate
|
||||
# success. This allows us to "kind of emulate" a Linux build from other
|
||||
# platforms.
|
||||
- if "linux" not in sys.platform:
|
||||
+ if "bsd" not in sys.platform:
|
||||
print("[[],[],[],[],[]]")
|
||||
return 0
|
||||
|
11
lang/v8-beta/files/patch-build_config_rust.gni
Normal file
11
lang/v8-beta/files/patch-build_config_rust.gni
Normal file
@ -0,0 +1,11 @@
|
||||
--- build/config/rust.gni.orig 2021-10-20 15:47:54 UTC
|
||||
+++ build/config/rust.gni
|
||||
@@ -58,7 +58,7 @@ toolchain_has_official_rust =
|
||||
(!is_nacl &&
|
||||
(is_android && (current_cpu == "arm" || current_cpu == "arm64" ||
|
||||
current_cpu == "x64" || current_cpu == "x86"))) ||
|
||||
- (is_linux && current_cpu == "x64")
|
||||
+ (current_os == "linux" && current_cpu == "x64")
|
||||
|
||||
toolchain_has_rust = enable_rust && (toolchain_has_official_rust ||
|
||||
use_unverified_rust_toolchain)
|
14
lang/v8-beta/files/patch-build_config_sysroot.gni
Normal file
14
lang/v8-beta/files/patch-build_config_sysroot.gni
Normal file
@ -0,0 +1,14 @@
|
||||
--- build/config/sysroot.gni.orig 2020-05-13 18:39:36 UTC
|
||||
+++ build/config/sysroot.gni
|
||||
@@ -21,9 +21,9 @@ declare_args() {
|
||||
|
||||
# Controls default is_linux sysroot. If set to true, and sysroot
|
||||
# is empty, default sysroot is calculated.
|
||||
- use_sysroot = current_cpu == "x86" || current_cpu == "x64" ||
|
||||
+ use_sysroot = !is_bsd && (current_cpu == "x86" || current_cpu == "x64" ||
|
||||
current_cpu == "arm" || current_cpu == "arm64" ||
|
||||
- current_cpu == "mipsel" || current_cpu == "mips64el"
|
||||
+ current_cpu == "mipsel" || current_cpu == "mips64el")
|
||||
}
|
||||
|
||||
if (sysroot == "") {
|
11
lang/v8-beta/files/patch-build_detect__host__arch.py
Normal file
11
lang/v8-beta/files/patch-build_detect__host__arch.py
Normal file
@ -0,0 +1,11 @@
|
||||
--- build/detect_host_arch.py.orig 2019-07-24 18:58:02 UTC
|
||||
+++ build/detect_host_arch.py
|
||||
@@ -21,6 +21,8 @@ def HostArch():
|
||||
host_arch = 'ia32'
|
||||
elif host_arch in ['x86_64', 'amd64']:
|
||||
host_arch = 'x64'
|
||||
+ elif host_arch.startswith('arm64'):
|
||||
+ host_arch = 'arm64'
|
||||
elif host_arch.startswith('arm'):
|
||||
host_arch = 'arm'
|
||||
elif host_arch.startswith('aarch64'):
|
11
lang/v8-beta/files/patch-build_gn__run__binary.py
Normal file
11
lang/v8-beta/files/patch-build_gn__run__binary.py
Normal file
@ -0,0 +1,11 @@
|
||||
--- build/gn_run_binary.py.orig 2019-07-24 18:58:02 UTC
|
||||
+++ build/gn_run_binary.py
|
||||
@@ -24,7 +24,7 @@ if not os.path.isabs(path):
|
||||
# The rest of the arguments are passed directly to the executable.
|
||||
args = [path] + sys.argv[2:]
|
||||
|
||||
-ret = subprocess.call(args)
|
||||
+ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome"})
|
||||
if ret != 0:
|
||||
if ret <= -100:
|
||||
# Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to
|
29
lang/v8-beta/files/patch-build_linux_chrome.map
Normal file
29
lang/v8-beta/files/patch-build_linux_chrome.map
Normal file
@ -0,0 +1,29 @@
|
||||
--- build/linux/chrome.map.orig 2021-05-01 21:15:31 UTC
|
||||
+++ build/linux/chrome.map
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
+local:
|
||||
+ *;
|
||||
+
|
||||
global:
|
||||
__bss_start;
|
||||
__data_start;
|
||||
@@ -20,6 +23,10 @@ global:
|
||||
# Program entry point.
|
||||
_start;
|
||||
|
||||
+ # FreeBSD specific variables.
|
||||
+ __progname;
|
||||
+ environ;
|
||||
+
|
||||
# Memory allocation symbols. We want chrome and any libraries to
|
||||
# share the same heap, so it is correct to export these symbols.
|
||||
calloc;
|
||||
@@ -83,7 +90,4 @@ global:
|
||||
localtime_r;
|
||||
|
||||
v8dbg_*;
|
||||
-
|
||||
-local:
|
||||
- *;
|
||||
};
|
53
lang/v8-beta/files/patch-build_linux_libpci_BUILD.gn
Normal file
53
lang/v8-beta/files/patch-build_linux_libpci_BUILD.gn
Normal file
@ -0,0 +1,53 @@
|
||||
--- build/linux/libpci/BUILD.gn.orig 2019-03-11 22:00:52 UTC
|
||||
+++ build/linux/libpci/BUILD.gn
|
||||
@@ -3,20 +3,36 @@
|
||||
# found in the LICENSE file.
|
||||
|
||||
import("//tools/generate_library_loader/generate_library_loader.gni")
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
|
||||
-# This generates a target named "libpci".
|
||||
-generate_library_loader("libpci") {
|
||||
- name = "LibPciLoader"
|
||||
- output_h = "libpci.h"
|
||||
- output_cc = "libpci_loader.cc"
|
||||
- header = "<pci/pci.h>"
|
||||
+declare_args() {
|
||||
+ use_system_libpci = is_bsd
|
||||
+}
|
||||
|
||||
- functions = [
|
||||
- "pci_alloc",
|
||||
- "pci_init",
|
||||
- "pci_cleanup",
|
||||
- "pci_scan_bus",
|
||||
- "pci_fill_info",
|
||||
- "pci_lookup_name",
|
||||
- ]
|
||||
+if (use_system_libpci) {
|
||||
+ pkg_config("system_libpci") {
|
||||
+ packages = [ "libpci" ]
|
||||
+ }
|
||||
+
|
||||
+ source_set("libpci") {
|
||||
+ public_configs = [ ":system_libpci" ]
|
||||
+ }
|
||||
+
|
||||
+} else {
|
||||
+ # This generates a target named "libpci".
|
||||
+ generate_library_loader("libpci") {
|
||||
+ name = "LibPciLoader"
|
||||
+ output_h = "libpci.h"
|
||||
+ output_cc = "libpci_loader.cc"
|
||||
+ header = "<pci/pci.h>"
|
||||
+
|
||||
+ functions = [
|
||||
+ "pci_alloc",
|
||||
+ "pci_init",
|
||||
+ "pci_cleanup",
|
||||
+ "pci_scan_bus",
|
||||
+ "pci_fill_info",
|
||||
+ "pci_lookup_name",
|
||||
+ ]
|
||||
+ }
|
||||
}
|
27
lang/v8-beta/files/patch-build_linux_unbundle_libusb.gn
Normal file
27
lang/v8-beta/files/patch-build_linux_unbundle_libusb.gn
Normal file
@ -0,0 +1,27 @@
|
||||
--- build/linux/unbundle/libusb.gn.orig 2019-03-17 01:47:13 UTC
|
||||
+++ build/linux/unbundle/libusb.gn
|
||||
@@ -0,0 +1,24 @@
|
||||
+# Copyright 2016 The Chromium Authors. All rights reserved.
|
||||
+# Use of this source code is governed by a BSD-style license that can be
|
||||
+# found in the LICENSE file.
|
||||
+
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
+import("//build/shim_headers.gni")
|
||||
+
|
||||
+pkg_config("system_libusb") {
|
||||
+ packages = [ "libusb-1.0" ]
|
||||
+}
|
||||
+
|
||||
+shim_headers("libusb_shim") {
|
||||
+ root_path = "src/libusb"
|
||||
+ headers = [
|
||||
+ "libusb.h",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+source_set("libusb") {
|
||||
+ deps = [
|
||||
+ ":libusb_shim",
|
||||
+ ]
|
||||
+ public_configs = [ ":system_libusb" ]
|
||||
+}
|
@ -0,0 +1,10 @@
|
||||
--- build/linux/unbundle/replace_gn_files.py.orig 2019-03-11 22:00:52 UTC
|
||||
+++ build/linux/unbundle/replace_gn_files.py
|
||||
@@ -27,6 +27,7 @@ REPLACEMENTS = {
|
||||
'libevent': 'base/third_party/libevent/BUILD.gn',
|
||||
'libjpeg': 'third_party/libjpeg.gni',
|
||||
'libpng': 'third_party/libpng/BUILD.gn',
|
||||
+ 'libusb': 'third_party/libusb/BUILD.gn',
|
||||
'libvpx': 'third_party/libvpx/BUILD.gn',
|
||||
'libwebp': 'third_party/libwebp/BUILD.gn',
|
||||
'libxml': 'third_party/libxml/BUILD.gn',
|
45
lang/v8-beta/files/patch-build_toolchain_gcc__toolchain.gni
Normal file
45
lang/v8-beta/files/patch-build_toolchain_gcc__toolchain.gni
Normal file
@ -0,0 +1,45 @@
|
||||
--- build/toolchain/gcc_toolchain.gni.orig 2021-10-13 07:49:03 UTC
|
||||
+++ build/toolchain/gcc_toolchain.gni
|
||||
@@ -48,6 +48,11 @@ if (enable_resource_allowlist_generation) {
|
||||
"enable_resource_allowlist_generation=true does not work for target_os=$target_os")
|
||||
}
|
||||
|
||||
+declare_args() {
|
||||
+ extra_cxxflags = ""
|
||||
+ extra_ldflags = ""
|
||||
+}
|
||||
+
|
||||
# This template defines a toolchain for something that works like gcc
|
||||
# (including clang).
|
||||
#
|
||||
@@ -673,13 +678,23 @@ template("clang_toolchain") {
|
||||
}
|
||||
|
||||
gcc_toolchain(target_name) {
|
||||
- prefix = rebase_path("$clang_base_path/bin", root_build_dir)
|
||||
- cc = "$prefix/clang"
|
||||
- cxx = "$prefix/clang++"
|
||||
- ld = cxx
|
||||
- readelf = "${toolprefix}readelf"
|
||||
- ar = "${prefix}/llvm-ar"
|
||||
- nm = "${prefix}/llvm-nm"
|
||||
+ if (is_bsd) {
|
||||
+ prefix = "%%LOCALBASE%%/bin"
|
||||
+ cc = "cc"
|
||||
+ cxx = "c++"
|
||||
+ ld = cxx
|
||||
+ readelf = "${toolprefix}readelf"
|
||||
+ ar = "${prefix}/ar"
|
||||
+ nm = "${prefix}/nm"
|
||||
+ } else {
|
||||
+ prefix = rebase_path("$clang_base_path/bin", root_build_dir)
|
||||
+ cc = "$prefix/clang"
|
||||
+ cxx = "$prefix/clang++"
|
||||
+ ld = cxx
|
||||
+ readelf = "${toolprefix}readelf"
|
||||
+ ar = "${prefix}/llvm-ar"
|
||||
+ nm = "${prefix}/llvm-nm"
|
||||
+ }
|
||||
|
||||
forward_variables_from(invoker,
|
||||
[
|
@ -0,0 +1,17 @@
|
||||
--- build/toolchain/get_concurrent_links.py.orig 2021-05-01 21:15:31 UTC
|
||||
+++ build/toolchain/get_concurrent_links.py
|
||||
@@ -53,6 +53,14 @@ def _GetTotalMemoryInBytes():
|
||||
return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']))
|
||||
except Exception:
|
||||
return 0
|
||||
+ elif sys.platform.startswith('freebsd'):
|
||||
+ try:
|
||||
+ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.physmem']))
|
||||
+ # With -fuse-lld it doesn't take a lot of ram, feel free to change that
|
||||
+ # 1 * ... to needed amount
|
||||
+ return max(1, avail_bytes / (1 * (2 ** 30))) # total / 4GB
|
||||
+ except Exception:
|
||||
+ return 1
|
||||
# TODO(scottmg): Implement this for other platforms.
|
||||
return 0
|
||||
|
10
lang/v8-beta/files/patch-build_toolchain_linux_BUILD.gn
Normal file
10
lang/v8-beta/files/patch-build_toolchain_linux_BUILD.gn
Normal file
@ -0,0 +1,10 @@
|
||||
--- build/toolchain/linux/BUILD.gn.orig 2021-05-01 21:15:31 UTC
|
||||
+++ build/toolchain/linux/BUILD.gn
|
||||
@@ -23,7 +23,6 @@ clang_toolchain("clang_arm") {
|
||||
}
|
||||
|
||||
clang_toolchain("clang_arm64") {
|
||||
- toolprefix = "aarch64-linux-gnu-"
|
||||
toolchain_args = {
|
||||
current_cpu = "arm64"
|
||||
current_os = "linux"
|
@ -0,0 +1,10 @@
|
||||
--- buildtools/third_party/libc++/BUILD.gn.orig 2021-09-19 10:01:13 UTC
|
||||
+++ buildtools/third_party/libc++/BUILD.gn
|
||||
@@ -23,6 +23,7 @@ config("config") {
|
||||
cflags += [
|
||||
"-fPIC",
|
||||
"-std=c++17",
|
||||
+ "-I%%LOCALBASE%%/include",
|
||||
]
|
||||
}
|
||||
}
|
21
lang/v8-beta/files/patch-include_v8config.h
Normal file
21
lang/v8-beta/files/patch-include_v8config.h
Normal file
@ -0,0 +1,21 @@
|
||||
--- include/v8config.h.orig 2021-10-06 18:22:58 UTC
|
||||
+++ include/v8config.h
|
||||
@@ -338,7 +338,18 @@ path. Add it with -I<path> to the command line
|
||||
|
||||
# define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard))
|
||||
|
||||
+// Work around Clang bug present in 9.0.1, at least.
|
||||
+//
|
||||
+// Clang stores alignment as a 32-bit unsigned integer, but V8 only uses
|
||||
+// V8_ASSUME_ALIGNED() for a 4GB (2^32) alignment
|
||||
+// (kPtrComprIsolateRootAlignment). As such, the alignment overflows and
|
||||
+// becomes zero, triggering an internal Clang assertion that alignment must not
|
||||
+// be zero.
|
||||
+#if 0
|
||||
# define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
|
||||
+#else
|
||||
+# define V8_HAS_BUILTIN_ASSUME_ALIGNED 0
|
||||
+#endif
|
||||
# define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
|
||||
# define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
|
||||
# define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
|
11
lang/v8-beta/files/patch-src_api_api.cc
Normal file
11
lang/v8-beta/files/patch-src_api_api.cc
Normal file
@ -0,0 +1,11 @@
|
||||
--- src/api/api.cc.orig 2021-10-06 18:22:58 UTC
|
||||
+++ src/api/api.cc
|
||||
@@ -5886,7 +5886,7 @@ bool v8::V8::Initialize(const int build_config) {
|
||||
return true;
|
||||
}
|
||||
|
||||
-#if V8_OS_LINUX || V8_OS_MACOSX
|
||||
+#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_FREEBSD
|
||||
bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info,
|
||||
void* context) {
|
||||
#if V8_ENABLE_WEBASSEMBLY && V8_TRAP_HANDLER_SUPPORTED
|
18
lang/v8-beta/files/patch-src_base_cpu.cc
Normal file
18
lang/v8-beta/files/patch-src_base_cpu.cc
Normal file
@ -0,0 +1,18 @@
|
||||
--- src/base/cpu.cc.orig 2021-10-06 18:22:58 UTC
|
||||
+++ src/base/cpu.cc
|
||||
@@ -568,6 +568,7 @@ CPU::CPU()
|
||||
|
||||
#if V8_OS_LINUX
|
||||
|
||||
+#if V8_OS_LINUX
|
||||
CPUInfo cpu_info;
|
||||
|
||||
// Extract implementor from the "CPU implementer" field.
|
||||
@@ -601,6 +602,7 @@ CPU::CPU()
|
||||
}
|
||||
delete[] part;
|
||||
}
|
||||
+#endif
|
||||
|
||||
// Extract architecture from the "CPU Architecture" field.
|
||||
// The list is well-known, unlike the the output of
|
@ -0,0 +1,13 @@
|
||||
--- src/base/platform/platform-freebsd.cc.orig 2021-04-22 15:00:28 UTC
|
||||
+++ src/base/platform/platform-freebsd.cc
|
||||
@@ -82,8 +82,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
|
||||
lib_name = std::string(path);
|
||||
}
|
||||
result.push_back(SharedLibraryAddress(
|
||||
- lib_name, reinterpret_cast<uintptr_t>(map->kve_start),
|
||||
- reinterpret_cast<uintptr_t>(map->kve_end)));
|
||||
+ lib_name, static_cast<uintptr_t>(map->kve_start),
|
||||
+ static_cast<uintptr_t>(map->kve_end)));
|
||||
}
|
||||
|
||||
start += ssize;
|
24
lang/v8-beta/files/patch-src_base_platform_platform-posix.cc
Normal file
24
lang/v8-beta/files/patch-src_base_platform_platform-posix.cc
Normal file
@ -0,0 +1,24 @@
|
||||
--- src/base/platform/platform-posix.cc.orig 2021-10-06 18:22:58 UTC
|
||||
+++ src/base/platform/platform-posix.cc
|
||||
@@ -493,7 +493,7 @@ bool OS::DiscardSystemPages(void* address, size_t size
|
||||
|
||||
// static
|
||||
bool OS::HasLazyCommits() {
|
||||
-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX
|
||||
+#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD
|
||||
return true;
|
||||
#else
|
||||
// TODO(bbudge) Return true for all POSIX platforms.
|
||||
@@ -626,6 +626,12 @@ int OS::GetCurrentThreadId() {
|
||||
return static_cast<int>(syscall(__NR_gettid));
|
||||
#elif V8_OS_ANDROID
|
||||
return static_cast<int>(gettid());
|
||||
+#elif V8_OS_DRAGONFLYBSD || defined(__DragonFly__)
|
||||
+ return static_cast<int>(lwp_gettid());
|
||||
+#elif V8_OS_FREEBSD
|
||||
+ return static_cast<int>(pthread_getthreadid_np());
|
||||
+#elif V8_OS_NETBSD
|
||||
+ return static_cast<int>(_lwp_self());
|
||||
#elif V8_OS_AIX
|
||||
return static_cast<int>(thread_self());
|
||||
#elif V8_OS_FUCHSIA
|
19
lang/v8-beta/files/patch-src_d8_d8-posix.cc
Normal file
19
lang/v8-beta/files/patch-src_d8_d8-posix.cc
Normal file
@ -0,0 +1,19 @@
|
||||
--- src/d8/d8-posix.cc.orig 2020-06-13 18:02:18 UTC
|
||||
+++ src/d8/d8-posix.cc
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <netinet/in.h>
|
||||
#include <netinet/ip.h>
|
||||
#include <signal.h>
|
||||
#include <stdlib.h>
|
||||
@@ -12,7 +14,6 @@
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/time.h>
|
||||
-#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#include <unistd.h>
|
||||
|
11
lang/v8-beta/files/patch-third__party_zlib_BUILD.gn
Normal file
11
lang/v8-beta/files/patch-third__party_zlib_BUILD.gn
Normal file
@ -0,0 +1,11 @@
|
||||
--- third_party/zlib/BUILD.gn.orig 2020-11-16 14:31:04 UTC
|
||||
+++ third_party/zlib/BUILD.gn
|
||||
@@ -108,6 +108,8 @@ if (use_arm_neon_optimizations) {
|
||||
defines = [ "CRC32_ARMV8_CRC32" ]
|
||||
if (is_android) {
|
||||
defines += [ "ARMV8_OS_ANDROID" ]
|
||||
+ } else if (is_bsd) {
|
||||
+ defines += [ "ARMV8_OS_FREEBSD" ]
|
||||
} else if (is_linux || is_chromeos) {
|
||||
defines += [ "ARMV8_OS_LINUX" ]
|
||||
} else if (is_mac) {
|
48
lang/v8-beta/files/patch-third__party_zlib_cpu__features.c
Normal file
48
lang/v8-beta/files/patch-third__party_zlib_cpu__features.c
Normal file
@ -0,0 +1,48 @@
|
||||
--- third_party/zlib/cpu_features.c.orig 2020-11-16 14:31:04 UTC
|
||||
+++ third_party/zlib/cpu_features.c
|
||||
@@ -31,11 +31,20 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0;
|
||||
|
||||
#ifndef CPU_NO_SIMD
|
||||
|
||||
-#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA)
|
||||
+#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_FREEBSD)
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
|
||||
-#if defined(ARMV8_OS_ANDROID)
|
||||
+#if defined(ARMV8_OS_FREEBSD)
|
||||
+#include <machine/armreg.h>
|
||||
+#include <sys/types.h>
|
||||
+#ifndef ID_AA64ISAR0_AES_VAL
|
||||
+#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES
|
||||
+#endif
|
||||
+#ifndef ID_AA64ISAR0_CRC32_VAL
|
||||
+#define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
|
||||
+#endif
|
||||
+#elif defined(ARMV8_OS_ANDROID)
|
||||
#include <cpu-features.h>
|
||||
#elif defined(ARMV8_OS_LINUX)
|
||||
#include <asm/hwcap.h>
|
||||
@@ -56,7 +65,7 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0;
|
||||
static void _cpu_check_features(void);
|
||||
#endif
|
||||
|
||||
-#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS)
|
||||
+#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS) || defined(ARMV8_OS_FREEBSD)
|
||||
#if !defined(ARMV8_OS_MACOS)
|
||||
// _cpu_check_features() doesn't need to do anything on mac/arm since all
|
||||
// features are known at build time, so don't call it.
|
||||
@@ -123,6 +132,13 @@ static void _cpu_check_features(void)
|
||||
#elif defined(ARMV8_OS_WINDOWS)
|
||||
arm_cpu_enable_crc32 = IsProcessorFeaturePresent(PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE);
|
||||
arm_cpu_enable_pmull = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE);
|
||||
+#elif defined(ARMV8_OS_FREEBSD)
|
||||
+ uint64_t id_aa64isar0;
|
||||
+ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
|
||||
+ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL)
|
||||
+ arm_cpu_enable_pmull = 1;
|
||||
+ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE)
|
||||
+ arm_cpu_enable_crc32 = 1;
|
||||
#endif
|
||||
}
|
||||
#endif
|
11
lang/v8-beta/files/v8.pc.in
Normal file
11
lang/v8-beta/files/v8.pc.in
Normal file
@ -0,0 +1,11 @@
|
||||
prefix=%%PREFIX%%
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: v8
|
||||
Description: V8 JavaScript Engine
|
||||
Version: @VERSION@
|
||||
Requires: icu-uc, icu-i18n, v8_libbase = @VERSION@
|
||||
Libs: -L${libdir} -lv8 -pthread
|
||||
Cflags: -I${includedir}
|
10
lang/v8-beta/files/v8_libbase.pc.in
Normal file
10
lang/v8-beta/files/v8_libbase.pc.in
Normal file
@ -0,0 +1,10 @@
|
||||
prefixr=%%PREFIX%%
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: v8
|
||||
Description: V8 JavaScript Engine - Base library
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lv8_libbase
|
||||
Cflags: -I${includedir}
|
10
lang/v8-beta/files/v8_libplatform.pc.in
Normal file
10
lang/v8-beta/files/v8_libplatform.pc.in
Normal file
@ -0,0 +1,10 @@
|
||||
prefix=%%PREFIX%%
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: v8
|
||||
Description: V8 JavaScript Engine - Platform library
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lv8_libplatform -pthread
|
||||
Cflags: -I${includedir}
|
14
lang/v8-beta/pkg-descr
Normal file
14
lang/v8-beta/pkg-descr
Normal file
@ -0,0 +1,14 @@
|
||||
V8 is Google's open source high-performance JavaScript and WebAssembly engine,
|
||||
written in C++. It is used in Chrome and in Node.js, among others.
|
||||
|
||||
V8 implements ECMAScript and WebAssembly. V8 can run standalone, or can be
|
||||
embedded into any C++ application.
|
||||
|
||||
V8 compiles and executes JavaScript source code, handles memory allocation for
|
||||
objects, and garbage collects objects it no longer needs. V8's stop-the-world,
|
||||
generational, accurate garbage collector is one of the keys to V8's performance.
|
||||
|
||||
V8's Git repository is located at https://chromium.googlesource.com/v8/v8.git,
|
||||
with an official mirror on GitHub: https://github.com/v8/v8.
|
||||
|
||||
WWW: https://v8.dev/
|
112
lang/v8-beta/pkg-plist
Normal file
112
lang/v8-beta/pkg-plist
Normal file
@ -0,0 +1,112 @@
|
||||
bin/d8
|
||||
bin/mkgrokdump
|
||||
bin/mksnapshot
|
||||
include/cppgc/allocation.h
|
||||
include/cppgc/common.h
|
||||
include/cppgc/cross-thread-persistent.h
|
||||
include/cppgc/custom-space.h
|
||||
include/cppgc/default-platform.h
|
||||
include/cppgc/ephemeron-pair.h
|
||||
include/cppgc/explicit-management.h
|
||||
include/cppgc/garbage-collected.h
|
||||
include/cppgc/heap-consistency.h
|
||||
include/cppgc/heap-state.h
|
||||
include/cppgc/heap-statistics.h
|
||||
include/cppgc/heap.h
|
||||
include/cppgc/internal/api-constants.h
|
||||
include/cppgc/internal/atomic-entry-flag.h
|
||||
include/cppgc/internal/caged-heap-local-data.h
|
||||
include/cppgc/internal/compiler-specific.h
|
||||
include/cppgc/internal/finalizer-trait.h
|
||||
include/cppgc/internal/gc-info.h
|
||||
include/cppgc/internal/logging.h
|
||||
include/cppgc/internal/name-trait.h
|
||||
include/cppgc/internal/persistent-node.h
|
||||
include/cppgc/internal/pointer-policies.h
|
||||
include/cppgc/internal/prefinalizer-handler.h
|
||||
include/cppgc/internal/write-barrier.h
|
||||
include/cppgc/liveness-broker.h
|
||||
include/cppgc/macros.h
|
||||
include/cppgc/member.h
|
||||
include/cppgc/name-provider.h
|
||||
include/cppgc/object-size-trait.h
|
||||
include/cppgc/persistent.h
|
||||
include/cppgc/platform.h
|
||||
include/cppgc/prefinalizer.h
|
||||
include/cppgc/process-heap-statistics.h
|
||||
include/cppgc/sentinel-pointer.h
|
||||
include/cppgc/source-location.h
|
||||
include/cppgc/testing.h
|
||||
include/cppgc/trace-trait.h
|
||||
include/cppgc/type-traits.h
|
||||
include/cppgc/visitor.h
|
||||
include/libplatform/libplatform-export.h
|
||||
include/libplatform/libplatform.h
|
||||
include/libplatform/v8-tracing.h
|
||||
include/v8-array-buffer.h
|
||||
include/v8-callbacks.h
|
||||
include/v8-container.h
|
||||
include/v8-context.h
|
||||
include/v8-cppgc.h
|
||||
include/v8-data.h
|
||||
include/v8-date.h
|
||||
include/v8-debug.h
|
||||
include/v8-embedder-heap.h
|
||||
include/v8-exception.h
|
||||
include/v8-extension.h
|
||||
include/v8-external.h
|
||||
include/v8-fast-api-calls.h
|
||||
include/v8-forward.h
|
||||
include/v8-function-callback.h
|
||||
include/v8-function.h
|
||||
include/v8-initialization.h
|
||||
include/v8-inspector-protocol.h
|
||||
include/v8-inspector.h
|
||||
include/v8-internal.h
|
||||
include/v8-isolate.h
|
||||
include/v8-json.h
|
||||
include/v8-local-handle.h
|
||||
include/v8-locker.h
|
||||
include/v8-maybe.h
|
||||
include/v8-memory-span.h
|
||||
include/v8-message.h
|
||||
include/v8-metrics.h
|
||||
include/v8-microtask-queue.h
|
||||
include/v8-microtask.h
|
||||
include/v8-object.h
|
||||
include/v8-persistent-handle.h
|
||||
include/v8-platform.h
|
||||
include/v8-primitive-object.h
|
||||
include/v8-primitive.h
|
||||
include/v8-profiler.h
|
||||
include/v8-promise.h
|
||||
include/v8-proxy.h
|
||||
include/v8-regexp.h
|
||||
include/v8-script.h
|
||||
include/v8-snapshot.h
|
||||
include/v8-statistics.h
|
||||
include/v8-template.h
|
||||
include/v8-traced-handle.h
|
||||
include/v8-typed-array.h
|
||||
include/v8-unwinder-state.h
|
||||
include/v8-unwinder.h
|
||||
include/v8-util.h
|
||||
include/v8-value-serializer-version.h
|
||||
include/v8-value-serializer.h
|
||||
include/v8-value.h
|
||||
include/v8-version-string.h
|
||||
include/v8-version.h
|
||||
include/v8-wasm-trap-handler-posix.h
|
||||
include/v8-wasm-trap-handler-win.h
|
||||
include/v8-wasm.h
|
||||
include/v8-weak-callback-info.h
|
||||
include/v8.h
|
||||
include/v8config.h
|
||||
lib/libchrome_zlib.so
|
||||
lib/libcppgc.so
|
||||
lib/libv8.so
|
||||
lib/libv8_libbase.so
|
||||
lib/libv8_libplatform.so
|
||||
libdata/pkgconfig/v8.pc
|
||||
libdata/pkgconfig/v8_libbase.pc
|
||||
libdata/pkgconfig/v8_libplatform.pc
|
Loading…
x
Reference in New Issue
Block a user