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