##################################################################### ## ## SeaMonkey 2.0.9 for AIX 5.1 ## ## Build platform: RS/6000 7044P 170 ## Compilers used: IBM XLC/C++ 7.0 (Patchlevel Jul 2007) ## Build date : Sep 30st 2010 ## BuildID : 20100930220505 ## Built by : Uli Link ( ul.mcamafia (-at-) linkitup.de ) ## Built from : changeset dc338f6c00de tag SEAMONKEY_2_0_9_RELEASE ## plus attached patches ## ##################################################################### This build of SeaMonkey 2.0.9 was produced on a powerpc-ibm-aix5.1.0.0 platform, but configured to use the common processor model supporting all RS/6000 machines. It is a 32bit executable, so you'll need 32bit Java for using the Java plugin. It is tested to run on AIX 5.1ML09, AIX 5.2TL10 and AIX 5.3TL11. 256 MB RAM is absolute minimum, 512 MB recommended. TrueColour Display mandatory. For more detailed information visit my website: http://www.linkitup.de/ForAIX/Mozilla Questions about this build can be addressed to Uli Link ( ul.mcamafia (-at-) linkitup.de ). Any bugs or issues should be reported to the Mozilla Bugzilla site (http://bugzilla.mozilla.org). This README blatantly ripped off from the README for previous Solaris 8/GTK1 Seamonkey releases by Michael Kelleher. ##################################################################### ## COMPILERS AND LIBRARIES USED ##################################################################### The following tools/libraries were used during compilation: IBM AIX 5.1 with Maintenance Level 9 IBM XLC/C++ 7.0 with Jul 2007 service pack (7.0.0.10) and the following RPM packages r atk-1.12.3-1 atk-devel-1.12.3-1 r cairo-1.8.8-2 cairo-devel-1.8.8-2 r expat-1.95.7-4 expat-devel-1.95.7-4 r fontconfig-2.3.2-3 fontconfig-devel-2.3.2-3 r freetype2-2.3.9-2 freetype2-devel-2.3.9-2 r gettext-0.10.40-6 r glib2-2.12.4-1 glib2-devel-2.12.4-1 r gtk2-2.10.6-1 gtk2-devel-2.10.6-1 r libIDL-0.8.6-2 libIDL-devel-0.8.6-2 r libjpeg-6b-6 libjpeg-devel-6b-6 r libpng-1.2.8-5 libpng-devel-1.2.8-5 r libtiff-3.6.1-4 libtiff-devel-3.6.1-4 m4-1.4.1-1 make-3.80-1 r pango-1.14.5-1 pango-devel-1.14.5-1 r pixman-0.16.0-2 pixman-devel-0.16.0-2 pkg-config-0.19-1 renderproto-0.9.3-1 r xcursor-1.1.7-2 xcursor-devel-1.1.7-2 r xft-2.1.10-1 xft-devel-2.1.10-1 xorg-compat-aix-1.0-1 r xrender-0.9.4-1 zip-2.3-3 r zlib-1.2.3-1 zlib-devel-1.2.3-1 The RPMs marked with a leading (r) are needed for runtime, the others are needed at built-time only. Earlier versions for cairo (1.8.6), pixman(0.10.0), xrender/libXrender(0.8.4), xft/libXft (2.1.6) and xcursor/libXcursor (1.0.2) are expected to work, you may need to install with --nodeps flag. ##################################################################### ## INSTALLATION NOTES ##################################################################### * With root privileges run # # rpm -Uhv //seamonkey-2.0.9-1.aix*.ppc.rpm * Executables are dynamically linked against GTK2, but should not require the setting of any additional locations in LD_LIBRARY_PATH on a AIX 5.x installation. * No other special installation requirements should exist. ##################################################################### ## BUILD ENVIRONMENT AND COMMANDS ##################################################################### The following build environment and commands were used: $ CONFIG_SHELL=/usr/bin/bash $ CONFIGURE_ENV_ARGS=/usr/bin/bash $ LDFLAGS=-bh:5 $ export CONFIG_SHELL CONFIGURE_ENV_ARGS LDFLAGS $ gmake -f client.mk build $ cd $MOZ_OBJDIR $ gmake -C suite/installer and the following patch after unpacking the source tarball: ##################################################################### ## PATCH BUNDLE ## If you want to build yourself on AIX 5.3 you can omit ## the patch of mozilla/gfx/src/thebes/nsThebesDeviceContext.cpp ## If you compile on AIX 5.2 ## you must additionally fix ./mozilla/js/src/jsgc.c ## with a line #define HAS_POSIX_MEMALIGN 0 ## or you'll get unresolved external symbol .posix_memalign ## You'll need a working python 2.5 in your PATH for building ## First patch is for the toplevel source directory ## hg tag was SEAMONKEY_2_0_9_RELEASE ##################################################################### diff -U 8 -pr a/.mozconfig a/.mozconfig --- a/.mozconfig 2010-01-04 22:01:30.000000000 +0100 +++ a/.mozconfig 2010-01-05 16:09:02.000000000 +0100 @@ -0,0 +1,22 @@ +export OBJECT_MODE=32 +#export OBJECT_MODE=64 +export CC=xlc_r +export CXX=xlC_r +export AUTOCONF=/opt/freeware/bin/autoconf-2.13 +#export MOZILLA_OFFICIAL=1 +#export BUILD_OFFICIAL=1 +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/SM2_OBJ32 +#mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/SM2_OBJ64 +#mk_add_options MOZILLA_OFFICIAL=1 +#mk_add_options BUILD_OFFICIAL=1 +ac_add_options --enable-application=suite + +ac_add_options --disable-dbus +ac_add_options --disable-accessibility +ac_add_options --with-system-zlib +ac_add_options --enable-system-cairo + +ac_add_options --enable-optimize="-O2 -qarch=com -qmaxmem=-1" +#ac_add_options --enable-optimize="-O2 -qarch=ppc64 -qmaxmem=-1" +ac_add_options --disable-debug +ac_add_options --disable-tests ##################################################################### ## The appended patch has to be applied to the ./mozilla subdirectory ## of the source tree. ## it was created with the command ## hg diff -U 8 -p ## against the http://hg.mozilla.org/releases/mozilla-1.9.1/ ## repository ##################################################################### diff --git a/gfx/src/thebes/nsThebesDeviceContext.cpp b/gfx/src/thebes/nsThebesDeviceContext.cpp --- a/gfx/src/thebes/nsThebesDeviceContext.cpp +++ b/gfx/src/thebes/nsThebesDeviceContext.cpp @@ -192,17 +192,17 @@ nsThebesDeviceContext::SetDPI() if (NS_FAILED(rv)) { prefDPI = -1; } } #if defined(MOZ_ENABLE_GTK2) GdkScreen *screen = gdk_screen_get_default(); gtk_settings_get_for_screen(screen); // Make sure init is run so we have a resolution - PRInt32 OSVal = PRInt32(round(gdk_screen_get_resolution(screen))); + PRInt32 OSVal = PRInt32(rint(gdk_screen_get_resolution(screen))); if (prefDPI == 0) // Force the use of the OS dpi dpi = OSVal; else // Otherwise, the minimum dpi is 96dpi dpi = PR_MAX(OSVal, 96); #elif defined(XP_WIN) // XXX we should really look at the widget if !dc but it is currently always null