summaryrefslogtreecommitdiffstats
path: root/meta/packages/js
diff options
context:
space:
mode:
authorQing He <qing.he@intel.com>2010-07-05 11:28:40 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-06 18:28:26 +0100
commit28d52a2f7a2755dc12076d33eef9a917761979ef (patch)
tree3c021ba6a0c3b0cdecba045f57c629bbcf5a5f6f /meta/packages/js
parent56bbb27bb06e0e4ad501259631acf9422db12482 (diff)
downloadpoky-28d52a2f7a2755dc12076d33eef9a917761979ef.tar.gz
js: upgrade to version 1.8.0~rc1
from 1.5 use version string 1.7.0+1.8.0rc1 aka. spidermonkey changes: - rebase jsautocfg.h to add JS_HAVE_LONG_LONG, fixing the build failure - document the limitation of jsautocfg.h - jskwgen is a host script, and should be built by BUILD_CC - remove dependency of readline. readline or editline is only used in standalone js command line, which is not shipped in package. Removing the dependency to avoid any concern of GPL3-ization - set BUILD_OPT=1 for optimized build Note on version choice: js is known to have long rc cycles. e.g. the version 1.5: js-1.5-b1: 12/16/1999, js-1.5-rc1: 03/17/2000, js-1.5-rc6a: 06/16/2004, js-1.5 release: 10/22/2005 Current release version is 1.7.0: 10/19/2007, latest version 1.8.0-rc1: 03/09/2009, so 1.8.0-rc1 is used. Note on standalone js vs. xulrunner: xulrunner also includes a js version, that is more updated than standalone spidermonkey. It also uses autotools so jsautocfg.h patch may not be necessary. However the version of xulrunner is different from js, and it's difficult to identify the mapping between them. It needs further investigation on xulrunner's bundled js Signed-off-by: Qing He <qing.he@intel.com>
Diffstat (limited to 'meta/packages/js')
-rw-r--r--meta/packages/js/files/buildcc.patch20
-rw-r--r--meta/packages/js/files/jsautocfg.h2
-rw-r--r--meta/packages/js/js_1.7.0+1.8.0rc1.bb (renamed from meta/packages/js/js_1.5.bb)27
3 files changed, 38 insertions, 11 deletions
diff --git a/meta/packages/js/files/buildcc.patch b/meta/packages/js/files/buildcc.patch
new file mode 100644
index 0000000000..26eef218d6
--- /dev/null
+++ b/meta/packages/js/files/buildcc.patch
@@ -0,0 +1,20 @@
1jskwgen should be built by BUILD_CC in cross environment
2
37/23/2010 - created by Qing He <qing.he@intel.com>
4
5diff -uNr js.orig//src/Makefile.ref js/src/Makefile.ref
6--- js.orig//src/Makefile.ref 2009-02-25 21:24:29.000000000 +0800
7+++ js/src/Makefile.ref 2010-07-23 13:26:51.000000000 +0800
8@@ -303,10 +303,10 @@
9
10 $(OBJDIR)/jskwgen.o: jskwgen.c jskeyword.tbl
11 @$(MAKE_OBJDIR)
12- $(CC) -o $@ -c $(CFLAGS) $<
13+ $(BUILD_CC) -o $@ -c $(BUILD_CFLAGS) $<
14
15 $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX): $(OBJDIR)/jskwgen.$(OBJ_SUFFIX)
16- $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^
17+ $(BUILD_CC) -o $@ $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $^
18
19 endif
20
diff --git a/meta/packages/js/files/jsautocfg.h b/meta/packages/js/files/jsautocfg.h
index ac786dcdad..efaf807acc 100644
--- a/meta/packages/js/files/jsautocfg.h
+++ b/meta/packages/js/files/jsautocfg.h
@@ -49,4 +49,6 @@
49 49
50#define JS_STACK_GROWTH_DIRECTION (-1) 50#define JS_STACK_GROWTH_DIRECTION (-1)
51 51
52#define JS_HAVE_LONG_LONG
53
52#endif /* js_cpucfg___ */ 54#endif /* js_cpucfg___ */
diff --git a/meta/packages/js/js_1.5.bb b/meta/packages/js/js_1.7.0+1.8.0rc1.bb
index fe8c8c2b9b..36ad11d1f6 100644
--- a/meta/packages/js/js_1.5.bb
+++ b/meta/packages/js/js_1.7.0+1.8.0rc1.bb
@@ -4,34 +4,39 @@ SECTION = "libs"
4 4
5# the package is licensed under either of the following 5# the package is licensed under either of the following
6LICENSE = "MPL1.1 | GPLv2+ | LGPLv2.1+" 6LICENSE = "MPL1.1 | GPLv2+ | LGPLv2.1+"
7DEPENDS = "readline" 7LIC_FILES_CHKSUM = "file://jsapi.c;beginline=4;endline=39;md5=347c6bbf4fb4547de1fa5ad830030063"
8PR = "r1" 8PR = "r0"
9SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/older-packages/js-1.5.tar.gz \ 9
10 file://link_with_gcc.patch;patch=1 \ 10SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz \
11 file://usepic.patch;patch=1 \ 11 file://link_with_gcc.patch \
12 file://usepic.patch \
13 file://buildcc.patch;striplevel=2 \
12 file://jsautocfg.h" 14 file://jsautocfg.h"
13 15
14S = "${WORKDIR}/js/src" 16S = "${WORKDIR}/js/src"
15 17
16FILES_${PN} = "${libdir}/lib*.so" 18EXTRA_OEMAKE = "'CC=${CC}' 'LD=${LD}' 'XCFLAGS=${CFLAGS}' 'XLDFLAGS=${LDFLAGS} -Wl,-soname=libjs' \
17FILES_${PN}-dev = "${includedir} ${libdir}/lib*.a" 19 'BUILD_CC=${BUILD_CC}' 'BUILD_CFLAGS=${BUILD_CFLAGS}' 'BUILD_LDFLAGS=${BUILD_LDFLAGS}'"
18
19EXTRA_OEMAKE = "'CC=${CC}' 'LD=${LD}' 'XCFLAGS=${CFLAGS}' 'XLDFLAGS=${LDFLAGS} -Wl,-soname=libjs'"
20 20
21PARALLEL_MAKE = "" 21PARALLEL_MAKE = ""
22 22
23# XXX: this is only guaranteed to work for i386 targets!
23do_compile_prepend() { 24do_compile_prepend() {
24 cp ${WORKDIR}/jsautocfg.h ${S}/ 25 cp ${WORKDIR}/jsautocfg.h ${S}/
25} 26}
26 27
27do_compile() { 28do_compile() {
28 oe_runmake -f Makefile.ref JS_READLINE=1 JS_EDITLINE=1 PREBUILT_CPUCFG=1 29 oe_runmake -f Makefile.ref JS_EDITLINE=1 PREBUILT_CPUCFG=1 BUILD_OPT=1
29} 30}
30 31
31do_install() { 32do_install() {
32 install -d ${D}${libdir} 33 install -d ${D}${libdir}
33 install -d ${D}${includedir} 34 install -d ${D}${includedir}
34 install -d ${D}${includedir}/js 35 install -d ${D}${includedir}/js
35 oe_libinstall -so -C Linux_All_DBG.OBJ libjs ${D}${libdir} 36 oe_libinstall -so -C Linux_All_OPT.OBJ libjs ${D}${libdir}
36 install -m 0644 ${S}/*.h ${D}${includedir}/js 37 install -m 0644 ${S}/*.h ${D}${includedir}/js
37} 38}
39
40FILES_${PN} = "${libdir}/lib*.so"
41FILES_${PN}-dev = "${includedir} ${libdir}/lib*.a"
42