summaryrefslogtreecommitdiff
path: root/recipes/mozilla/files
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/mozilla/files')
-rw-r--r--recipes/mozilla/files/arm/jsautocfg.h54
-rw-r--r--recipes/mozilla/files/eabi-fix.patch66
-rw-r--r--recipes/mozilla/files/eabi-fix2.patch56
-rw-r--r--recipes/mozilla/files/eabi-fix3.patch15
-rw-r--r--recipes/mozilla/files/firefox-1.0-gcc4-compile.patch119
-rw-r--r--recipes/mozilla/files/i386/jsautocfg.h54
-rw-r--r--recipes/mozilla/files/i486/jsautocfg.h54
-rw-r--r--recipes/mozilla/files/i586/jsautocfg.h54
-rw-r--r--recipes/mozilla/files/i686/jsautocfg.h54
-rw-r--r--recipes/mozilla/files/minimo.desktop10
-rw-r--r--recipes/mozilla/files/minimo.pngbin0 -> 4323 bytes
-rw-r--r--recipes/mozilla/files/mozilla-firefox.desktop11
-rw-r--r--recipes/mozilla/files/mozilla-firefox.pngbin0 -> 4323 bytes
-rw-r--r--recipes/mozilla/files/mozilla-thunderbird.desktop11
-rw-r--r--recipes/mozilla/files/mozilla-thunderbird.pngbin0 -> 6499 bytes
-rw-r--r--recipes/mozilla/files/no-xmb.patch18
-rw-r--r--recipes/mozilla/files/powerpc/jsautocfg.h54
-rw-r--r--recipes/mozilla/files/xptcstubs.patch19
18 files changed, 649 insertions, 0 deletions
diff --git a/recipes/mozilla/files/arm/jsautocfg.h b/recipes/mozilla/files/arm/jsautocfg.h
new file mode 100644
index 0000000000..e9d37dee91
--- /dev/null
+++ b/recipes/mozilla/files/arm/jsautocfg.h
@@ -0,0 +1,54 @@
+#ifndef js_cpucfg___
+#define js_cpucfg___
+
+/* AUTOMATICALLY GENERATED - DO NOT EDIT, unless you are an OE dev :) */
+
+#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 8L
+#define JS_ALIGN_OF_FLOAT 4L
+#define JS_ALIGN_OF_DOUBLE 8L
+#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)
+
+#define JS_HAVE_LONG_LONG
+
+#endif /* js_cpucfg___ */
diff --git a/recipes/mozilla/files/eabi-fix.patch b/recipes/mozilla/files/eabi-fix.patch
new file mode 100644
index 0000000000..fd3bb88683
--- /dev/null
+++ b/recipes/mozilla/files/eabi-fix.patch
@@ -0,0 +1,66 @@
+http://lists.debian.org/debian-arm/2007/05/msg00039.html
+
+From: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Hi,
+
+The reason that building nss (i.e., firefox) would segfault on ARM EABI
+systems is an assumption about the layout of the jmp_buf structure in
+the nspr library (which nss depends on) that does hold on old-ABI but
+no longer holds on EABI. The attached patch fixes this assumption,
+and fixes the shlibsign segfault during the building of nss (it also
+fixes a floating point byte order assumption.)
+
+Looks sane?
+
+It's of course a stupid idea to depend on a particular layout of the
+jmp_buf structure in application programs, but oh well. People write
+ugly buggy code, film at 11.
+
+
+--- mozilla/nsprpub/pr/src/misc/prdtoa.c.orig 2007-05-06 02:39:00.000000000 +0200
++++ mozilla/nsprpub/pr/src/misc/prdtoa.c 2007-05-06 02:39:22.000000000 +0200
+@@ -59,8 +59,8 @@
+ /* FIXME: deal with freelist and p5s. */
+ }
+
+-#if defined(__arm) || defined(__arm__) || defined(__arm26__) \
+- || defined(__arm32__)
++#if (defined(__arm) || defined(__arm__) || defined(__arm26__) \
++ || defined(__arm32__)) && !defined(__ARM_EABI__) && !defined(__ARMEB__)
+ #define IEEE_ARM
+ #elif defined(IS_LITTLE_ENDIAN)
+ #define IEEE_8087
+--- mozilla/nsprpub/pr/include/md/_linux.h.orig 2007-05-06 02:39:45.000000000 +0200
++++ mozilla/nsprpub/pr/include/md/_linux.h 2007-05-06 02:40:57.000000000 +0200
+@@ -346,7 +346,7 @@
+ #error "Linux/MIPS pre-glibc2 not supported yet"
+ #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
+
+-#elif defined(__arm__)
++#elif defined(__arm__) && !defined(__ARM_EABI__)
+ /* ARM/Linux */
+ #if defined(__GLIBC__) && __GLIBC__ >= 2
+ #define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[20]
+@@ -358,6 +358,18 @@
+ #error "ARM/Linux pre-glibc2 not supported yet"
+ #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
+
++#elif defined(__arm__) && defined(__ARM_EABI__)
++/* ARM/Linux */
++#if defined(__GLIBC__) && __GLIBC__ >= 2
++#define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[8]
++#define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[7] = (val))
++#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t))
++#define _MD_GET_FP_PTR(_t) (&(_t)->md.context[0].__jmpbuf[7])
++#define _MD_SP_TYPE __ptr_t
++#else
++#error "ARM/Linux pre-glibc2 not supported yet"
++#endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
++
+ #else
+
+ #error "Unknown CPU architecture"
+
+
+
diff --git a/recipes/mozilla/files/eabi-fix2.patch b/recipes/mozilla/files/eabi-fix2.patch
new file mode 100644
index 0000000000..5f64e7f796
--- /dev/null
+++ b/recipes/mozilla/files/eabi-fix2.patch
@@ -0,0 +1,56 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=369722
+
+Index: js/src/jsnum.h
+===================================================================
+RCS file: /cvsroot/mozilla/js/src/jsnum.h,v
+retrieving revision 3.27
+diff -p -u -8 -r3.27 jsnum.h
+--- mozilla/js/src/jsnum.h 21 Dec 2006 01:00:32 -0000 3.27
++++ mozilla/js/src/jsnum.h 8 Feb 2007 12:13:01 -0000
+@@ -52,23 +52,24 @@ JS_BEGIN_EXTERN_C
+
+ /*
+ * Stefan Hanske <sh990154@mail.uni-greifswald.de> reports:
+ * ARM is a little endian architecture but 64 bit double words are stored
+ * differently: the 32 bit words are in little endian byte order, the two words
+ * are stored in big endian`s way.
+ */
+
+-#if defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__)
+-#define CPU_IS_ARM
++#if !defined(__ARM_EABI__) && \
++ (defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__))
++#define IEEE_ARM
+ #endif
+
+ typedef union jsdpun {
+ struct {
+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
++#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM)
+ uint32 lo, hi;
+ #else
+ uint32 hi, lo;
+ #endif
+ } s;
+ jsdouble d;
+ } jsdpun;
+
+@@ -87,17 +88,17 @@ typedef union jsdpun {
+
+ #else /* not or old GNUC */
+
+ /*
+ * We don't know of any non-gcc compilers that perform alias optimization,
+ * so this code should work.
+ */
+
+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
++#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM)
+ #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[1])
+ #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[0])
+ #else
+ #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[0])
+ #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[1])
+ #endif
+
+ #define JSDOUBLE_SET_HI32(x, y) (JSDOUBLE_HI32(x)=(y))
diff --git a/recipes/mozilla/files/eabi-fix3.patch b/recipes/mozilla/files/eabi-fix3.patch
new file mode 100644
index 0000000000..8bf8c2f4da
--- /dev/null
+++ b/recipes/mozilla/files/eabi-fix3.patch
@@ -0,0 +1,15 @@
+From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+Index: mozilla/extensions/transformiix/source/base/Double.cpp
+===================================================================
+--- mozilla.orig/extensions/transformiix/source/base/Double.cpp 2007-05-09 11:21:34.000000000 +0200
++++ mozilla/extensions/transformiix/source/base/Double.cpp 2007-05-09 11:23:59.000000000 +0200
+@@ -71,7 +71,7 @@
+ * are stored in big endian`s way.
+ */
+
+-#if defined(__arm) || defined(__arm32__) || defined(_arm26__) || defined(__arm__)
++#if !defined(__ARM_EABI__) && defined(__arm) || defined(__arm32__) || defined(_arm26__) || defined(__arm__)
+ #define CPU_IS_ARM
+ #endif
+
diff --git a/recipes/mozilla/files/firefox-1.0-gcc4-compile.patch b/recipes/mozilla/files/firefox-1.0-gcc4-compile.patch
new file mode 100644
index 0000000000..5179a3195c
--- /dev/null
+++ b/recipes/mozilla/files/firefox-1.0-gcc4-compile.patch
@@ -0,0 +1,119 @@
+Index: gfx/src/freetype/nsFreeType.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/gfx/src/freetype/nsFreeType.cpp,v
+retrieving revision 1.24
+diff -u -r1.24 nsFreeType.cpp
+--- gfx/src/freetype/nsFreeType.cpp 7 Feb 2004 15:22:30 -0000 1.24
++++ gfx/src/freetype/nsFreeType.cpp 4 Mar 2005 19:59:53 -0000
+@@ -96,7 +96,7 @@
+ // Define the FreeType2 functions we resolve at run time.
+ // see the comment near nsFreeType2::DoneFace() for more info
+ //
+-#define NS_FT2_OFFSET(f) (int)&((nsFreeType2*)0)->f
++#define NS_FT2_OFFSET(f) (NS_PTR_TO_INT32(&((nsFreeType2*)0)->f))
+ FtFuncList nsFreeType2::FtFuncs [] = {
+ {"FT_Done_Face", NS_FT2_OFFSET(nsFT_Done_Face), PR_TRUE},
+ {"FT_Done_FreeType", NS_FT2_OFFSET(nsFT_Done_FreeType), PR_TRUE},
+Index: netwerk/protocol/http/src/nsHttpConnectionMgr.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/netwerk/protocol/http/src/nsHttpConnectionMgr.cpp,v
+retrieving revision 1.7.20.1
+diff -u -r1.7.20.1 nsHttpConnectionMgr.cpp
+--- netwerk/protocol/http/src/nsHttpConnectionMgr.cpp 1 Sep 2004 23:31:03 -0000 1.7.20.1
++++ netwerk/protocol/http/src/nsHttpConnectionMgr.cpp 4 Mar 2005 19:59:57 -0000
+@@ -834,8 +834,8 @@
+ void
+ nsHttpConnectionMgr::OnMsgUpdateParam(nsresult status, void *param)
+ {
+- PRUint16 name = (PRUint32(param) & 0xFFFF0000) >> 16;
+- PRUint16 value = PRUint32(param) & 0x0000FFFF;
++ PRUint16 name = (NS_PTR_TO_INT32(param) & 0xFFFF0000) >> 16;
++ PRUint16 value = NS_PTR_TO_INT32(param) & 0x0000FFFF;
+
+ switch (name) {
+ case MAX_CONNECTIONS:
+Index: security/nss/lib/pki1/oiddata.h
+===================================================================
+RCS file: /cvsroot/mozilla/security/nss/lib/pki1/oiddata.h,v
+retrieving revision 1.1
+diff -u -r1.1 oiddata.h
+--- security/nss/lib/pki1/oiddata.h 4 Jan 2002 05:22:07 -0000 1.1
++++ security/nss/lib/pki1/oiddata.h 4 Mar 2005 19:59:58 -0000
+@@ -43,9 +43,6 @@
+ #include "nsspki1t.h"
+ #endif /* NSSPKI1T_H */
+
+-extern const NSSOID nss_builtin_oids[];
+-extern const PRUint32 nss_builtin_oid_count;
+-
+ /*extern const nssAttributeTypeAliasTable nss_attribute_type_aliases[];*/
+ /*extern const PRUint32 nss_attribute_type_alias_count;*/
+
+Index: security/nss/lib/pki1/pki1.h
+===================================================================
+RCS file: /cvsroot/mozilla/security/nss/lib/pki1/pki1.h,v
+retrieving revision 1.2
+diff -u -r1.2 pki1.h
+--- security/nss/lib/pki1/pki1.h 19 Jul 2001 20:40:42 -0000 1.2
++++ security/nss/lib/pki1/pki1.h 4 Mar 2005 19:59:59 -0000
+@@ -58,6 +58,8 @@
+ /* fgmr 19990505 moved these here from oiddata.h */
+ extern const nssAttributeTypeAliasTable nss_attribute_type_aliases[];
+ extern const PRUint32 nss_attribute_type_alias_count;
++extern const NSSOID nss_builtin_oids[];
++extern const PRUint32 nss_builtin_oid_count;
+
+ /*
+ * NSSOID
+Index: widget/src/gtk2/nsDragService.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/widget/src/gtk2/nsDragService.cpp,v
+retrieving revision 1.5
+diff -u -r1.5 nsDragService.cpp
+--- widget/src/gtk2/nsDragService.cpp 30 Oct 2003 01:48:41 -0000 1.5
++++ widget/src/gtk2/nsDragService.cpp 4 Mar 2005 20:00:01 -0000
+@@ -838,7 +838,7 @@
+ (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+ listTarget->target = g_strdup(gMimeListType);
+ listTarget->flags = 0;
+- listTarget->info = (guint)listAtom;
++ listTarget->info = (guint)(NS_PTR_TO_INT32(listAtom));
+ PR_LOG(sDragLm, PR_LOG_DEBUG,
+ ("automatically adding target %s with id %ld\n",
+ listTarget->target, listAtom));
+@@ -877,7 +877,7 @@
+ (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+ listTarget->target = g_strdup(gTextUriListType);
+ listTarget->flags = 0;
+- listTarget->info = (guint)listAtom;
++ listTarget->info = (guint)NS_PTR_TO_INT32(listAtom);
+ PR_LOG(sDragLm, PR_LOG_DEBUG,
+ ("automatically adding target %s with \
+ id %ld\n", listTarget->target, listAtom));
+@@ -914,7 +914,7 @@
+ (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+ target->target = g_strdup(flavorStr);
+ target->flags = 0;
+- target->info = (guint)atom;
++ target->info = (guint)NS_PTR_TO_INT32(atom);
+ PR_LOG(sDragLm, PR_LOG_DEBUG,
+ ("adding target %s with id %ld\n",
+ target->target, atom));
+@@ -931,7 +931,7 @@
+ (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+ plainTarget->target = g_strdup(kTextMime);
+ plainTarget->flags = 0;
+- plainTarget->info = (guint)plainAtom;
++ plainTarget->info = (guint)NS_PTR_TO_INT32(plainAtom);
+ PR_LOG(sDragLm, PR_LOG_DEBUG,
+ ("automatically adding target %s with \
+ id %ld\n", plainTarget->target, plainAtom));
+@@ -948,7 +948,7 @@
+ (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+ urlTarget->target = g_strdup(gMozUrlType);
+ urlTarget->flags = 0;
+- urlTarget->info = (guint)urlAtom;
++ urlTarget->info = (guint)NS_PTR_TO_INT32(urlAtom);
+ PR_LOG(sDragLm, PR_LOG_DEBUG,
+ ("automatically adding target %s with \
+ id %ld\n", urlTarget->target, urlAtom));
diff --git a/recipes/mozilla/files/i386/jsautocfg.h b/recipes/mozilla/files/i386/jsautocfg.h
new file mode 100644
index 0000000000..394271a7ea
--- /dev/null
+++ b/recipes/mozilla/files/i386/jsautocfg.h
@@ -0,0 +1,54 @@
+#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)
+
+#define JS_HAVE_LONG_LONG
+
+#endif /* js_cpucfg___ */
diff --git a/recipes/mozilla/files/i486/jsautocfg.h b/recipes/mozilla/files/i486/jsautocfg.h
new file mode 100644
index 0000000000..394271a7ea
--- /dev/null
+++ b/recipes/mozilla/files/i486/jsautocfg.h
@@ -0,0 +1,54 @@
+#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)
+
+#define JS_HAVE_LONG_LONG
+
+#endif /* js_cpucfg___ */
diff --git a/recipes/mozilla/files/i586/jsautocfg.h b/recipes/mozilla/files/i586/jsautocfg.h
new file mode 100644
index 0000000000..394271a7ea
--- /dev/null
+++ b/recipes/mozilla/files/i586/jsautocfg.h
@@ -0,0 +1,54 @@
+#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)
+
+#define JS_HAVE_LONG_LONG
+
+#endif /* js_cpucfg___ */
diff --git a/recipes/mozilla/files/i686/jsautocfg.h b/recipes/mozilla/files/i686/jsautocfg.h
new file mode 100644
index 0000000000..394271a7ea
--- /dev/null
+++ b/recipes/mozilla/files/i686/jsautocfg.h
@@ -0,0 +1,54 @@
+#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)
+
+#define JS_HAVE_LONG_LONG
+
+#endif /* js_cpucfg___ */
diff --git a/recipes/mozilla/files/minimo.desktop b/recipes/mozilla/files/minimo.desktop
new file mode 100644
index 0000000000..7120ee5202
--- /dev/null
+++ b/recipes/mozilla/files/minimo.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Name=Minimo
+GenericName=Web Browser
+Comment=Browse the web
+Icon=minimo.png
+Exec=minimo
+Terminal=false
+Categories=Network;WebBrowser;
+StartupNotify=true
diff --git a/recipes/mozilla/files/minimo.png b/recipes/mozilla/files/minimo.png
new file mode 100644
index 0000000000..f8b2e2192b
--- /dev/null
+++ b/recipes/mozilla/files/minimo.png
Binary files differ
diff --git a/recipes/mozilla/files/mozilla-firefox.desktop b/recipes/mozilla/files/mozilla-firefox.desktop
new file mode 100644
index 0000000000..00c0ea4fa3
--- /dev/null
+++ b/recipes/mozilla/files/mozilla-firefox.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Firefox Browser
+Comment=Firefox Web Browser
+Exec=firefox
+Terminal=false
+MultipleArgs=false
+Type=Application
+Icon=mozilla-firefox.png
+Categories=Application;Internet;
+SingleInstance=true
+
diff --git a/recipes/mozilla/files/mozilla-firefox.png b/recipes/mozilla/files/mozilla-firefox.png
new file mode 100644
index 0000000000..f8b2e2192b
--- /dev/null
+++ b/recipes/mozilla/files/mozilla-firefox.png
Binary files differ
diff --git a/recipes/mozilla/files/mozilla-thunderbird.desktop b/recipes/mozilla/files/mozilla-thunderbird.desktop
new file mode 100644
index 0000000000..61615d94c2
--- /dev/null
+++ b/recipes/mozilla/files/mozilla-thunderbird.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Thunderbird Email Client
+Comment=Thunderbird Email Client
+Exec=thunderbird
+Terminal=false
+MultipleArgs=false
+Type=Application
+Icon=mozilla-thunderbird.png
+Categories=Application;Internet;
+SingleInstance=true
+
diff --git a/recipes/mozilla/files/mozilla-thunderbird.png b/recipes/mozilla/files/mozilla-thunderbird.png
new file mode 100644
index 0000000000..90ff395ff5
--- /dev/null
+++ b/recipes/mozilla/files/mozilla-thunderbird.png
Binary files differ
diff --git a/recipes/mozilla/files/no-xmb.patch b/recipes/mozilla/files/no-xmb.patch
new file mode 100644
index 0000000000..1b909a677c
--- /dev/null
+++ b/recipes/mozilla/files/no-xmb.patch
@@ -0,0 +1,18 @@
+--- mozilla/gfx/src/gtk/nsGdkUtils.cpp.old 2004-07-02 09:33:33.000000000 +0100
++++ mozilla/gfx/src/gtk/nsGdkUtils.cpp 2004-07-02 09:33:34.000000000 +0100
+@@ -115,6 +115,7 @@
+ #endif /* MOZ_WIDGET_GTK2 */
+ }
+ }
++#if 0
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ #ifdef MOZ_WIDGET_GTK
+@@ -128,6 +129,7 @@
+ fontset, GDK_GC_XGC(gc), x, y, text, text_length);
+ #endif /* MOZ_WIDGET_GTK2 */
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
diff --git a/recipes/mozilla/files/powerpc/jsautocfg.h b/recipes/mozilla/files/powerpc/jsautocfg.h
new file mode 100644
index 0000000000..408a5e4ac4
--- /dev/null
+++ b/recipes/mozilla/files/powerpc/jsautocfg.h
@@ -0,0 +1,54 @@
+#ifndef js_cpucfg___
+#define js_cpucfg___
+
+/* AUTOMATICALLY GENERATED - DO NOT EDIT */
+
+#undef IS_LITTLE_ENDIAN
+#define IS_BIG_ENDIAN 1
+
+#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 8L
+#define JS_ALIGN_OF_FLOAT 4L
+#define JS_ALIGN_OF_DOUBLE 8L
+#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)
+
+#define JS_HAVE_LONG_LONG
+
+#endif /* js_cpucfg___ */
diff --git a/recipes/mozilla/files/xptcstubs.patch b/recipes/mozilla/files/xptcstubs.patch
new file mode 100644
index 0000000000..7517acef27
--- /dev/null
+++ b/recipes/mozilla/files/xptcstubs.patch
@@ -0,0 +1,19 @@
+Index: xptcstubs_arm.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp,v
+retrieving revision 1.7
+diff -u -r1.7 xptcstubs_arm.cpp
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 18 Apr 2004 14:18:18 -0000 1.7
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 4 May 2004 18:36:44 -0000
+@@ -45,9 +45,9 @@
+ #endif
+
+ /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */
+-static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch");
++nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch");
+
+-static nsresult
++nsresult
+ PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args)
+ {
+ #define PARAM_BUFFER_COUNT 16