Commit Graph

73 Commits

Author SHA1 Message Date
Yi Zhao
4386b15a49 meta-oe: fix Upstream-Status format
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-24 08:45:44 -08:00
Kai Kang
e552f5da35 mozjs: fix compile error for arm
Backport patch from firefox bugzilla to fix compile error for qemuarm
with some armv7ve tunes such as 'armv7vethf' and 'armv7vet-vfpv3d16':

| /path/to/build/tmp/work/armv7vet2hf-vfp-poky-linux-gnueabi/mozjs-102/102.5.0-r0/build/js/src/jit/AtomicOperationsGenerated.h:240:17:
  error: 'asm' operand has impossible constraints
|  240 |                 asm volatile (
|      |                 ^~~

Ref:
* https://bugzilla.mozilla.org/show_bug.cgi?id=1761665

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-13 09:46:05 -08:00
Khem Raj
82c7bdd4cb mozjs-102: Disable mozilla stackwalk on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-31 10:40:31 -08:00
Markus Volk
533db85b55 mozjs: update 98 -> 102
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-11-28 11:32:26 -08:00
Alexander Kanavin
49f76d5b0f mozjs-91: backport a python 3.11 compatibility patch
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-09-14 11:25:11 -07:00
Alexander Kanavin
ba2d152465 mozjs-91: update to 91.13.0
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-09-14 11:25:11 -07:00
Khem Raj
a8e33c9701 mozjs: Use RUST_HOST_SYS and RUST_TARGET_SYS
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-08 23:44:33 -07:00
Khem Raj
78180b6c21 mozjs: Use vendored icu on ppc/clang
This helps compile gjs, external icu is needed with gcc-12 but not with
clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-25 10:44:14 -07:00
Khem Raj
a4e7ad4568 mozjs-91: Add option to use system ICU
ARM needs to use system icu, otherwise build fails with gcc-12

firefox-91.8.0/intl/icu/source/common/stringtriebuilder.cpp:388: more undefined references to `std::type_info::operator==(std::type_info const&) const' follow
| collect2: error: ld returned 1 exit status

Keep using vendored ICU on mips since this breaks build for gjs
introspection code which is run under qemu-user

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-21 07:14:38 -07:00
Khem Raj
cc8efa1fe9 mozjs-91: Disable strip
OE build takes care of this during packaging anyway

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-21 07:14:38 -07:00
Khem Raj
317d740796 mozjs-91: Upgrade to 91.8.0
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-20 10:58:01 -07:00
Wang Mingyu
7e71e78be0 mozjs: upgrade 91.2.0 -> 91.4.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-13 21:20:01 -08:00
Changqing Li
b7b303fa69 mozjs-91/mozjs-78: fix compile failure on centos7
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

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-19 08:31:14 -08:00
Changqing Li
8f28d845b1 mozjs-91: fix do_configure failure
do_configure fails occasionally with following error:
| File "/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'

change the temp file's prefix to avoid it is deleted by others

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-13 01:17:26 -08:00
Andreas Müller
642965b331 mozjs-91: Fix build on powerpc
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-03 06:57:48 -07:00
Andreas Müller
e69e7088d7 mozjs-91: remove static library
* it is a huge chunk of 1.2GB
* it is not used
* it conflicts with other versions of mozjs since there is no version in name

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-03 06:57:48 -07:00
Andreas Müller
022253283d Rename mozjs -> mozjs-91 to allow multiple versions of mozjs
* We need mozjs-78 for latest stable gjs
* Other distros/packagers do same

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-03 06:57:48 -07:00
Andreas Müller
e764ca5214 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>
2021-11-03 06:57:48 -07:00
Changqing Li
d178745cbf 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>
2020-03-11 08:58:57 -07:00
Andreas Müller
89b9507d89 mozjs: Fix python3 build with gold
Fixes [1]

[1] http://errors.yoctoproject.org/Errors/Details/390559/

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-02-11 16:46:31 -08:00
Andreas Müller
23eb06562d mozjs: port build to python3
While at it:

* cleanup our patches
* remove useless sed in do_configure

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-02-02 08:08:09 -08:00
Martin Jansa
21899d1f3a mozjs: search nspr header files in ${STAGING_INCDIR}/nspr directory
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-27 20:04:56 -08:00
Khem Raj
e4a2593a21 recipes: Replace using BBPATH with BBFILE_COLLECTIONS for meta-python2 check
BBPATH check actually does not work

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-22 19:21:39 -08:00
Khem Raj
8c0c7f0a37 recipes: Turn inherit classes from meta-py2 to conditional constructs
helps parsing without meta-py2 in mix

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-22 14:20:35 -08:00
Andreas Müller
a804b0c1bb mozjs: upgrade 60.5.2 -> 60.9.0 and rework
* build with firefox-esr sources to simplyfy upgrade path
* cleanup: Should make python2-> python3 transition easier

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-22 09:56:34 -08:00
Khem Raj
12b6f0c7d8 mozjs: extend --with-intl-api=build to ppc
This fixes mozjs crash, in launching js in qemu during gjs build

    Fixes
    |
    | (process:606857): Gjs-ERROR **: 02:02:06.039: Could not initialize Javascript

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-16 12:02:10 -08:00
Khem Raj
72600f0a4f mozjs: extend --with-intl-api=build to all mips
This fixes mozjs crash, in launching js in qemu during gjs build

Fixes
|
| (process:606857): Gjs-ERROR **: 02:02:06.039: Could not initialize Javascript

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andreas Müller <schnitzeltony@gmail.com>
2019-12-13 18:29:14 -08:00
Denys Dmytriyenko
4c00e5fed9 recipes: rename distro_features_check to features_check
Avoid warning due to the class rename in OE-Core.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-11-21 17:51:37 -08:00
Slater, Joseph
e368f7e2c7 mozjs: do not expose intl api for mips64
Add --with-intl-api=build to configure options.  Otherwise,
JS_Init() will fail.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-08 10:01:45 -07:00
Kai Kang
73550ce6a8 mozjs: fix configure failure on CentOS 7.6
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.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-07-10 09:28:20 -07:00
Mingli Yu
fce37fcfa2 mozjs: Fix do_patch error for mips64-n32
After mozjs upgrade to 60.5.2 in below commit:
9ca3aad9c mozjs: Upgrade to version 60.x

With below logic in local.conf:
MACHINE ??= "qemumips64"
MULTILIB_GLOBAL_VARIANTS_append = " libn32"
MULTILIBS ?= "multilib:lib32 multilib:libn32"
DEFAULTTUNE_virtclass-multilib-lib32 ?= "mips"
DEFAULTTUNE_virtclass-multilib-libn32 ?= "mips64-n32"
require conf/multilib.conf

$ bitbake libn32-mozjs -cpatch
| NOTE: Applying patch '0001-fix-compiling-failure-on-mips64-n32-bsp.patch' (../layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch)
| ERROR: Command Error: 'quilt --quiltrc TOPDIR/tmp/work/mips64-n32-wrsmllibn32-linux-gnun32/libn32-mozjs/60.5.2-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0  Output:
| Applying patch 0001-fix-compiling-failure-on-mips64-n32-bsp.patch
| patching file build/moz.configure/init.configure
| patching file js/src/jit/mips-shared/Architecture-mips-shared.h
| Hunk #1 succeeded at 28 with fuzz 2 (offset 2 lines).
| Hunk #2 FAILED at 95.
| 1 out of 2 hunks FAILED -- rejects in file js/src/jit/mips-shared/Architecture-mips-shared.h
| patching file python/mozbuild/mozbuild/configure/constants.py
| Patch 0001-fix-compiling-failure-on-mips64-n32-bsp.patch does not apply (enforce with -f)

Rework 0001-fix-compiling-failure-on-mips64-n32-bsp.patch
to fix the above do_patch error.

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-06-19 06:06:47 -07:00
Khem Raj
9ca3aad9cf mozjs: Upgrade to version 60.x
Disable JIT (ion) on all mips

It fails to compile in first place, even if we fix the compilation
next it assert failures and runtime test failures, its best to disable
it for mips for now

Fix build on riscv

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-05-29 02:26:16 -07:00
leimaohui
7b503471b0 mozjs: Make mozjs support arm32BE.
Fixed a build error on arm32BE.

Upstream-Status: Pending

Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-05-10 09:19:21 -07:00
Khem Raj
d06ded1803 mozjs: Fix cross-builds of nsinstall
nsinstall must be built for host, so we need to define HOST_* compiler
defines so, it gets built using native compiler correctly

Disable stripping, OE will do it

Disable optimizing, set BUILD_OPT

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-26 10:16:24 -08:00
Khem Raj
c4432a5f62 mozjs: Fix symbol visibility with clang/libc++
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-01-30 13:34:49 -08:00
Khem Raj
e1db44b73f mozjs: Remove -Werror=format from CXXFLAGS
This is to make way for gcc9 since it spews some extra warnings
which need to be eventually fixed

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-23 13:29:20 -08:00
Otavio Salvador
cce5af60b1 mozjs: Avoid use of X11 from host when X11 is disabled
The mozjs build system makes use of host headers and libraries if not
passed an invalid path for `--x-includes` and `--x-libraries`. This
fixes host contamination while building in a development host.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-28 21:48:21 -08:00
Hong Liu
3709fa6124 mozjs: upgrade to 52.9.1
Upgrade mozjs from 52.8.1 to 52.9.1

Signed-off-by: Hong Liu <hongl.fnst@cn.fujitsu.com>

	renamed:    mozjs_52.8.1.bb -> mozjs_52.9.1.bb

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-25 22:24:15 -07:00
Ricardo Salveti
b833067233 mozjs: disable null pointer optimization with GCC >= 6
Mozjs fails to start on several architectures due broken build
optimizations when built with GCC >= 6.

Set -fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks
to both CFLAGS and CXXFLAGS as workaround (flags also used by Firefox
and Fedora).

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-19 16:09:28 -07:00
Hongxu Jia
eedd084d3b mozjs: tweak location of tmp dir creation
The tmp dir creation is out of build dir which has
the risk to be broken by others.
...
|   File "build/tmp-glibc/work/i586-wrs-linux/mozjs/52.8.1-r0/
mozjs-52.8.1/build/moz.configure/util.configure", line 190,
in try_invoke_compiler
|     os.remove(path)
| OSError: [Errno 2] No such file or directory: '/tmp/conftest.OiV37V.cpp'
...

Set var-TMP for tempfile.mktemp to use current build dir to
replace default `/tmp'.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-03 09:34:29 -07:00
Changqing Li
6d8982b61e mozjs: fix coredump caused by wrong use of getenv
getenv need include header stdlib.h, or an assumed int
return for getenv to char * pointer will tripping up
the code

Signed-off-by: Changqing Li <changqing.li@windriver.com>
2018-08-02 11:23:03 -07:00
Ricardo Salveti
2585bc07ee mozjs: add support for RISC-V
Based on pending patch that was already submitted at
https://bugzilla.mozilla.org/show_bug.cgi?id=1318905.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-02 11:23:03 -07:00
Ricardo Salveti
70f1e5f668 mozjs: disable MOZ_GLUE_IN_PROGRAM in standalone builds
Otherwise anyone consuming mozjs will fail to start with a segmentation
fault (e.g. polkitd).

Patch also used by Fedora and Debian.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-27 07:19:15 -07:00
Hongxu Jia
0aff7abedc mozjs: add support for mips64-n32
- Tweak configure for mips64-n32

- Disable gold linker which not supported by mips64-n32

- Since n32 and n64 use the same registers, add n32 to
  n64's register definition.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-20 16:14:22 -07:00
Hongxu Jia
50e8ed5fd4 mozjs: 17.0.0 -> 52.8.1
- Refactor recipe 52.8.1
  0001 ~ 0006

- Rebase patches to 52.8.1;
  0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
  0010-fix-cross-compilation-on-i586-targets.patch'

- Drop 0001-regenerate-configure.patch and everything works well

- Drop Manually_mmap_heap_memory_esr17.patch which is backported

- Drop obsolete patches
  0001-compare-the-first-character-of-string-to-be-null-or-.patch
  0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch
  0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch
  0004-mozbug746112-no-decommit-on-large-pages.patch
  0005-aarch64-64k-page.patch
  fix_milestone_compile_issue.patch
  fix-the-compile-error-of-powerpc64.patch
  Update-Double-Conversion.patch and Update-the-double-conversion-update-script.patch

- Set DISABLE_STATIC = "" to build without option `--disable-static'

- Set musl patch (0006-support-musl.patch) with musl override.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-16 18:42:40 -07:00
Alistair Francis
f097a2d7d6 mozjs: Update Double-Conversion inside mozjs
Update the Double-Conversion source inside mozjs to add support for more
architectures.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-06-20 21:43:55 -07:00
Andreas Müller
2363cb3a6a mozjs: refresh patch Manually_mmap_heap_memory_esr17.patch
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-04-08 17:00:06 -07:00
Huang Qiyu
a6a27107b3 mozjs: Add HOMEPAGE info into recipe file.
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-09-18 10:18:11 +02:00
Mingli Yu
ff017c9bed mozjs: customize HOST_CFLAGS
Customize HOST_CFLAGS, HOST_CXXFLAGS and HOST_LDFLAGS
to fix do_configure error as previously use the common
CFLAGS and CXXFLAGS in both cross-compile env and host env,
and the option -fstack-protector-strong which not
recognized in host env can result in do_configure
error as below.

| checking whether the host c compiler (gcc -O2 -pipe -g -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now) works... configure: error: installation or configuration problem: host compiler gcc cannot create executables.

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-08-28 11:06:03 +02:00
Andre McCurdy
a0b2e6f4fc mozjs: prevent target CFLAGS etc being passed to the host
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-04-26 20:14:16 +02:00