mozjs: Move back to recipes-extended - no meta-python specifics required

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Andreas Müller
2021-11-01 12:49:06 +01:00
committed by Khem Raj
parent fb8242f59a
commit e764ca5214
9 changed files with 0 additions and 0 deletions
@@ -1,29 +0,0 @@
From 9e37248870b2b955293754933c789ca00bca06ef Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Fri, 1 Oct 2021 13:00:24 +0200
Subject: [PATCH] Cargo.toml: do not abort on panic
OE's rust is configured to unwind, and this setting clashes with it/
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
Cargo.toml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -51,13 +51,11 @@ opt-level = 1
rpath = false
lto = false
debug-assertions = true
-panic = "abort"
[profile.release]
opt-level = 2
rpath = false
debug-assertions = false
-panic = "abort"
# Optimize build dependencies, because bindgen and proc macros / style
# compilation take more to run than to build otherwise.
@@ -1,28 +0,0 @@
From e5b95b3918588e2930c9af7ba304c57e871b2d55 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Thu, 7 Oct 2021 12:44:18 +0200
Subject: [PATCH] build: do not use autoconf's config.sub to 'canonicalize'
names
The outcome is that processed names no longer match our custom rust
target definitions, and the build fails.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
build/moz.configure/init.configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index 3a164c6558..99dfc9054a 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -823,7 +823,7 @@ def help_host_target(help, host, target):
def config_sub(shell, triplet):
config_sub = os.path.join(os.path.dirname(__file__), "..", "autoconf", "config.sub")
- return check_cmd_output(shell, config_sub, triplet).strip()
+ return triplet
@depends("--host", shell)
@@ -1,43 +0,0 @@
From 0133ddb86eb6e0741e02b0032c41468db6438530 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Fri, 1 Oct 2021 13:01:10 +0200
Subject: [PATCH] moz.configure: do not look for llvm-objdump
This avoid dragging in a dependency that isn't even needed
for js builds.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
moz.configure | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/moz.configure b/moz.configure
index fc66b520d0..15de9a2ee0 100755
--- a/moz.configure
+++ b/moz.configure
@@ -994,15 +994,15 @@ def llvm_objdump(host_c_compiler, c_compiler, bindgen_config_paths):
return (llvm_objdump,)
-llvm_objdump = check_prog(
- "LLVM_OBJDUMP",
- llvm_objdump,
- what="llvm-objdump",
- when="--enable-compile-environment",
- paths=clang_search_path,
-)
-
-add_old_configure_assignment("LLVM_OBJDUMP", llvm_objdump)
+#llvm_objdump = check_prog(
+# "LLVM_OBJDUMP",
+# llvm_objdump,
+# what="llvm-objdump",
+# when="--enable-compile-environment",
+# paths=clang_search_path,
+#)
+
+#add_old_configure_assignment("LLVM_OBJDUMP", llvm_objdump)
option("--enable-dtrace", help="Build with dtrace support")
@@ -1,65 +0,0 @@
From 749ba11fd6a69c8180945d4866415d16ae06a9c0 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Fri, 1 Oct 2021 13:02:17 +0200
Subject: [PATCH] rust.configure: do not try to find a suitable upstream target
OE is using custom targets and so this is bound to fail.
Upstream-Status: Inapppropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
build/moz.configure/rust.configure | 34 ++----------------------------
1 file changed, 2 insertions(+), 32 deletions(-)
diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
index cd77d72bb7..4b6481cbe3 100644
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -459,33 +459,7 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
def rust_host_triple(
rustc, host, compiler_info, rustc_host, rust_supported_targets, arm_target
):
- rustc_target = detect_rustc_target(
- host, compiler_info, arm_target, rust_supported_targets
- )
- if rustc_target != rustc_host:
- if host.alias == rustc_target:
- configure_host = host.alias
- else:
- configure_host = "{}/{}".format(host.alias, rustc_target)
- die(
- dedent(
- """\
- The rust compiler host ({rustc}) is not suitable for the configure host ({configure}).
-
- You can solve this by:
- * Set your configure host to match the rust compiler host by editing your
- mozconfig and adding "ac_add_options --host={rustc}".
- * Or, install the rust toolchain for {configure}, if supported, by running
- "rustup default stable-{rustc_target}"
- """.format(
- rustc=rustc_host,
- configure=configure_host,
- rustc_target=rustc_target,
- )
- )
- )
- assert_rust_compile(host, rustc_target, rustc)
- return rustc_target
+ return rustc_host
@depends(
@@ -495,11 +469,7 @@ def rust_host_triple(
def rust_target_triple(
rustc, target, compiler_info, rust_supported_targets, arm_target
):
- rustc_target = detect_rustc_target(
- target, compiler_info, arm_target, rust_supported_targets
- )
- assert_rust_compile(target, rustc_target, rustc)
- return rustc_target
+ return target.alias
set_config("RUST_TARGET", rust_target_triple)
@@ -1,35 +0,0 @@
From 65acc8800dba7e10da882871d4648241805c47ce Mon Sep 17 00:00:00 2001
From: Andre McCurdy <amccurdy@gmail.com>
Date: Sat, 30 Apr 2016 15:29:06 -0700
Subject: [PATCH] use <asm/sgidefs.h>
Build fix for MIPS with musl libc
The MIPS specific header <sgidefs.h> is provided by glibc and uclibc
but not by musl. Regardless of the libc, the kernel headers provide
<asm/sgidefs.h> which provides the same definitions, so use that
instead.
Upstream-Status: Pending
[Vincent:
Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070]
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
gdb/mips-linux-nat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/mfbt/RandomNum.cpp
+++ b/mfbt/RandomNum.cpp
@@ -52,7 +52,7 @@ extern "C" BOOLEAN NTAPI RtlGenRandom(PV
# elif defined(__s390__)
# define GETRANDOM_NR 349
# elif defined(__mips__)
-# include <sgidefs.h>
+# include <asm/sgidefs.h>
# if _MIPS_SIM == _MIPS_SIM_ABI32
# define GETRANDOM_NR 4353
# elif _MIPS_SIM == _MIPS_SIM_ABI64
@@ -1,15 +0,0 @@
Upstream: No
Reason: mozjs60 miscompiles on musl if built with HAVE_THREAD_TLS_KEYWORD:
https://github.com/void-linux/void-packages/issues/2598
--- a/js/src/old-configure.in
+++ b/js/src/old-configure.in
@@ -1072,6 +1072,9 @@ if test "$ac_cv_thread_keyword" = yes; t
*-android*|*-linuxandroid*)
:
;;
+ *-musl*)
+ :
+ ;;
*)
AC_DEFINE(HAVE_THREAD_TLS_KEYWORD)
;;
@@ -1,21 +0,0 @@
Fix build when JIT is disabled on 32bit systems
This fixes a compile time assert
js/src/wasm/WasmFrame.cpp:57:3: error: static_assert failed due to requirement '(__builtin_offsetof(js::wasm::DebugFrame, frame_) + sizeof(js::wasm::Frame)) % Alignment == 0' "Aligned after pushing DebugFrame"
static_assert((offsetof(DebugFrame, frame_) + sizeof(Frame)) % Alignment == 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/js/src/wasm/WasmFrame.h
+++ b/js/src/wasm/WasmFrame.h
@@ -230,6 +230,8 @@ class DebugFrame {
// Avoid -Wunused-private-field warnings.
protected:
#if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM) || \
+ (defined(JS_CODEGEN_NONE) && \
+ (defined(__riscv) && __riscv_xlen == 32) || defined(__mips__)) || \
defined(JS_CODEGEN_X86) || defined(__wasi__)
// See alignmentStaticAsserts(). For MIPS32, ARM32 and X86 DebugFrame is only
// 4-byte aligned, so we add another word to get up to 8-byte
@@ -1,45 +0,0 @@
Add RISCV32 support
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -765,6 +765,9 @@ def split_triplet(triplet, allow_msvc=Fa
elif cpu.startswith("aarch64"):
canonical_cpu = "aarch64"
endianness = "little"
+ elif cpu in ("riscv32", "riscv32gc"):
+ canonical_cpu = "riscv32"
+ endianness = "little"
elif cpu in ("riscv64", "riscv64gc"):
canonical_cpu = "riscv64"
endianness = "little"
--- a/python/mozbuild/mozbuild/configure/constants.py
+++ b/python/mozbuild/mozbuild/configure/constants.py
@@ -52,6 +52,7 @@ CPU_bitness = {
"mips64": 64,
"ppc": 32,
"ppc64": 64,
+ 'riscv32': 32,
"riscv64": 64,
"s390": 32,
"s390x": 64,
@@ -94,6 +95,7 @@ CPU_preprocessor_checks = OrderedDict(
("m68k", "__m68k__"),
("mips64", "__mips64"),
("mips32", "__mips__"),
+ ("riscv32", "__riscv && __riscv_xlen == 32"),
("riscv64", "__riscv && __riscv_xlen == 64"),
("sh4", "__sh__"),
("wasm32", "__wasm32__"),
--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
@@ -1186,6 +1186,7 @@ class LinuxCrossCompileToolchainTest(Bas
"m68k-unknown-linux-gnu": big_endian + {"__m68k__": 1},
"mips64-unknown-linux-gnuabi64": big_endian + {"__mips64": 1, "__mips__": 1},
"mips-unknown-linux-gnu": big_endian + {"__mips__": 1},
+ "riscv32-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 32},
"riscv64-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 64},
"sh4-unknown-linux-gnu": little_endian + {"__sh__": 1},
}
@@ -1,71 +0,0 @@
SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf"
SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \
file://0001-Cargo.toml-do-not-abort-on-panic.patch \
file://0002-moz.configure-do-not-look-for-llvm-objdump.patch \
file://0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch \
file://0004-use-asm-sgidefs.h.patch \
file://fix-musl-build.patch \
file://0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \
file://riscv32.patch \
file://nojit-32bit-arch-fix.patch \
"
SRC_URI[sha256sum] = "3ef3cfd321d0c2c80ee1b41b8baf7a1ea4daf93c29e1377274933440ff5e42c3"
S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}"
inherit pkgconfig perlnative python3native rust
DEPENDS += "zlib cargo-native python3"
B = "${WORKDIR}/build"
export PYTHONPATH = "${S}/build:${S}/third_party/python/PyYAML/lib3:${S}/testing/mozbase/mozfile:${S}/python/mozboot:${S}/third_party/python/distro:${S}/testing/mozbase/mozinfo:${S}/config:${S}/testing/mozbase/manifestparser:${S}/third_party/python/pytoml:${S}/testing/mozbase/mozprocess:${S}/third_party/python/six:${S}/python/mozbuild:${S}/python/mozbuild/mozbuild:${S}/python/mach:${S}/third_party/python/jsmin:${S}/python/mozversioncontrol"
export HOST_CC = "${BUILD_CC}"
export HOST_CXX = "${BUILD_CXX}"
export HOST_CFLAGS = "${BUILD_CFLAGS}"
export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}"
export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}"
export AS = "${CC}"
export RUSTFLAGS
JIT ?= ""
JIT:mipsarch = "--disable-jit"
do_configure() {
cd ${B}
python3 ${S}/configure.py \
--enable-project=js \
--target=${HOST_SYS} \
--host=${BUILD_SYS} \
--prefix=${prefix} \
--libdir=${libdir} \
--disable-jemalloc \
${JIT}
}
do_install() {
oe_runmake 'DESTDIR=${D}' install
}
inherit multilib_script multilib_header
MULTILIB_SCRIPTS += " ${PN}-dev:${bindir}/js91-config"
do_install:append() {
oe_multilib_header mozjs-91/js-config.h
sed -e 's@${STAGING_DIR_HOST}@@g' \
-i ${D}${bindir}/js91-config
}
PACKAGES =+ "lib${BPN}-staticdev lib${BPN}"
FILES:lib${BPN}-staticdev += "${libdir}/libjs_static.ajs"
FILES:lib${BPN} += "${libdir}/lib*"