diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-extended/mozjs')
12 files changed, 497 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-Cargo.toml-do-not-abort-on-panic.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-Cargo.toml-do-not-abort-on-panic.patch new file mode 100644 index 0000000000..e09848f403 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-Cargo.toml-do-not-abort-on-panic.patch @@ -0,0 +1,29 @@ +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. diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch new file mode 100644 index 0000000000..a2ccf6b916 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch @@ -0,0 +1,28 @@ +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) diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-rewrite-cargo-host-linker-in-python3.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-rewrite-cargo-host-linker-in-python3.patch new file mode 100644 index 0000000000..7b938179c3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-rewrite-cargo-host-linker-in-python3.patch @@ -0,0 +1,56 @@ +From 9eceb43dd676afe2f675bd65ab369ba4d14f6537 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Thu, 18 Nov 2021 07:16:39 +0000 +Subject: [PATCH] Rewrite cargo-host-linker in python3 + +Mozjs compile failed with this failure: +/bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /build/tmp-glibc/work/corei7-64-wrs-linux/mozjs/91.1.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) + +Root Cause: +cargo-host-linker has /bin/sh as it's interpreter, but cargo run the cmd +with LD_LIBRARY_PATH set to recipe-sysroot-native. The host /bin/sh links +libtinfo.so.5 under recipe-sysroot-native, which needs higher libc. But +host libc is older libc. So the incompatible problem occurred. + +Solution: +rewrite cargo-host-linker in python3 + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + build/cargo-host-linker | 24 +++++++--- + 1 file changed, 21 insertions(+), 3 deletions(-) + +diff --git a/build/cargo-host-linker b/build/cargo-host-linker +index cbd0472bf7..ccd8bffec1 100755 +--- a/build/cargo-host-linker ++++ b/build/cargo-host-linker +@@ -1,3 +1,21 @@ +-#!/bin/sh +-# See comment in cargo-linker. +-eval ${MOZ_CARGO_WRAP_HOST_LD} ${MOZ_CARGO_WRAP_HOST_LDFLAGS} '"$@"' ++#!/usr/bin/env python3 ++ ++import os,sys ++ ++if os.environ['MOZ_CARGO_WRAP_HOST_LD'].strip(): ++ binary=os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0] ++else: ++ sys.exit(0) ++ ++if os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS'].strip(): ++ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]: ++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:] ++ else: ++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:] ++else: ++ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]: ++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + sys.argv[1:] ++ else: ++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + sys.argv[1:] ++ ++os.execvp(binary, args) +-- +2.33.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-util.configure-fix-one-occasionally-reproduced-confi.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-util.configure-fix-one-occasionally-reproduced-confi.patch new file mode 100644 index 0000000000..5472eddbbb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0001-util.configure-fix-one-occasionally-reproduced-confi.patch @@ -0,0 +1,50 @@ +From b13cad4abc53f816f64c8b0af70cb46820746c72 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Thu, 11 Nov 2021 16:05:54 +0800 +Subject: [PATCH] util.configure: fix one occasionally reproduced configure + failure + +error: +| checking whether the C++ compiler supports -Wno-range-loop-analysis... +| DEBUG: Creating /tmp/conftest.jr1qrcw3.cpp with content: +| DEBUG: | int +| DEBUG: | main(void) +| DEBUG: | { +| DEBUG: | +| DEBUG: | ; +| DEBUG: | return 0; +| DEBUG: | } +| DEBUG: Executing: aarch64-wrs-linux-g++ -mcpu=cortex-a53 -march=armv8-a+crc -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mozjs/91.1.0-r0/recipe-sysroot /tmp/conftest.jr1qrcw3.cpp -Werror -Wrange-loop-analysis -c +| DEBUG: The command returned non-zero exit status 1. +| DEBUG: Its error output was: +... +| File "/mozjs/91.1.0-r0/firefox-91.1.0/build/moz.configure/util.configure", line 239, in try_invoke_compiler +| os.remove(path) +| FileNotFoundError: [Errno 2] No such file or directory: '/tmp/conftest.jr1qrcw3.cpp' + +It should be another process that deleted this file by using +"rm -rf conftest*" inappropriately + +Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1740667] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + build/moz.configure/util.configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/moz.configure/util.configure b/build/moz.configure/util.configure +index 8f35e89c73..84e256647d 100644 +--- a/build/moz.configure/util.configure ++++ b/build/moz.configure/util.configure +@@ -222,7 +222,7 @@ def try_invoke_compiler(compiler, language, source, flags=None, onerror=None): + "C++": ".cpp", + }[language] + +- fd, path = mkstemp(prefix="conftest.", suffix=suffix, text=True) ++ fd, path = mkstemp(prefix="try_invoke_compiler_conftest.", suffix=suffix, text=True) + try: + source = source.encode("ascii", "replace") + +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0002-moz.configure-do-not-look-for-llvm-objdump.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0002-moz.configure-do-not-look-for-llvm-objdump.patch new file mode 100644 index 0000000000..6ff83e3bb2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0002-moz.configure-do-not-look-for-llvm-objdump.patch @@ -0,0 +1,43 @@ +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") diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch new file mode 100644 index 0000000000..c440bf178f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch @@ -0,0 +1,65 @@ +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) diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0004-use-asm-sgidefs.h.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0004-use-asm-sgidefs.h.patch new file mode 100644 index 0000000000..b56f0b95b5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0004-use-asm-sgidefs.h.patch @@ -0,0 +1,35 @@ +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 diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch new file mode 100644 index 0000000000..f308b4863f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch @@ -0,0 +1,21 @@ +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 diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch new file mode 100644 index 0000000000..80bf746e40 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch @@ -0,0 +1,36 @@ +From 0e0548e3f95e22a39db8d5b934afe0672a3f801b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Mon, 1 Nov 2021 08:13:29 +0100 +Subject: [PATCH] Fix build on powerpc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Another fix for (this time JIT enabled) +| <...>/irefox-91.2.0/js/src/wasm/WasmFrame.cpp:57:76: error: static assertion failed: Aligned after pushing DebugFrame +| 57 | static_assert((offsetof(DebugFrame, frame_) + sizeof(Frame)) % Alignment == 0, +| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + js/src/wasm/WasmFrame.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/js/src/wasm/WasmFrame.h b/js/src/wasm/WasmFrame.h +index 893762e..2d90656 100644 +--- a/js/src/wasm/WasmFrame.h ++++ b/js/src/wasm/WasmFrame.h +@@ -232,7 +232,7 @@ class DebugFrame { + #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__) ++ defined(JS_CODEGEN_X86) || defined(__wasi__) || defined(__powerpc__) + // See alignmentStaticAsserts(). For MIPS32, ARM32 and X86 DebugFrame is only + // 4-byte aligned, so we add another word to get up to 8-byte + // alignment. +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/fix-musl-build.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/fix-musl-build.patch new file mode 100644 index 0000000000..c0834af589 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/fix-musl-build.patch @@ -0,0 +1,15 @@ +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) + ;; diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/riscv32.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/riscv32.patch new file mode 100644 index 0000000000..fe9c332a00 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/riscv32.patch @@ -0,0 +1,45 @@ +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}, + } diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.4.0.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.4.0.bb new file mode 100644 index 0000000000..dd02ed94cb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.4.0.bb @@ -0,0 +1,74 @@ +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://0005-nojit-32bit-arch-fix.patch \ + file://0006-Fix-build-on-powerpc.patch \ + file://0001-util.configure-fix-one-occasionally-reproduced-confi.patch \ + file://0001-rewrite-cargo-host-linker-in-python3.patch \ + " +SRC_URI[sha256sum] = "e722829db490f9332712a81c35996541737bbfb05232d47190fee779c4fcb327" + +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 + rm -f ${D}${libdir}/libjs_static.ajs +} + +PACKAGES =+ "lib${BPN}" +FILES:lib${BPN} += "${libdir}/lib*" |