mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-15 16:07:26 +00:00
conf/layer.conf: add BBFILES_DYNAMIC and dynamic layers
some recipes under meta-oe have dependency on meta-python, and test_world of yocto-check-layer will failed with error like: ERROR: test_world (common.CommonCheckLayer) ERROR: Nothing PROVIDES 'python3-pytoml-native' (but /meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.9.0.bb DEPENDS on or otherwise requires it). Close matches: python3-numpy-native python3-pycairo-native python3-rpm-native ERROR: Required build target 'meta-world-pkgdata' has no buildable providers. Missing or unbuildable dependency chain was: ['meta-world-pkgdata', 'mozjs', 'python3-pytoml-native'] fix by make these recipes only active when identified layers are present Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+6897
File diff suppressed because it is too large
Load Diff
+33
@@ -0,0 +1,33 @@
|
||||
From 0a61b0b98c152f10404ccbdeeac583a486638a7a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Thu, 6 Jun 2013 18:36:01 +0200
|
||||
Subject: [PATCH] js.pc.in: do not include RequiredDefines.h for depending
|
||||
packages
|
||||
|
||||
in our cross environment the would fail with:
|
||||
|
||||
| cc1: fatal error: /usr/include/js-17.0/js/RequiredDefines.h: No such file or directory
|
||||
|
||||
and currently it only defines __STDC_LIMIT_MACROS
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
|
||||
Rebase to 52.8.1
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
js/src/build/js.pc.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/src/build/js.pc.in b/js/src/build/js.pc.in
|
||||
index 2eae393..c2dea62 100644
|
||||
--- a/js/src/build/js.pc.in
|
||||
+++ b/js/src/build/js.pc.in
|
||||
@@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript
|
||||
Version: @MOZILLA_VERSION@
|
||||
@PKGCONF_REQUIRES_PRIVATE@
|
||||
Libs: -L${libdir} -l@JS_LIBRARY_NAME@
|
||||
-Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -I${includedir}/@JS_LIBRARY_NAME@
|
||||
+Cflags: -I${includedir}/@JS_LIBRARY_NAME@
|
||||
--
|
||||
2.7.4
|
||||
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17 00:00:00 2001
|
||||
From: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
|
||||
Date: Tue, 5 Jan 2016 22:04:17 +0100
|
||||
Subject: [PATCH] fix cross compilation on i586 targets
|
||||
|
||||
Remove offending -Wl,-rpath-link that may cause host libraries to be picked
|
||||
during linking. The patch applies a fix to configure.in. So as not to
|
||||
regenerate configure, similar fix is applied there.
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
|
||||
|
||||
Rebase to 52.8.1
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
|
||||
Rebase to 60.9.0 (firefox-esr sources)
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
js/src/old-configure.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/src/old-configure.in b/js/src/old-configure.in
|
||||
index 3d53ee1..11c3d5a 100644
|
||||
--- a/js/src/old-configure.in
|
||||
+++ b/js/src/old-configure.in
|
||||
@@ -405,7 +405,7 @@ AS='$(CC)'
|
||||
AS_DASH_C_FLAG='-c'
|
||||
MOZ_USER_DIR=".mozilla"
|
||||
|
||||
-MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
|
||||
+MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin"
|
||||
|
||||
dnl Configure platform-specific CPU architecture compiler options.
|
||||
dnl ==============================================================
|
||||
--
|
||||
2.21.0
|
||||
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
From 5028d1cd669c179ed49061316d04c8e8862a5bd8 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Thu, 12 Jul 2018 15:04:47 +0800
|
||||
Subject: [PATCH 1/5] do not create python environment
|
||||
|
||||
Use oe's python environment rather than create one of host
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
|
||||
Rebase to 60.9.0 (firefox-esr sources)
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
build/moz.configure/init.configure | 18 ------------------
|
||||
configure.py | 10 +++++++++-
|
||||
3 files changed, 11 insertions(+), 21 deletions(-)
|
||||
|
||||
--- a/build/moz.configure/init.configure
|
||||
+++ b/build/moz.configure/init.configure
|
||||
@@ -250,24 +250,6 @@ def virtualenv_python(env_python, build_
|
||||
else:
|
||||
python = sys.executable
|
||||
|
||||
- if not manager.up_to_date(python):
|
||||
- log.info('Creating Python environment')
|
||||
- manager.build(python)
|
||||
-
|
||||
- python = normsep(manager.python_path)
|
||||
-
|
||||
- if python != normsep(sys.executable):
|
||||
- log.info('Reexecuting in the virtualenv')
|
||||
- if env_python:
|
||||
- del os.environ['PYTHON']
|
||||
- # One would prefer to use os.execl, but that's completely borked on
|
||||
- # Windows.
|
||||
- sys.exit(subprocess.call([python] + sys.argv))
|
||||
-
|
||||
- # We are now in the virtualenv
|
||||
- if not distutils.sysconfig.get_python_lib():
|
||||
- die('Could not determine python site packages directory')
|
||||
-
|
||||
return python
|
||||
|
||||
|
||||
--- a/configure.py
|
||||
+++ b/configure.py
|
||||
@@ -12,7 +12,15 @@ import textwrap
|
||||
|
||||
|
||||
base_dir = os.path.abspath(os.path.dirname(__file__))
|
||||
-sys.path.insert(0, os.path.join(base_dir, 'python', 'mozbuild'))
|
||||
+sys.path.insert(0, os.path.join(base_dir, 'config'))
|
||||
+def get_immediate_subdirectories(a_dir):
|
||||
+ return [name for name in os.listdir(a_dir)
|
||||
+ if os.path.isdir(os.path.join(a_dir, name))]
|
||||
+for s in ["python", "testing/mozbase"]:
|
||||
+ sub_dir = os.path.join(base_dir, s)
|
||||
+ for module_dir in get_immediate_subdirectories(sub_dir):
|
||||
+ sys.path.insert(0, os.path.join(sub_dir, module_dir))
|
||||
+
|
||||
from mozbuild.configure import ConfigureSandbox
|
||||
from mozbuild.makeutil import Makefile
|
||||
from mozbuild.pythonutil import iter_modules_in_path
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
From e6dcee5f8a0f80ce99946b81fa1233611a149fe6 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Thu, 12 Jul 2018 18:00:52 +0800
|
||||
Subject: [PATCH 2/5] fix cannot find link
|
||||
|
||||
..
|
||||
|DEBUG: link: Trying 'mips64-wrs-linux-ld --sysroot=tmp-glibc/work/
|
||||
mips64-wrs-linux/mozjs/52.8.1-r0/recipe-sysroot '
|
||||
|ERROR: Cannot find link
|
||||
...
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
build/moz.configure/checks.configure | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build/moz.configure/checks.configure b/build/moz.configure/checks.configure
|
||||
index 8c2dbc0..83bffc3 100644
|
||||
--- a/build/moz.configure/checks.configure
|
||||
+++ b/build/moz.configure/checks.configure
|
||||
@@ -128,7 +128,7 @@ def check_prog(var, progs, what=None, input=None, allow_missing=False,
|
||||
|
||||
for prog in value or progs:
|
||||
log.debug('%s: Trying %s', var.lower(), quote(prog))
|
||||
- result = find_program(prog, paths)
|
||||
+ result = find_program(prog.split()[0], paths)
|
||||
if result:
|
||||
return result
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
From 646a78262b18e19721cd41ee515215221dd241b6 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Thu, 12 Jul 2018 18:12:42 +0800
|
||||
Subject: [PATCH 3/5] workaround autoconf 2.13 detection failed
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
build/moz.configure/old.configure | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
|
||||
index b32c3f7..ece47f4 100644
|
||||
--- a/build/moz.configure/old.configure
|
||||
+++ b/build/moz.configure/old.configure
|
||||
@@ -31,7 +31,7 @@ def autoconf(mozconfig, autoconf):
|
||||
autoconf = autoconf[0] if autoconf else None
|
||||
|
||||
for ac in (mozconfig_autoconf, autoconf, 'autoconf-2.13', 'autoconf2.13',
|
||||
- 'autoconf213'):
|
||||
+ 'autoconf213', 'autoconf'):
|
||||
if ac:
|
||||
autoconf = find_program(ac)
|
||||
if autoconf:
|
||||
--
|
||||
2.7.4
|
||||
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
From 55d833dc3c194f1eb7841f308ad3b9ec3800d3b3 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Fri, 13 Jul 2018 15:48:32 +0800
|
||||
Subject: [PATCH 5/5] fix do_compile failed on mips
|
||||
|
||||
Link with var-OS_LDFLAGS to fix the issue.
|
||||
Such as on mips:
|
||||
...
|
||||
|mips-wrsmllib32-linux-g++ -meb -mabi=32 -mhard-float ... -o libmozjs-52.so
|
||||
|/usr/include/c++/8.1.0/bits/atomic_base.h:514: error: undefined
|
||||
reference to '__atomic_fetch_add_8'
|
||||
...
|
||||
|
||||
In recipe, set OS_LDFLAGS="-Wl,-latomic" could fix the issue.
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
config/config.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/config/config.mk
|
||||
+++ b/config/config.mk
|
||||
@@ -423,7 +423,7 @@ EXPAND_MKSHLIB_ARGS = --uselist
|
||||
ifdef SYMBOL_ORDER
|
||||
EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
|
||||
endif
|
||||
-EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB)
|
||||
+EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB) $(OS_LDFLAGS)
|
||||
|
||||
# autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
|
||||
# this file
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
Add RISC-V support
|
||||
|
||||
Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1318905]
|
||||
|
||||
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
|
||||
|
||||
--- a/build/autoconf/config.guess
|
||||
+++ b/build/autoconf/config.guess
|
||||
@@ -1029,6 +1029,9 @@ EOF
|
||||
ppcle:Linux:*:*)
|
||||
echo powerpcle-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
+ exit ;;
|
||||
s390:Linux:*:* | s390x:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
|
||||
exit ;;
|
||||
--- a/build/moz.configure/init.configure
|
||||
+++ b/build/moz.configure/init.configure
|
||||
@@ -658,6 +658,9 @@ def split_triplet(triplet, allow_unknown
|
||||
elif cpu == 'sh4':
|
||||
canonical_cpu = 'sh4'
|
||||
endianness = 'little'
|
||||
+ elif cpu in ('riscv32', 'riscv64'):
|
||||
+ canonical_cpu = cpu
|
||||
+ endianness = 'little'
|
||||
elif allow_unknown:
|
||||
canonical_cpu = cpu
|
||||
endianness = 'unknown'
|
||||
--- a/python/mozbuild/mozbuild/configure/constants.py
|
||||
+++ b/python/mozbuild/mozbuild/configure/constants.py
|
||||
@@ -50,6 +50,8 @@ CPU_bitness = {
|
||||
'mips64': 64,
|
||||
'ppc': 32,
|
||||
'ppc64': 64,
|
||||
+ 'riscv32': 32,
|
||||
+ 'riscv64': 64,
|
||||
's390': 32,
|
||||
's390x': 64,
|
||||
'sh4': 32,
|
||||
@@ -82,6 +84,8 @@ CPU_preprocessor_checks = OrderedDict((
|
||||
('s390', '__s390__'),
|
||||
('ppc64', '__powerpc64__'),
|
||||
('ppc', '__powerpc__'),
|
||||
+ ('riscv32', '__riscv && __SIZEOF_POINTER__ == 4'),
|
||||
+ ('riscv64', '__riscv && __SIZEOF_POINTER__ == 8'),
|
||||
('Alpha', '__alpha__'),
|
||||
('hppa', '__hppa__'),
|
||||
('sparc64', '__sparc__ && __arch64__'),
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
From 20b639b7364f9953fdacb058f9ba800bcbf029b4 Mon Sep 17 00:00:00 2001
|
||||
From: Changqing Li <changqing.li@windriver.com>
|
||||
Date: Thu, 2 Aug 2018 09:40:48 +0800
|
||||
Subject: [PATCH] mozjs: fix coredump caused by getenv
|
||||
|
||||
Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1480315]
|
||||
|
||||
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
||||
---
|
||||
mozglue/misc/TimeStamp.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/mozglue/misc/TimeStamp.cpp b/mozglue/misc/TimeStamp.cpp
|
||||
index 932b75c..7a4d71b 100644
|
||||
--- a/mozglue/misc/TimeStamp.cpp
|
||||
+++ b/mozglue/misc/TimeStamp.cpp
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
Drop enable format string warnings to help gcc9
|
||||
|
||||
Fixes
|
||||
| /mnt/a/yoe/build/tmp/work/core2-64-yoe-linux-musl/mozjs/52.9.1-r0/mozjs-52.9.1/js/src/jit/x64/BaseAssembler-x64.h:596:13: error: '%s' directive argument is null [-Werror=format-overflow=]
|
||||
| 596 | spew("movq " MEM_obs ", %s", ADDR_obs(offset, base, index, scale), GPReg64Name(dst));
|
||||
| | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Upstream-Status: Inappropriate [Workaround for gcc9]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
--- a/js/src/moz.build
|
||||
+++ b/js/src/moz.build
|
||||
@@ -785,7 +785,7 @@ if CONFIG['JS_HAS_CTYPES']:
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
# Also disable strict-aliasing for GCC compiler, that is enabled by default
|
||||
# starting with version 7.1, see Bug 1363009
|
||||
- CXXFLAGS += ['-Wno-shadow', '-Werror=format', '-fno-strict-aliasing']
|
||||
+ CXXFLAGS += ['-Wno-shadow', '-fno-strict-aliasing']
|
||||
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
From 9afb0e4d3b9209ea198052cea0401bef7ee25ad8 Mon Sep 17 00:00:00 2001
|
||||
From: Lei Maohui <leimaohui@cn.fujitsu.com>
|
||||
Date: Thu, 9 May 2019 12:23:40 +0900
|
||||
Subject: [PATCH] To fix build error on arm32BE.
|
||||
|
||||
error: #error Target architecture was not detected as supported by Double-Conversion.
|
||||
|
||||
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
|
||||
---
|
||||
mfbt/double-conversion/double-conversion/utils.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/mfbt/double-conversion/double-conversion/utils.h b/mfbt/double-conversion/double-conversion/utils.h
|
||||
index 4f37218..93575cb 100644
|
||||
--- a/mfbt/double-conversion/double-conversion/utils.h
|
||||
+++ b/mfbt/double-conversion/double-conversion/utils.h
|
||||
@@ -53,7 +53,7 @@
|
||||
// disabled.)
|
||||
// On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
|
||||
#if defined(_M_X64) || defined(__x86_64__) || \
|
||||
- defined(__ARMEL__) || defined(__avr32__) || \
|
||||
+ defined(__arm__) || defined(__avr32__) || \
|
||||
defined(__hppa__) || defined(__ia64__) || \
|
||||
defined(__mips__) || \
|
||||
defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
|
||||
--
|
||||
2.7.4
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
|
||||
|
||||
Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
--- a/js/public/TypeDecls.h
|
||||
+++ b/js/public/TypeDecls.h
|
||||
@@ -21,31 +21,32 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#include "js-config.h"
|
||||
+#include "jstypes.h"
|
||||
|
||||
typedef uint8_t jsbytecode;
|
||||
|
||||
-class JSAtom;
|
||||
-struct JSCompartment;
|
||||
-struct JSContext;
|
||||
-class JSFunction;
|
||||
-class JSObject;
|
||||
-struct JSRuntime;
|
||||
-class JSScript;
|
||||
-class JSString;
|
||||
-class JSAddonId;
|
||||
-struct JSFreeOp;
|
||||
+class JS_PUBLIC_API JSAtom;
|
||||
+struct JS_PUBLIC_API JSCompartment;
|
||||
+struct JS_PUBLIC_API JSContext;
|
||||
+class JS_PUBLIC_API JSFunction;
|
||||
+class JS_PUBLIC_API JSObject;
|
||||
+struct JS_PUBLIC_API JSRuntime;
|
||||
+class JS_PUBLIC_API JSScript;
|
||||
+class JS_PUBLIC_API JSString;
|
||||
+class JS_PUBLIC_API JSAddonId;
|
||||
+struct JS_PUBLIC_API JSFreeOp;
|
||||
|
||||
-struct jsid;
|
||||
+struct JS_PUBLIC_API jsid;
|
||||
|
||||
namespace JS {
|
||||
|
||||
typedef unsigned char Latin1Char;
|
||||
|
||||
-class Symbol;
|
||||
-class Value;
|
||||
-class Realm;
|
||||
-struct Runtime;
|
||||
-struct Zone;
|
||||
+class JS_PUBLIC_API Symbol;
|
||||
+class JS_PUBLIC_API Value;
|
||||
+class JS_PUBLIC_API Realm;
|
||||
+struct JS_PUBLIC_API Runtime;
|
||||
+struct JS_PUBLIC_API Zone;
|
||||
|
||||
template <typename T>
|
||||
class Handle;
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
From 64ad80e6d95871f17be4cd01da15581f41ac0b2b Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 27 May 2019 21:10:34 -0700
|
||||
Subject: [PATCH] riscv: Disable atomic operations
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
js/src/jit/AtomicOperations.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
--- a/js/src/jit/AtomicOperations.h
|
||||
+++ b/js/src/jit/AtomicOperations.h
|
||||
@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfree
|
||||
#include "jit/none/AtomicOperations-feeling-lucky.h"
|
||||
#elif defined(__s390__) || defined(__s390x__)
|
||||
#include "jit/none/AtomicOperations-feeling-lucky.h"
|
||||
+#elif defined(__riscv)
|
||||
+#include "jit/none/AtomicOperations-feeling-lucky.h"
|
||||
#else
|
||||
#error "No AtomicOperations support provided for this platform"
|
||||
#endif
|
||||
--- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
|
||||
+++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
|
||||
@@ -80,6 +80,14 @@
|
||||
#define GNUC_COMPATIBLE
|
||||
#endif
|
||||
|
||||
+#ifdef __riscv
|
||||
+#define GNUC_COMPATIBLE
|
||||
+#ifdef __riscv_xlen == 64
|
||||
+#define HAS_64BIT_ATOMICS
|
||||
+#define HAS_64BIT_LOCKFREE
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
// The default implementation tactic for gcc/clang is to use the newer
|
||||
// __atomic intrinsics added for use in C++11 <atomic>. Where that
|
||||
// isn't available, we use GCC's older __sync functions instead.
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
Option '-std=gnu++14' has been supported from gcc 4.9. But on some build hosts
|
||||
such as CentOS 7.6 which only has gcc 4.8.5 and fails to configure:
|
||||
|
||||
| checking whether the host C compiler can be used... no
|
||||
| ERROR: Only GCC 4.9 or newer is supported (found version 4.8.5).
|
||||
|
||||
Fallback to 2011 C++ standard and lower required gcc version to 4.8.0 which is
|
||||
the same as in previous version 52.9.1 of mozjs.
|
||||
|
||||
Upstream-Status: Inappropriate [Workaround]
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
---
|
||||
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
|
||||
index 9c772a8..fc640c7 100755
|
||||
--- a/build/moz.configure/toolchain.configure
|
||||
+++ b/build/moz.configure/toolchain.configure
|
||||
@@ -502,10 +502,8 @@ def check_compiler(compiler, language, target):
|
||||
append_flag('-std=c++14')
|
||||
# GCC 4.9 indicates that it implements draft C++14 features
|
||||
# instead of the full language.
|
||||
- elif info.type == 'gcc' and \
|
||||
- info.language_version not in (draft_cxx14_version,
|
||||
- cxx14_version):
|
||||
- append_flag('-std=gnu++14')
|
||||
+ elif info.type == 'gcc' and info.language_version != 201103:
|
||||
+ append_flag('-std=gnu++11')
|
||||
|
||||
# We force clang-cl to emulate Visual C++ 2017 version 15.4
|
||||
if info.type == 'clang-cl' and info.version != '19.11.25547':
|
||||
@@ -903,9 +901,9 @@ def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
|
||||
# Check the compiler version here instead of in `compiler_version` so
|
||||
# that the `checking` message doesn't pretend the compiler can be used
|
||||
# to then bail out one line later.
|
||||
- if info.type == 'gcc' and info.version < '4.9.0':
|
||||
+ if info.type == 'gcc' and info.version < '4.8.0':
|
||||
raise FatalCheckError(
|
||||
- 'Only GCC 4.9 or newer is supported (found version %s).'
|
||||
+ 'Only GCC 4.8 or newer is supported (found version %s).'
|
||||
% info.version)
|
||||
|
||||
if info.type == 'gcc' and host_or_target.os == 'Android':
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
From f2f8be496c8e34b4d909b688a95c6f8565201081 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Wed, 19 Jun 2019 14:30:44 +0800
|
||||
Subject: [PATCH] fix compiling failure on mips64-n32 bsp
|
||||
|
||||
- Tweak mips64-n32 with mips32
|
||||
|
||||
- The toolchain of mips64-n32 supports both of macro
|
||||
`__mips64' and `__mips__', but 32bit is required here.
|
||||
|
||||
- N32 uses 64-bit registers but restricts addresses to 32 bits.
|
||||
https://www.linux-mips.org/pub/linux/mips/doc/ABI/MIPS-N32-ABI-Handbook.pdf
|
||||
Table 2-1 specifies the use of registers in n32 and native 64-bit mode.
|
||||
From the table, N32 and N64 have the same registers
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
|
||||
---
|
||||
build/moz.configure/init.configure | 5 ++++-
|
||||
js/src/jit/mips-shared/Architecture-mips-shared.h | 4 +++-
|
||||
python/mozbuild/mozbuild/configure/constants.py | 2 +-
|
||||
3 files changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
|
||||
index 648ac2d..d0bcaf8 100644
|
||||
--- a/build/moz.configure/init.configure
|
||||
+++ b/build/moz.configure/init.configure
|
||||
@@ -650,7 +650,10 @@ def split_triplet(triplet, allow_unknown=False):
|
||||
canonical_cpu = 'mips32'
|
||||
endianness = 'little' if 'el' in cpu else 'big'
|
||||
elif cpu in ('mips64', 'mips64el'):
|
||||
- canonical_cpu = 'mips64'
|
||||
+ if 'n32' in triplet:
|
||||
+ canonical_cpu = 'mips32'
|
||||
+ else:
|
||||
+ canonical_cpu = 'mips64'
|
||||
endianness = 'little' if 'el' in cpu else 'big'
|
||||
elif cpu.startswith('aarch64'):
|
||||
canonical_cpu = 'aarch64'
|
||||
diff --git a/js/src/jit/mips-shared/Architecture-mips-shared.h b/js/src/jit/mips-shared/Architecture-mips-shared.h
|
||||
index e95ffd4..caf83f7 100644
|
||||
--- a/js/src/jit/mips-shared/Architecture-mips-shared.h
|
||||
+++ b/js/src/jit/mips-shared/Architecture-mips-shared.h
|
||||
@@ -28,6 +28,8 @@
|
||||
#elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABI64)) || \
|
||||
defined(JS_SIMULATOR_MIPS64)
|
||||
#define USES_N64_ABI
|
||||
+#elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABIN32))
|
||||
+#define USES_N32_ABI
|
||||
#else
|
||||
#error "Unsupported ABI"
|
||||
#endif
|
||||
@@ -94,7 +96,7 @@ class Registers {
|
||||
ta1 = t5,
|
||||
ta2 = t6,
|
||||
ta3 = t7,
|
||||
-#elif defined(USES_N64_ABI)
|
||||
+#elif defined(USES_N64_ABI) || defined(USES_N32_ABI)
|
||||
a4 = r8,
|
||||
a5 = r9,
|
||||
a6 = r10,
|
||||
diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
|
||||
index 1067b6a..e0f0405 100644
|
||||
--- a/python/mozbuild/mozbuild/configure/constants.py
|
||||
+++ b/python/mozbuild/mozbuild/configure/constants.py
|
||||
@@ -90,8 +90,8 @@ CPU_preprocessor_checks = OrderedDict((
|
||||
('hppa', '__hppa__'),
|
||||
('sparc64', '__sparc__ && __arch64__'),
|
||||
('sparc', '__sparc__'),
|
||||
- ('mips64', '__mips64'),
|
||||
('mips32', '__mips__'),
|
||||
+ ('mips64', '__mips64'),
|
||||
('sh4', '__sh__'),
|
||||
))
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
From 04e8a611e958f0da1ccac61acae3a6f1a5168b20 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Fri, 13 Jul 2018 18:08:14 +0800
|
||||
Subject: [PATCH] support musl
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
mozglue/misc/TimeStamp_darwin.cpp | 1 -
|
||||
mozglue/misc/TimeStamp_posix.cpp | 1 -
|
||||
nsprpub/pr/src/misc/prsystem.c | 1 -
|
||||
python/psutil/psutil/_psutil_bsd.c | 1 -
|
||||
python/psutil/psutil/_psutil_osx.c | 1 -
|
||||
python/psutil/psutil/arch/bsd/process_info.c | 1 -
|
||||
python/psutil/psutil/arch/osx/process_info.c | 1 -
|
||||
9 files changed, 3 insertions(+), 12 deletions(-)
|
||||
|
||||
--- a/mozglue/misc/TimeStamp_darwin.cpp
|
||||
+++ b/mozglue/misc/TimeStamp_darwin.cpp
|
||||
@@ -19,7 +19,6 @@
|
||||
|
||||
#include <mach/mach_time.h>
|
||||
#include <sys/time.h>
|
||||
-#include <sys/sysctl.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
--- a/mozglue/misc/TimeStamp_posix.cpp
|
||||
+++ b/mozglue/misc/TimeStamp_posix.cpp
|
||||
@@ -21,7 +21,6 @@
|
||||
#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
|
||||
defined(__OpenBSD__)
|
||||
#include <sys/param.h>
|
||||
-#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
#if defined(__DragonFly__) || defined(__FreeBSD__)
|
||||
--- a/nsprpub/pr/src/misc/prsystem.c
|
||||
+++ b/nsprpub/pr/src/misc/prsystem.c
|
||||
@@ -27,7 +27,6 @@
|
||||
|| defined(OPENBSD) || defined(DRAGONFLY) || defined(DARWIN)
|
||||
#define _PR_HAVE_SYSCTL
|
||||
#include <sys/param.h>
|
||||
-#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
#if defined(DARWIN)
|
||||
--- a/third_party/python/psutil/psutil/_psutil_bsd.c
|
||||
+++ b/third_party/python/psutil/psutil/_psutil_bsd.c
|
||||
@@ -29,7 +29,6 @@
|
||||
#include <paths.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
-#include <sys/sysctl.h>
|
||||
#include <sys/user.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/file.h>
|
||||
--- a/third_party/python/psutil/psutil/_psutil_osx.c
|
||||
+++ b/third_party/python/psutil/psutil/_psutil_osx.c
|
||||
@@ -13,7 +13,6 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <utmpx.h>
|
||||
-#include <sys/sysctl.h>
|
||||
#include <sys/vmmeter.h>
|
||||
#include <libproc.h>
|
||||
#include <sys/proc_info.h>
|
||||
--- a/third_party/python/psutil/psutil/arch/osx/process_info.c
|
||||
+++ b/third_party/python/psutil/psutil/arch/osx/process_info.c
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
-#include <sys/sysctl.h>
|
||||
#include <libproc.h>
|
||||
|
||||
#include "process_info.h"
|
||||
--- a/memory/build/Mutex.h
|
||||
+++ b/memory/build/Mutex.h
|
||||
@@ -42,7 +42,7 @@ struct Mutex {
|
||||
if (pthread_mutexattr_init(&attr) != 0) {
|
||||
return false;
|
||||
}
|
||||
- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
|
||||
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
|
||||
if (pthread_mutex_init(&mMutex, &attr) != 0) {
|
||||
pthread_mutexattr_destroy(&attr);
|
||||
return false;
|
||||
@@ -102,7 +102,7 @@ typedef Mutex StaticMutex;
|
||||
|
||||
#if defined(XP_DARWIN)
|
||||
#define STATIC_MUTEX_INIT OS_SPINLOCK_INIT
|
||||
-#elif defined(XP_LINUX) && !defined(ANDROID)
|
||||
+#elif defined(XP_LINUX) && !defined(ANDROID) && defined(__GLIBC__)
|
||||
#define STATIC_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
|
||||
#else
|
||||
#define STATIC_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
From 0c9e8f586ba52a9aef5ed298e8315b2598b8fb72 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 25 May 2019 16:54:45 -0700
|
||||
Subject: [PATCH] js: Fix build with musl
|
||||
|
||||
The MIPS specific header <sgidefs.h> is not provided by musl
|
||||
linux kernel headers provide <asm/sgidefs.h> which has same definitions
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
js/src/jsmath.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/src/jsmath.cpp b/js/src/jsmath.cpp
|
||||
index a28968be..8facaa81 100644
|
||||
--- a/js/src/jsmath.cpp
|
||||
+++ b/js/src/jsmath.cpp
|
||||
@@ -71,7 +71,7 @@
|
||||
#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
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
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-Port-build-to-python3.patch \
|
||||
file://0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
|
||||
file://0003-fix-cross-compilation-on-i586-targets.patch \
|
||||
file://0004-do-not-create-python-environment.patch \
|
||||
file://0005-fix-cannot-find-link.patch \
|
||||
file://0006-workaround-autoconf-2.13-detection-failed.patch \
|
||||
file://0007-fix-do_compile-failed-on-mips.patch \
|
||||
file://0008-add-riscv-support.patch \
|
||||
file://0009-mozjs-fix-coredump-caused-by-getenv.patch \
|
||||
file://0010-format-overflow.patch \
|
||||
file://0011-To-fix-build-error-on-arm32BE.patch \
|
||||
file://0012-JS_PUBLIC_API.patch \
|
||||
file://0013-riscv-Disable-atomic-operations.patch \
|
||||
file://0014-fallback-to-2011-C++-standard.patch \
|
||||
"
|
||||
SRC_URI_append_libc-musl = " \
|
||||
file://musl/0001-support-musl.patch \
|
||||
file://musl/0002-js-Fix-build-with-musl.patch \
|
||||
"
|
||||
SRC_URI_append_mipsarchn32 = " \
|
||||
file://mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "69a0be9ce695e5dc4941ed0c78ef00c2"
|
||||
SRC_URI[sha256sum] = "9f453c8cc5669e46e38f977764d49a36295bf0d023619d9aac782e6bb3e8c53f"
|
||||
|
||||
S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}"
|
||||
|
||||
inherit autotools pkgconfig perlnative python3native
|
||||
|
||||
inherit features_check
|
||||
CONFLICT_DISTRO_FEATURES_mipsarchn32 = "ld-is-gold"
|
||||
|
||||
DEPENDS += " \
|
||||
nspr zlib autoconf-2.13-native \
|
||||
python3-six-native python3-pytoml-native \
|
||||
python3-jsmin-native python3-six \
|
||||
"
|
||||
|
||||
# Disable null pointer optimization in gcc >= 6
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1328045
|
||||
CFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
|
||||
CXXFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
|
||||
|
||||
# nspr's package-config is ignored so set libs manually
|
||||
EXTRA_OECONF = " \
|
||||
--target=${TARGET_SYS} \
|
||||
--host=${BUILD_SYS} \
|
||||
--prefix=${prefix} \
|
||||
--libdir=${libdir} \
|
||||
--disable-tests --disable-strip --disable-optimize \
|
||||
--disable-jemalloc \
|
||||
--with-nspr-cflags='-I${STAGING_INCDIR}/nspr -I${STAGING_INCDIR}/nss3' \
|
||||
--with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \
|
||||
"
|
||||
|
||||
# Without this, JS_Init() will fail for mips64.
|
||||
EXTRA_OECONF_append_mipsarch = " --with-intl-api=build"
|
||||
EXTRA_OECONF_append_powerpc = " --with-intl-api=build"
|
||||
|
||||
EXTRA_OECONF_append_mipsarch = " --disable-ion"
|
||||
EXTRA_OECONF_append_riscv64 = " --disable-ion"
|
||||
EXTRA_OECONF_append_riscv32 = " --disable-ion"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
|
||||
PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--x-includes=no --x-libraries=no,virtual/libx11"
|
||||
|
||||
EXTRA_OEMAKE_task-compile += "BUILD_OPT=1 OS_LDFLAGS='-Wl,-latomic ${LDFLAGS}'"
|
||||
EXTRA_OEMAKE_task-install += "STATIC_LIBRARY_NAME=js_static"
|
||||
|
||||
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}"
|
||||
|
||||
do_configure() {
|
||||
export SHELL="/bin/sh"
|
||||
cd ${S}
|
||||
# Add mozjs python-modules necessary
|
||||
PYTHONPATH="${S}/third_party/python/which:${S}/config:${S}/build"
|
||||
for sub_dir in python testing/mozbase; do
|
||||
for module_dir in `ls $sub_dir -1`;do
|
||||
[ $module_dir = "virtualenv" ] && continue
|
||||
if [ -d "${S}/$sub_dir/$module_dir" ];then
|
||||
PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
|
||||
fi
|
||||
done
|
||||
done
|
||||
echo "$PYTHONPATH" > ${B}/PYTHONPATH
|
||||
export PYTHONPATH=`cat ${B}/PYTHONPATH`
|
||||
|
||||
cd ${S}/js/src
|
||||
autoconf213 --macrodir=${STAGING_DATADIR_NATIVE}/autoconf213 old-configure.in > old-configure
|
||||
|
||||
cd ${B}
|
||||
${S}/js/src/configure ${EXTRA_OECONF}
|
||||
|
||||
# Make standard Makefile checks pass
|
||||
touch ${S}/js/src/configure
|
||||
touch ${B}/config.status
|
||||
}
|
||||
|
||||
do_compile_prepend() {
|
||||
export SHELL="/bin/sh"
|
||||
export PYTHONPATH=`cat ${B}/PYTHONPATH`
|
||||
}
|
||||
|
||||
do_install_prepend() {
|
||||
export SHELL="/bin/sh"
|
||||
export PYTHONPATH=`cat ${B}/PYTHONPATH`
|
||||
}
|
||||
|
||||
PACKAGES =+ "lib${BPN}"
|
||||
FILES_lib${BPN} += "${libdir}/lib*.so"
|
||||
FILES_${PN}-dev += "${bindir}/js60-config"
|
||||
|
||||
# Fails to build with thumb-1 (qemuarm)
|
||||
#| {standard input}: Assembler messages:
|
||||
#| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20'
|
||||
#| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)'
|
||||
#| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)'
|
||||
#| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300'
|
||||
#| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52'
|
||||
ARM_INSTRUCTION_SET_armv5 = "arm"
|
||||
ARM_INSTRUCTION_SET_armv4 = "arm"
|
||||
|
||||
DISABLE_STATIC = ""
|
||||
Reference in New Issue
Block a user