OS/2 package created from comm-central tag SEAMONKEY_2_0b2_RELEASE. The
configuration file used for the build is included here.

It was necessary to add two patches to work around bugs of the GCC 3.3.5
compiler when compiling in XPConnect and XPCOM (bug 453705 and bug 451278). The
content of these patches is appended below.

Support for the new downloadable font feature (also known as @font-face) has
not been implemented yet. HTML5 <audio> and <video> is now supported.

Requires kLibc 0.6.3 to run.

Peter Weilbacher <mozilla@Weilbacher.org>, 2009-09-09

_______________ .mozconfig _______________
MOZ_BUILD_DATE=20090909090909
mk_add_options MOZ_OBJDIR=m:/SM20/20b2

ac_add_options  --enable-application=suite

ac_add_options  --disable-debug
ac_add_options  --enable-optimize

ac_add_options  --disable-tests

================================ patches follow ================================
[OS/2] Bug 453705: workaround to fix builds break when compiling dom_quickstubs.cpp

diff --git a/js/src/xpconnect/src/qsgen.py b/js/src/xpconnect/src/qsgen.py
--- a/js/src/xpconnect/src/qsgen.py
+++ b/js/src/xpconnect/src/qsgen.py
@@ -472,6 +472,12 @@
                 "XPCVariant::newVariant(ccx, ${argVal})));\n"
                 "    if (!${name})\n"
                 "        return JS_FALSE;\n")
+            if os.name == 'os2': # Workaround for GCC 3.3.x bug.
+                template = (
+                    "    nsCOMPtr<nsIVariant> ${name}("
+                    "XPCVariant::newVariant(ccx, ${argVal}));\n"
+                    "    if (!${name})\n"
+                    "        return JS_FALSE;\n")
             f.write(substitute(template, params))
             return rvdeclared
         elif type.name == 'nsIAtom':
# HG changeset patch
# User Peter Weilbacher <mozilla@weilbacher.org>
# Date 1219360007 -10800
# Node ID 6cf68fab7f3c45c35ef3a710c602398f66a0be63
# Parent  73967cc9e4ee07b66a5a3f9a35958027a51507d5
Bug 451278: work around GCC 3.3 bug that breaks building on OS/2

diff --git a/xpcom/string/public/nsTString.h b/xpcom/string/public/nsTString.h
--- a/xpcom/string/public/nsTString.h
+++ b/xpcom/string/public/nsTString.h
@@ -444,9 +444,14 @@
          *        the length of the string already contained in the buffer
          */
 
+#ifdef XP_OS2 /* Workaround for GCC 3.3.x bug. */
+      nsTFixedString_CharT( char_type* data, size_type storageSize ) NS_COM;
+      nsTFixedString_CharT( char_type* data, size_type storageSize, size_type length ) NS_COM;
+#else
       NS_COM nsTFixedString_CharT( char_type* data, size_type storageSize );
 
       NS_COM nsTFixedString_CharT( char_type* data, size_type storageSize, size_type length );
+#endif
 
         // |operator=| does not inherit, so we must define our own
       self_type& operator=( char_type c )                                                       { Assign(c);        return *this; }
diff --git a/xpcom/string/public/nsTSubstring.h b/xpcom/string/public/nsTSubstring.h
--- a/xpcom/string/public/nsTSubstring.h
+++ b/xpcom/string/public/nsTSubstring.h
@@ -496,7 +496,11 @@
          * this is public to support automatic conversion of tuple to string
          * base type, which helps avoid converting to nsTAString.
          */
+#ifdef XP_OS2 /* Workaround for GCC 3.3.x bug. */
+      nsTSubstring_CharT(const substring_tuple_type& tuple) NS_COM;
+#else
       NS_COM nsTSubstring_CharT(const substring_tuple_type& tuple);
+#endif
 
         /**
          * allows for direct initialization of a nsTSubstring object. 
@@ -522,7 +526,11 @@
       PRUint32    mFlags;
 
         // default initialization 
+#ifdef XP_OS2 /* Workaround for GCC 3.3.x bug. */
+      nsTSubstring_CharT() NS_COM;
+#else
       NS_COM nsTSubstring_CharT();
+#endif
 
         // version of constructor that leaves mData and mLength uninitialized
       explicit
@@ -530,7 +538,11 @@
 
         // copy-constructor, constructs as dependent on given object
         // (NOTE: this is for internal use only)
+#ifdef XP_OS2 /* Workaround for GCC 3.3.x bug. */
+      nsTSubstring_CharT( const self_type& str ) NS_COM;
+#else
       NS_COM nsTSubstring_CharT( const self_type& str );
+#endif
 
         /**
          * this function releases mData and does not change the value of