From aa56613581ef3afe172022871a561c0e4b032918 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sun, 16 Dec 2012 15:28:06 +0000 Subject: make RISC OS build of spidermonkey 1.7.0 succeed. still missing its pkgconfig though --- sdk/Makefile | 12 +- .../arm-unknown-riscos-1.7.0/Makefile.ref.p | 33 ++ .../arm-unknown-riscos-1.7.0/RISCOS.mk.p | 69 ++++ .../arm-unknown-riscos-1.7.0/jsautocfg.h.p | 55 +++ .../arm-unknown-riscos-1.7.0/jsautokw.h.p | 404 +++++++++++++++++++++ .../arm-unknown-riscos-1.7.0/rules.mk.p | 36 ++ 6 files changed, 605 insertions(+), 4 deletions(-) create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p diff --git a/sdk/Makefile b/sdk/Makefile index a2d589d..0113144 100644 --- a/sdk/Makefile +++ b/sdk/Makefile @@ -84,7 +84,9 @@ ifeq ($(TARGET),arm-unknown-riscos) SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, $(COMMON_SDK_ITEMS) spidermonkey.d) EXTRAARGS_LIBCARES := --disable-shared EXTRAARGS_LIBCURL := --enable-nonblocking --enable-ares $(LIBCURL_DISABLES) - ifeq ($(VERSION_SPIDERMONKEY),1.8.5) + ifeq ($(VERSION_SPIDERMONKEY),1.7.0) + EXTRAARGS_SPIDERMONKEY := BUILD_OPT=1 OS_ARCH=RISCOS OS_CPUARCH=arm OS_CONFIG=RISCOS + else EXTRAARGS_SPIDERMONKEY := --disable-tracejit --disable-thumb2 --without-thumb --enable-static --disable-shared --disable-shared-js --with-cpu-arch=armv3 --disable-tests --disable-methodjit endif endif @@ -109,7 +111,7 @@ ifeq ($(TARGET),ppc-amigaos) SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, libiconv.d libtre.d libpbl.d $(COMMON_SDK_ITEMS)) EXTRAARGS_LIBCARES := --disable-shared EXTRAARGS_LIBCURL := --disable-ntlm-wb --without-random - #VERSION_SPIDERMONKEY := 1.7.0 + VERSION_SPIDERMONKEY := 1.7.0 endif ifeq ($(TARGET),i686-w64-mingw32) @@ -490,12 +492,13 @@ $(SOURCEDIR)/nspr-$(VERSION_NSPR).tar.gz: # spidermonkey (libmozjs) $(BUILDSTEPS)/spidermonkey.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/nspr.d $(BUILDSTEPS)/spidermonkey-src.d ifeq ($(VERSION_SPIDERMONKEY),1.7.0) - $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref + $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref JS_DIST=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY) + $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref JS_DIST=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY) export else cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --with-system-nspr --with-nspr-prefix=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY) cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make -endif cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make install +endif touch $@ $(BUILDSTEPS)/spidermonkey-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/spidermonkey-$(VERSION_SPIDERMONKEY).tar.gz @@ -505,6 +508,7 @@ $(BUILDSTEPS)/spidermonkey-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/spiderm ifeq ($(VERSION_SPIDERMONKEY),1.7.0) mkdir $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY) mv $(BUILDDIR)/spidermonkey/js $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/ + mkdir $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src/RISCOS_OPT.OBJ endif for p in `ls $(RECIPES)/patches/spidermonkey/$(TARGET)-$(VERSION_SPIDERMONKEY)/*.p` ; do patch -d $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY) -p0 <$$p ; done touch $@ diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p new file mode 100644 index 0000000..f26f671 --- /dev/null +++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p @@ -0,0 +1,33 @@ +--- js/src/Makefile.ref.orig 2006-07-26 20:16:47.000000000 +0100 ++++ js/src/Makefile.ref 2012-12-16 12:32:02.331547000 +0000 +@@ -305,7 +305,7 @@ + $(OBJDIR)/jskwgen.$(OBJ_SUFFIX): jskwgen.c jskeyword.tbl + + $(OBJDIR)/jsautokw.h: $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) jskeyword.tbl +- $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) $@ ++# $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) $@ + + ifdef USE_MSVC + +@@ -349,8 +349,8 @@ + $(HFILES) $(CFILES): $(OBJDIR)/jsautocfg.h + + $(OBJDIR)/jsautocfg.h: $(OBJDIR)/jscpucfg +- rm -f $@ +- $(OBJDIR)/jscpucfg > $@ ++# rm -f $@ ++# $(OBJDIR)/jscpucfg > $@ + + $(OBJDIR)/jscpucfg: $(OBJDIR)/jscpucfg.o + $(CC) -o $@ $(OBJDIR)/jscpucfg.o +--- js/src/editline/Makefile.ref.orig 2005-02-12 20:10:33.000000000 +0000 ++++ js/src/editline/Makefile.ref 2012-12-16 12:36:54.983350000 +0000 +@@ -103,7 +103,7 @@ + LIBRARY = $(OBJDIR)/libedit.a + + define MAKE_OBJDIR +-if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi ++if test ! -d $(@D); then rm -rf $(@D); mkdir -p $(@D); fi + endef + + all: $(LIBRARY) diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p new file mode 100644 index 0000000..f4afe55 --- /dev/null +++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p @@ -0,0 +1,69 @@ +--- js/src/config/RISCOS.mk.orig 2012-12-16 12:03:22.369313976 +0000 ++++ js/src/config/RISCOS.mk 2012-12-16 12:03:16.485339267 +0000 +@@ -0,0 +1,66 @@ ++# -*- Mode: makefile -*- ++# ++# ***** BEGIN LICENSE BLOCK ***** ++# Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++# ++# The contents of this file are subject to the Mozilla Public License Version ++# 1.1 (the "License"); you may not use this file except in compliance with ++# the License. You may obtain a copy of the License at ++# http://www.mozilla.org/MPL/ ++# ++# Software distributed under the License is distributed on an "AS IS" basis, ++# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++# for the specific language governing rights and limitations under the ++# License. ++# ++# The Original Code is Mozilla Communicator client code, released ++# March 31, 1998. ++# ++# The Initial Developer of the Original Code is ++# Netscape Communications Corporation. ++# Portions created by the Initial Developer are Copyright (C) 1998 ++# the Initial Developer. All Rights Reserved. ++# ++# Contributor(s): ++# ++# Alternatively, the contents of this file may be used under the terms of ++# either the GNU General Public License Version 2 or later (the "GPL"), or ++# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++# in which case the provisions of the GPL or the LGPL are applicable instead ++# of those above. If you wish to allow use of your version of this file only ++# under the terms of either the GPL or the LGPL, and not to allow others to ++# use your version of this file under the terms of the MPL, indicate your ++# decision by deleting the provisions above and replace them with the notice ++# and other provisions required by the GPL or the LGPL. If you do not delete ++# the provisions above, a recipient may use your version of this file under ++# the terms of any one of the MPL, the GPL or the LGPL. ++# ++# ***** END LICENSE BLOCK ***** ++ ++# ++# Config for all versions of Linux ++# ++ ++CCC := $(CXX) ++CC ?= gcc ++CCC ?= g++ ++CFLAGS += -static -Wall -Wno-format ++OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R ++ ++RANLIB = echo ++MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS) ++ ++#.c.o: ++# $(CC) -c -MD $*.d $(CFLAGS) $< ++ ++CPU_ARCH = arm ++ ++GFX_ARCH = x ++ ++OS_LIBS = -lm -lc ++ ++ASFLAGS += -x assembler-with-cpp ++ ++# Use the editline library to provide line-editing support. ++JS_EDITLINE = 1 ++ diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p new file mode 100644 index 0000000..5ab277a --- /dev/null +++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p @@ -0,0 +1,55 @@ +--- js/src/RISCOS_OPT.OBJ/jsautocfg.h.orig 2012-12-16 12:41:07.537588600 +0000 ++++ js/src/RISCOS_OPT.OBJ/jsautocfg.h 2012-12-16 12:40:03.307277000 +0000 +@@ -0,0 +1,52 @@ ++#ifndef js_cpucfg___ ++#define js_cpucfg___ ++ ++/* AUTOMATICALLY GENERATED - DO NOT EDIT */ ++ ++#define IS_LITTLE_ENDIAN 1 ++#undef IS_BIG_ENDIAN ++ ++#define JS_BYTES_PER_BYTE 1L ++#define JS_BYTES_PER_SHORT 2L ++#define JS_BYTES_PER_INT 4L ++#define JS_BYTES_PER_INT64 8L ++#define JS_BYTES_PER_LONG 4L ++#define JS_BYTES_PER_FLOAT 4L ++#define JS_BYTES_PER_DOUBLE 8L ++#define JS_BYTES_PER_WORD 4L ++#define JS_BYTES_PER_DWORD 8L ++ ++#define JS_BITS_PER_BYTE 8L ++#define JS_BITS_PER_SHORT 16L ++#define JS_BITS_PER_INT 32L ++#define JS_BITS_PER_INT64 64L ++#define JS_BITS_PER_LONG 32L ++#define JS_BITS_PER_FLOAT 32L ++#define JS_BITS_PER_DOUBLE 64L ++#define JS_BITS_PER_WORD 32L ++ ++#define JS_BITS_PER_BYTE_LOG2 3L ++#define JS_BITS_PER_SHORT_LOG2 4L ++#define JS_BITS_PER_INT_LOG2 5L ++#define JS_BITS_PER_INT64_LOG2 6L ++#define JS_BITS_PER_LONG_LOG2 5L ++#define JS_BITS_PER_FLOAT_LOG2 5L ++#define JS_BITS_PER_DOUBLE_LOG2 6L ++#define JS_BITS_PER_WORD_LOG2 5L ++ ++#define JS_ALIGN_OF_SHORT 2L ++#define JS_ALIGN_OF_INT 4L ++#define JS_ALIGN_OF_LONG 4L ++#define JS_ALIGN_OF_INT64 4L ++#define JS_ALIGN_OF_FLOAT 4L ++#define JS_ALIGN_OF_DOUBLE 4L ++#define JS_ALIGN_OF_POINTER 4L ++#define JS_ALIGN_OF_WORD 4L ++ ++#define JS_BYTES_PER_WORD_LOG2 2L ++#define JS_BYTES_PER_DWORD_LOG2 3L ++#define JS_WORDS_PER_DWORD_LOG2 1L ++ ++#define JS_STACK_GROWTH_DIRECTION (-1) ++ ++#endif /* js_cpucfg___ */ diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p new file mode 100644 index 0000000..9c66cf4 --- /dev/null +++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p @@ -0,0 +1,404 @@ +--- js/src/RISCOS_OPT.OBJ/jsautokw.h.orig 2012-12-16 12:44:10.504922500 +0000 ++++ js/src/RISCOS_OPT.OBJ/jsautokw.h 2012-12-16 12:44:24.520490000 +0000 +@@ -0,0 +1,401 @@ ++ /* ++ * Generating switch for the list of 61 entries: ++ * break ++ * case ++ * continue ++ * default ++ * delete ++ * do ++ * else ++ * export ++ * false ++ * for ++ * function ++ * if ++ * in ++ * new ++ * null ++ * return ++ * switch ++ * this ++ * true ++ * typeof ++ * var ++ * void ++ * while ++ * with ++ * const ++ * try ++ * catch ++ * finally ++ * throw ++ * instanceof ++ * abstract ++ * boolean ++ * byte ++ * char ++ * class ++ * double ++ * extends ++ * final ++ * float ++ * goto ++ * implements ++ * import ++ * int ++ * interface ++ * long ++ * native ++ * package ++ * private ++ * protected ++ * public ++ * short ++ * static ++ * super ++ * synchronized ++ * throws ++ * transient ++ * volatile ++ * enum ++ * debugger ++ * yield ++ * let ++ */ ++ switch (JSKW_LENGTH()) { ++ case 2: ++ if (JSKW_AT(0) == 'd') { ++ if (JSKW_AT(1)=='o') { ++ JSKW_GOT_MATCH(5) /* do */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(0) == 'i') { ++ if (JSKW_AT(1) == 'f') { ++ JSKW_GOT_MATCH(11) /* if */ ++ } ++ if (JSKW_AT(1) == 'n') { ++ JSKW_GOT_MATCH(12) /* in */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 3: ++ switch (JSKW_AT(2)) { ++ case 'r': ++ if (JSKW_AT(0) == 'f') { ++ if (JSKW_AT(1)=='o') { ++ JSKW_GOT_MATCH(9) /* for */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(0) == 'v') { ++ if (JSKW_AT(1)=='a') { ++ JSKW_GOT_MATCH(20) /* var */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 't': ++ if (JSKW_AT(0) == 'i') { ++ if (JSKW_AT(1)=='n') { ++ JSKW_GOT_MATCH(42) /* int */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(0) == 'l') { ++ if (JSKW_AT(1)=='e') { ++ JSKW_GOT_MATCH(60) /* let */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 'w': ++ if (JSKW_AT(0)=='n' && JSKW_AT(1)=='e') { ++ JSKW_GOT_MATCH(13) /* new */ ++ } ++ JSKW_NO_MATCH() ++ case 'y': ++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='r') { ++ JSKW_GOT_MATCH(25) /* try */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 4: ++ switch (JSKW_AT(3)) { ++ case 'd': ++ if (JSKW_AT(0)=='v' && JSKW_AT(1)=='o' && JSKW_AT(2)=='i') { ++ JSKW_GOT_MATCH(21) /* void */ ++ } ++ JSKW_NO_MATCH() ++ case 'e': ++ if (JSKW_AT(2) == 's') { ++ if (JSKW_AT(0) == 'c') { ++ if (JSKW_AT(1)=='a') { ++ JSKW_GOT_MATCH(1) /* case */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(0) == 'e') { ++ if (JSKW_AT(1)=='l') { ++ JSKW_GOT_MATCH(6) /* else */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(2) == 't') { ++ if (JSKW_AT(0)=='b' && JSKW_AT(1)=='y') { ++ JSKW_GOT_MATCH(32) /* byte */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(2) == 'u') { ++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='r') { ++ JSKW_GOT_MATCH(18) /* true */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 'g': ++ if (JSKW_AT(0)=='l' && JSKW_AT(1)=='o' && JSKW_AT(2)=='n') { ++ JSKW_GOT_MATCH(44) /* long */ ++ } ++ JSKW_NO_MATCH() ++ case 'h': ++ if (JSKW_AT(0)=='w' && JSKW_AT(1)=='i' && JSKW_AT(2)=='t') { ++ JSKW_GOT_MATCH(23) /* with */ ++ } ++ JSKW_NO_MATCH() ++ case 'l': ++ if (JSKW_AT(0)=='n' && JSKW_AT(1)=='u' && JSKW_AT(2)=='l') { ++ JSKW_GOT_MATCH(14) /* null */ ++ } ++ JSKW_NO_MATCH() ++ case 'm': ++ if (JSKW_AT(0)=='e' && JSKW_AT(1)=='n' && JSKW_AT(2)=='u') { ++ JSKW_GOT_MATCH(57) /* enum */ ++ } ++ JSKW_NO_MATCH() ++ case 'o': ++ if (JSKW_AT(0)=='g' && JSKW_AT(1)=='o' && JSKW_AT(2)=='t') { ++ JSKW_GOT_MATCH(39) /* goto */ ++ } ++ JSKW_NO_MATCH() ++ case 'r': ++ if (JSKW_AT(0)=='c' && JSKW_AT(1)=='h' && JSKW_AT(2)=='a') { ++ JSKW_GOT_MATCH(33) /* char */ ++ } ++ JSKW_NO_MATCH() ++ case 's': ++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='h' && JSKW_AT(2)=='i') { ++ JSKW_GOT_MATCH(17) /* this */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 5: ++ switch (JSKW_AT(3)) { ++ case 'a': ++ if (JSKW_AT(0) == 'b') { ++ if (JSKW_AT(4)=='k' && JSKW_AT(1)=='r' && JSKW_AT(2)=='e') { ++ JSKW_GOT_MATCH(0) /* break */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(0) == 'f') { ++ if (JSKW_AT(4) == 'l') { ++ if (JSKW_AT(2)=='n' && JSKW_AT(1)=='i') { ++ JSKW_GOT_MATCH(37) /* final */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(4) == 't') { ++ if (JSKW_AT(2)=='o' && JSKW_AT(1)=='l') { ++ JSKW_GOT_MATCH(38) /* float */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 'c': ++ if (JSKW_AT(0)=='c' && JSKW_AT(1)=='a' && JSKW_AT(2)=='t' && JSKW_AT(4)=='h') { ++ JSKW_GOT_MATCH(26) /* catch */ ++ } ++ JSKW_NO_MATCH() ++ case 'e': ++ if (JSKW_AT(0)=='s' && JSKW_AT(1)=='u' && JSKW_AT(2)=='p' && JSKW_AT(4)=='r') { ++ JSKW_GOT_MATCH(52) /* super */ ++ } ++ JSKW_NO_MATCH() ++ case 'l': ++ if (JSKW_AT(0) == 'w') { ++ if (JSKW_AT(4)=='e' && JSKW_AT(1)=='h' && JSKW_AT(2)=='i') { ++ JSKW_GOT_MATCH(22) /* while */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(0) == 'y') { ++ if (JSKW_AT(4)=='d' && JSKW_AT(1)=='i' && JSKW_AT(2)=='e') { ++ JSKW_GOT_MATCH(59) /* yield */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 'o': ++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='h' && JSKW_AT(2)=='r' && JSKW_AT(4)=='w') { ++ JSKW_GOT_MATCH(28) /* throw */ ++ } ++ JSKW_NO_MATCH() ++ case 'r': ++ if (JSKW_AT(0)=='s' && JSKW_AT(1)=='h' && JSKW_AT(2)=='o' && JSKW_AT(4)=='t') { ++ JSKW_GOT_MATCH(50) /* short */ ++ } ++ JSKW_NO_MATCH() ++ case 's': ++ if (JSKW_AT(0) == 'c') { ++ if (JSKW_AT(4) == 's') { ++ if (JSKW_AT(2)=='a' && JSKW_AT(1)=='l') { ++ JSKW_GOT_MATCH(34) /* class */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(4) == 't') { ++ if (JSKW_AT(2)=='n' && JSKW_AT(1)=='o') { ++ JSKW_GOT_MATCH(24) /* const */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(0) == 'f') { ++ if (JSKW_AT(4)=='e' && JSKW_AT(1)=='a' && JSKW_AT(2)=='l') { ++ JSKW_GOT_MATCH(8) /* false */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 6: ++ switch (JSKW_AT(0)) { ++ case 'd': ++ if (JSKW_AT(1) == 'o') { ++ if (JSKW_AT(5)=='e' && JSKW_AT(4)=='l' && JSKW_AT(2)=='u' && JSKW_AT(3)=='b') { ++ JSKW_GOT_MATCH(35) /* double */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(1) == 'e') { ++ if (JSKW_AT(5)=='e' && JSKW_AT(4)=='t' && JSKW_AT(2)=='l' && JSKW_AT(3)=='e') { ++ JSKW_GOT_MATCH(4) /* delete */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 'e': ++ JSKW_TEST_GUESS(7) /* export */ ++ case 'i': ++ JSKW_TEST_GUESS(41) /* import */ ++ case 'n': ++ JSKW_TEST_GUESS(45) /* native */ ++ case 'p': ++ JSKW_TEST_GUESS(49) /* public */ ++ case 'r': ++ JSKW_TEST_GUESS(15) /* return */ ++ case 's': ++ if (JSKW_AT(1) == 't') { ++ if (JSKW_AT(5)=='c' && JSKW_AT(4)=='i' && JSKW_AT(2)=='a' && JSKW_AT(3)=='t') { ++ JSKW_GOT_MATCH(51) /* static */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(1) == 'w') { ++ if (JSKW_AT(5)=='h' && JSKW_AT(4)=='c' && JSKW_AT(2)=='i' && JSKW_AT(3)=='t') { ++ JSKW_GOT_MATCH(16) /* switch */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 't': ++ if (JSKW_AT(5) == 'f') { ++ if (JSKW_AT(4)=='o' && JSKW_AT(1)=='y' && JSKW_AT(2)=='p' && JSKW_AT(3)=='e') { ++ JSKW_GOT_MATCH(19) /* typeof */ ++ } ++ JSKW_NO_MATCH() ++ } ++ if (JSKW_AT(5) == 's') { ++ if (JSKW_AT(4)=='w' && JSKW_AT(1)=='h' && JSKW_AT(2)=='r' && JSKW_AT(3)=='o') { ++ JSKW_GOT_MATCH(54) /* throws */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 7: ++ switch (JSKW_AT(0)) { ++ case 'b': ++ JSKW_TEST_GUESS(31) /* boolean */ ++ case 'd': ++ JSKW_TEST_GUESS(3) /* default */ ++ case 'e': ++ JSKW_TEST_GUESS(36) /* extends */ ++ case 'f': ++ JSKW_TEST_GUESS(27) /* finally */ ++ case 'p': ++ if (JSKW_AT(1) == 'a') { ++ JSKW_TEST_GUESS(46) /* package */ ++ } ++ if (JSKW_AT(1) == 'r') { ++ JSKW_TEST_GUESS(47) /* private */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 8: ++ switch (JSKW_AT(4)) { ++ case 'g': ++ JSKW_TEST_GUESS(58) /* debugger */ ++ case 'i': ++ JSKW_TEST_GUESS(2) /* continue */ ++ case 'r': ++ JSKW_TEST_GUESS(30) /* abstract */ ++ case 't': ++ if (JSKW_AT(1) == 'o') { ++ JSKW_TEST_GUESS(56) /* volatile */ ++ } ++ if (JSKW_AT(1) == 'u') { ++ JSKW_TEST_GUESS(10) /* function */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 9: ++ if (JSKW_AT(1) == 'n') { ++ JSKW_TEST_GUESS(43) /* interface */ ++ } ++ if (JSKW_AT(1) == 'r') { ++ if (JSKW_AT(0) == 'p') { ++ JSKW_TEST_GUESS(48) /* protected */ ++ } ++ if (JSKW_AT(0) == 't') { ++ JSKW_TEST_GUESS(55) /* transient */ ++ } ++ JSKW_NO_MATCH() ++ } ++ JSKW_NO_MATCH() ++ case 10: ++ if (JSKW_AT(1) == 'n') { ++ JSKW_TEST_GUESS(29) /* instanceof */ ++ } ++ if (JSKW_AT(1) == 'm') { ++ JSKW_TEST_GUESS(40) /* implements */ ++ } ++ JSKW_NO_MATCH() ++ case 12: ++ JSKW_TEST_GUESS(53) /* synchronized */ ++ } ++ JSKW_NO_MATCH() diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p new file mode 100644 index 0000000..418c018 --- /dev/null +++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p @@ -0,0 +1,36 @@ +--- js/src/rules.mk.orig 2012-12-16 14:55:34.000000000 +0000 ++++ js/src/rules.mk 2012-12-16 15:01:53.000000000 +0000 +@@ -58,7 +58,7 @@ + # TARGETS = $(LIBRARY) # $(PROGRAM) not supported for MSVC yet + TARGETS += $(SHARED_LIBRARY) $(PROGRAM) # it is now + else +-TARGETS += $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM) ++TARGETS += $(LIBRARY) $(PROGRAM) + endif + + all: +@@ -158,9 +158,9 @@ + + export: + +$(LOOP_OVER_PREDIRS) +- mkdir -p $(DIST)/include $(DIST)/$(LIBDIR) $(DIST)/bin ++ mkdir -p $(DIST)/include/js $(DIST)/$(LIBDIR) $(DIST)/bin + ifneq "$(strip $(HFILES))" "" +- $(CP) $(HFILES) $(DIST)/include ++ $(CP) $(HFILES) $(DIST)/include/js/ + endif + ifneq "$(strip $(LIBRARY))" "" + $(CP) $(LIBRARY) $(DIST)/$(LIBDIR) +@@ -168,9 +168,9 @@ + ifneq "$(strip $(JARS))" "" + $(CP) $(JARS) $(DIST)/$(LIBDIR) + endif +-ifneq "$(strip $(SHARED_LIBRARY))" "" +- $(CP) $(SHARED_LIBRARY) $(DIST)/$(LIBDIR) +-endif ++#ifneq "$(strip $(SHARED_LIBRARY))" "" ++# $(CP) $(SHARED_LIBRARY) $(DIST)/$(LIBDIR) ++#endif + ifneq "$(strip $(PROGRAM))" "" + $(CP) $(PROGRAM) $(DIST)/bin + endif -- cgit v1.2.3