diff options
Diffstat (limited to 'meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb')
-rw-r--r-- | meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb new file mode 100644 index 000000000..6621a703e --- /dev/null +++ b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb | |||
@@ -0,0 +1,74 @@ | |||
1 | SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++" | ||
2 | LICENSE = "MPL-2.0" | ||
3 | LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad" | ||
4 | |||
5 | SRC_URI = " \ | ||
6 | http://ftp.mozilla.org/pub/mozilla.org/js/${BPN}${PV}.tar.gz \ | ||
7 | file://0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch \ | ||
8 | file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \ | ||
9 | file://0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch;patchdir=../../ \ | ||
10 | file://0003-Add-AArch64-support.patch;patchdir=../../ \ | ||
11 | file://0004-mozbug746112-no-decommit-on-large-pages.patch;patchdir=../../ \ | ||
12 | file://0005-aarch64-64k-page.patch;patchdir=../../ \ | ||
13 | file://0001-regenerate-configure.patch;patchdir=../../ \ | ||
14 | file://fix-the-compile-error-of-powerpc64.patch;patchdir=../../ \ | ||
15 | file://fix_milestone_compile_issue.patch \ | ||
16 | " | ||
17 | |||
18 | SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202" | ||
19 | SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba" | ||
20 | |||
21 | S = "${WORKDIR}/${BPN}${PV}/js/src" | ||
22 | |||
23 | inherit autotools pkgconfig perlnative | ||
24 | |||
25 | DEPENDS += "nspr zlib" | ||
26 | |||
27 | # nspr's package-config is ignored so set libs manually | ||
28 | EXTRA_OECONF = " \ | ||
29 | --target=${TARGET_SYS} \ | ||
30 | --host=${BUILD_SYS} \ | ||
31 | --build=${BUILD_SYS} \ | ||
32 | --prefix=${prefix} \ | ||
33 | --libdir=${libdir} \ | ||
34 | --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \ | ||
35 | --enable-threadsafe \ | ||
36 | --disable-static \ | ||
37 | " | ||
38 | EXTRA_OECONF_append_armv4 += " \ | ||
39 | --disable-methodjit \ | ||
40 | " | ||
41 | |||
42 | # mozjs requires autoreconf 2.13 | ||
43 | do_configure() { | ||
44 | ( cd ${S} | ||
45 | gnu-configize --force | ||
46 | mv config.guess config.sub build/autoconf ) | ||
47 | ${S}/configure ${EXTRA_OECONF} | ||
48 | } | ||
49 | |||
50 | # patch.bbclass will try to apply the patches already present and fail, so clean them out | ||
51 | do_sourceclean() { | ||
52 | ( | ||
53 | cd ${WORKDIR}/${BPN}${PV}/patches | ||
54 | for i in $(cat series | awk '{print $1}') ; do | ||
55 | rm -f $i | ||
56 | done | ||
57 | rm -f series | ||
58 | ) | ||
59 | } | ||
60 | |||
61 | addtask sourceclean before do_patch after do_unpack | ||
62 | |||
63 | PACKAGES =+ "lib${PN}" | ||
64 | FILES_lib${PN} += "${libdir}/lib*.so" | ||
65 | FILES_${PN}-dev += "${bindir}/js17-config" | ||
66 | |||
67 | # Fails to build with thumb-1 (qemuarm) | ||
68 | #| {standard input}: Assembler messages: | ||
69 | #| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20' | ||
70 | #| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)' | ||
71 | #| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)' | ||
72 | #| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300' | ||
73 | #| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52' | ||
74 | ARM_INSTRUCTION_SET = "arm" | ||