mirror of
https://github.com/thead-yocto-mirror/meta-openembedded
synced 2026-09-17 04:31:56 +02:00
When building mozjs the following error was observed | Traceback (most recent call last): | File "./config.status", line 9, in <module> | from ConfigStatus import config_status | File "/build/bitbake_build/tmp/work/corei7-64-wrs-linux/mozjs/17.0.0-r0/mozjs17.0.0/js/src/build/ConfigStatus.py", line 11, in <module> | import sys, re, os, posixpath, ntpath | File "/usr/lib/python2.7/ntpath.py", line 15, in <module> | from genericpath import _unicode | ImportError: cannot import name _unicode | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_configure (log file is located at /build//bitbake_build/tmp/work/corei7-64-wrs-linux/mozjs/17.0.0-r0/temp/do_configure/log.do_configure.1056 Note the host paths found in the error msg. Further this issue can be explored using the host python, which will not error when attempting the above import, and the python in the sysroot, which will fail when we attempt the import. By inheriting pythonnative we ensure the proper paths are set to avoid this host contamination. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
74 lines
2.9 KiB
BlitzBasic
74 lines
2.9 KiB
BlitzBasic
SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
|
|
LICENSE = "MPL-2.0"
|
|
LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
|
|
|
|
SRC_URI = " \
|
|
http://ftp.mozilla.org/pub/mozilla.org/js/${BPN}${PV}.tar.gz \
|
|
file://0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch \
|
|
file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
|
|
file://0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch;patchdir=../../ \
|
|
file://0003-Add-AArch64-support.patch;patchdir=../../ \
|
|
file://0004-mozbug746112-no-decommit-on-large-pages.patch;patchdir=../../ \
|
|
file://0005-aarch64-64k-page.patch;patchdir=../../ \
|
|
file://0001-regenerate-configure.patch;patchdir=../../ \
|
|
file://fix-the-compile-error-of-powerpc64.patch;patchdir=../../ \
|
|
file://fix_milestone_compile_issue.patch \
|
|
file://0010-fix-cross-compilation-on-i586-targets.patch;patchdir=../../ \
|
|
file://0001-add-support-for-big-endian-32bit-ARM.patch;patchdir=../../ \
|
|
"
|
|
|
|
SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202"
|
|
SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba"
|
|
|
|
S = "${WORKDIR}/${BPN}${PV}/js/src"
|
|
|
|
inherit autotools pkgconfig perlnative pythonnative
|
|
|
|
DEPENDS += "nspr zlib"
|
|
|
|
# nspr's package-config is ignored so set libs manually
|
|
EXTRA_OECONF = " \
|
|
--target=${TARGET_SYS} \
|
|
--host=${BUILD_SYS} \
|
|
--build=${BUILD_SYS} \
|
|
--prefix=${prefix} \
|
|
--libdir=${libdir} \
|
|
--with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
|
|
--enable-threadsafe \
|
|
--disable-static \
|
|
"
|
|
EXTRA_OECONF_append_armv4 += " \
|
|
--disable-methodjit \
|
|
"
|
|
|
|
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
|
|
PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
|
|
|
|
# mozjs requires autoreconf 2.13
|
|
do_configure() {
|
|
( cd ${S}
|
|
gnu-configize --force
|
|
mv config.guess config.sub build/autoconf )
|
|
${S}/configure ${EXTRA_OECONF}
|
|
}
|
|
|
|
# patch.bbclass will try to apply the patches already present and fail, so clean them out
|
|
do_unpack() {
|
|
tar -xvf ${DL_DIR}/mozjs17.0.0.tar.gz -C ${WORKDIR}/
|
|
rm -rf ${WORKDIR}/${BPN}${PV}/patches
|
|
}
|
|
|
|
|
|
PACKAGES =+ "lib${PN}"
|
|
FILES_lib${PN} += "${libdir}/lib*.so"
|
|
FILES_${PN}-dev += "${bindir}/js17-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 = "arm"
|