diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/browser/app/Makefile.in mozilla/browser/app/Makefile.in
--- mozilla.orig/browser/app/Makefile.in	2005-04-09 08:29:22 +0900
+++ mozilla/browser/app/Makefile.in	2009-12-20 17:58:37 +0900
@@ -283,7 +283,7 @@
 
 ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
 
-APP_NAME = Firefox
+APP_NAME = $(MOZ_APP_NAME)
 
 AB_CD = $(MOZ_UI_LOCALE)
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/browser/app/profile/firefox.js mozilla/browser/app/profile/firefox.js
--- mozilla.orig/browser/app/profile/firefox.js	2005-04-07 04:23:39 +0900
+++ mozilla/browser/app/profile/firefox.js	2009-04-28 15:17:20 +0900
@@ -127,6 +127,7 @@
 pref("general.useragent.vendorSub", 
 #expand __APP_VERSION__
 );
+pref("general.useragent.vendorComment", "rayflood");
 
 pref("general.smoothScroll", false);
 #ifdef XP_UNIX
@@ -151,7 +152,7 @@
 pref("browser.startup.homepage_override.1", false);
 
 pref("browser.cache.disk.capacity",         50000);
-pref("browser.enable_automatic_image_resizing", true);
+pref("browser.enable_automatic_image_resizing", false);
 pref("browser.urlbar.matchOnlyTyped", false);
 pref("browser.chrome.site_icons", true);
 pref("browser.chrome.favicons", true);
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/build/autoconf/acoutput-fast.pl mozilla/build/autoconf/acoutput-fast.pl
--- mozilla.orig/build/autoconf/acoutput-fast.pl	2003-10-31 06:05:56 +0900
+++ mozilla/build/autoconf/acoutput-fast.pl	2009-04-28 15:17:20 +0900
@@ -74,16 +74,12 @@
   }
   # Call mkdir with the directories sorted by subdir count (how many /'s)
   if (@dirs) {
-    my $mkdir_command = "mkdir -p ". join(' ', @dirs);
-    if (system($mkdir_command)  != 0) {
-      print STDERR "Creating dirs all at once failed; trying one at atime\n";
       foreach $dir (@dirs) {
         if (not -d $dir) {
           print STDERR "Creating directory $dir\n";
           create_directory($dir);
         }
       }
-    }
   }
 }
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/client.mk mozilla/client.mk
--- mozilla.orig/client.mk	2006-04-13 07:50:47 +0900
+++ mozilla/client.mk	2009-12-20 18:00:04 +0900
@@ -155,7 +155,7 @@
         $(CVSCO) $(MOZCONFIG_FINDER) $(MOZCONFIG_LOADER) $(MOZCONFIG_MODULES); \
      else true; \
      fi; \
-     $(MOZCONFIG_LOADER) $(TOPSRCDIR) mozilla/.mozconfig.mk > mozilla/.mozconfig.out)
+     $(CONFIG_SHELL) $(MOZCONFIG_LOADER) $(TOPSRCDIR) mozilla/.mozconfig.mk > mozilla/.mozconfig.out)
 include $(TOPSRCDIR)/.mozconfig.mk
 include $(TOPSRCDIR)/build/unix/modules.mk
 
@@ -782,8 +782,8 @@
 $(OBJDIR)/Makefile $(OBJDIR)/config.status: $(CONFIG_STATUS_DEPS)
 	@if test ! -d $(OBJDIR); then $(MKDIR) $(OBJDIR); else true; fi
 	@echo cd $(OBJDIR);
-	@echo $(CONFIGURE) $(CONFIGURE_ARGS)
-	@cd $(OBJDIR) && $(CONFIGURE_ENV_ARGS) $(CONFIGURE) $(CONFIGURE_ARGS) \
+	@echo $(CONFIG_SHELL) $(CONFIGURE) $(CONFIGURE_ARGS)
+	@cd $(OBJDIR) && $(CONFIGURE_ENV_ARGS) $(CONFIG_SHELL) $(CONFIGURE) $(CONFIGURE_ARGS) \
 	  || ( echo "*** Fix above errors and then restart with\
                \"$(MAKE) -f client.mk build\"" && exit 1 )
 	@touch $(OBJDIR)/Makefile
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/config/autoconf.mk.in mozilla/config/autoconf.mk.in
--- mozilla.orig/config/autoconf.mk.in	2004-10-31 13:29:54 +0900
+++ mozilla/config/autoconf.mk.in	2009-04-28 15:17:20 +0900
@@ -401,6 +401,7 @@
 GLIB_GMODULE_LIBS	= @GLIB_GMODULE_LIBS@
 LIBIDL_CFLAGS = @LIBIDL_CFLAGS@
 LIBIDL_LIBS = @LIBIDL_LIBS@
+STATIC_LIBIDL = @STATIC_LIBIDL@
 
 MOZ_NATIVE_MAKEDEPEND	= @SYSTEM_MAKEDEPEND@
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/configure mozilla/configure
--- mozilla.orig/configure	2004-10-31 16:17:58 +0900
+++ mozilla/configure	2009-04-28 15:17:21 +0900
@@ -2811,7 +2811,7 @@
         _MIDL_MAJOR_VERSION=`echo ${_MIDL_FULL_VERSION} | $AWK -F\. '{ print $1 }'`
         _MIDL_MINOR_VERSION=`echo ${_MIDL_FULL_VERSION} | $AWK -F\. '{ print $2 }'`
         _MIDL_REV_VERSION=`echo ${_MIDL_FULL_VERSION} | $AWK -F\. '{ print $3 }'`
-         if test "$_MIDL_MAJOR_VERSION" != "5" -a "$_MIDL_FULL_VERSION" != "6.00.0347" -a "$_MIDL_FULL_VERSION" != "6.00.0361"; then
+         if test "$_MIDL_MAJOR_VERSION" != "5" -a "$_MIDL_FULL_VERSION" != "6.00.0347" -a "$_MIDL_FULL_VERSION" != "6.00.0361" -a "$_MIDL_FULL_VERSION" != "6.00.0366"; then
              { echo "configure: error: Midl version $_MIDL_FULL_VERSION was found.  Midl version must be 5.x.x (VC6*) or 6.00.0347 (VC7) or 6.00.0361 (VC.net 2003)." 1>&2; exit 1; }
          fi
 
@@ -5524,7 +5524,13 @@
         { echo "configure: error: Cannot find $_GLIB_PREFIX_DIR/include/glib.h ." 1>&2; exit 1; }
     fi
     GLIB_CFLAGS="-I${_GLIB_PREFIX_DIR}/include"
-    GLIB_LIBS="${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"
+    if test -f "${_GLIB_PREFIX_DIR}/lib/glib-1.2_s.lib"; then
+        GLIB_LIBS="${_GLIB_PREFIX_DIR}/lib/glib-1.2_s.lib"
+    elif test -f "${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"; then
+        GLIB_LIBS="${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"
+    else
+        { echo "configure: error: Cannot find $_GLIB_PREFIX_DIR/lib/glib-1.2.lib or $_GLIB_PREFIX_DIR/lib/glib-1.2_s.lib" 1>&2; exit 1; }
+    fi
 
     if test -n "$LIBIDL_PREFIX"; then
         _LIBIDL_PREFIX_DIR=`cd $LIBIDL_PREFIX && pwd`
@@ -5543,17 +5549,40 @@
         { echo "configure: error: Cannot find $_LIBIDL_PREFIX_DIR/include/libIDL/IDL.h ." 1>&2; exit 1; }
     fi
     LIBIDL_CFLAGS="-I${_LIBIDL_PREFIX_DIR}/include ${GLIB_CFLAGS}"
-    LIBIDL_LIBS="${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6.lib ${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"
+    if test -f "${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6_s.lib"; then
+        LIBIDL_LIBS="${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6_s.lib"
+        STATIC_LIBIDL=1
+    elif test -f "${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6.lib"; then
+        LIBIDL_LIBS="${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6.lib"
+    else
+        { echo "configure: error: Cannot find $_LIBIDL_PREFIX_DIR/lib/libidl-0.6.lib or $_LIBIDL_PREFIX_DIR/lib/libidl-0.6_s.lib" 1>&2; exit 1; }
+    fi
+    LIBIDL_LIBS="${LIBIDL_LIBS} ${GLIB_LIBS}"
     ;;
+
     *) # else cross-compiling
         if test -n "$GLIB_PREFIX"; then
             GLIB_CFLAGS="-I${GLIB_PREFIX}/include"
-            GLIB_LIBS="${GLIB_PREFIX}/lib/glib-1.2.lib"
+            if test -f "${GLIB_PREFIX}/lib/glib-1.2_s.lib"; then
+                GLIB_LIBS="${GLIB_PREFIX}/lib/glib-1.2_s.lib"
+            elif test -f "${GLIB_PREFIX}/lib/glib-1.2.lib"; then
+                GLIB_LIBS="${GLIB_PREFIX}/lib/glib-1.2.lib"
+            else
+                { echo "configure: error: Cannot find $GLIB_PREFIX/lib/glib-1.2.lib or $GLIB_PREFIX/lib/glib-1.2_s.lib" 1>&2; exit 1; }
+            fi
         fi
         if test -n "$LIBIDL_PREFIX"; then
             LIBIDL_CFLAGS="-I${LIBIDL_PREFIX}/include ${GLIB_CFLAGS}"
-            LIBIDL_LIBS="${LIBIDL_PREFIX}/lib/libIDL-0.6.lib ${GLIB_LIBS}"
+            if test -f "${LIBIDL_PREFIX}/lib/libIDL-0.6_s.lib"; then
+                LIBIDL_LIBS="${LIBIDL_PREFIX}/lib/libIDL-0.6_s.lib"
+                STATIC_LIBIDL=1
+            elif test -f "${LIBIDL_PREFIX}/lib/libIDL-0.6.lib"; then
+                LIBIDL_LIBS="${LIBIDL_PREFIX}/lib/libIDL-0.6.lib"
+            else
+                { echo "configure: error: Cannot find $LIBIDL_PREFIX/lib/libIDL-0.6.lib or $LIBIDL_PREFIX/lib/libIDL-0.6_s.lib" 1>&2; exit 1; }
+            fi
         fi
+        LIBIDL_LIBS="${LIBIDL_LIBS} ${GLIB_LIBS}"
         ;;
     esac 
 
@@ -17356,6 +17385,7 @@
 s%@GLIB_LIBS@%$GLIB_LIBS%g
 s%@LIBIDL_CONFIG@%$LIBIDL_CONFIG%g
 s%@ORBIT_CONFIG@%$ORBIT_CONFIG%g
+s%@STATIC_LIBIDL@%$STATIC_LIBIDL%g
 s%@GLIB_GMODULE_LIBS@%$GLIB_GMODULE_LIBS%g
 s%@HOST_LIBIDL_CONFIG@%$HOST_LIBIDL_CONFIG%g
 s%@HOST_LIBIDL_CFLAGS@%$HOST_LIBIDL_CFLAGS%g
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/embedding/browser/activex/src/control/DropTarget.cpp mozilla/embedding/browser/activex/src/control/DropTarget.cpp
--- mozilla.orig/embedding/browser/activex/src/control/DropTarget.cpp	2003-09-29 06:17:24 +0900
+++ mozilla/embedding/browser/activex/src/control/DropTarget.cpp	2009-04-28 15:17:21 +0900
@@ -217,7 +217,7 @@
     FORMATETC formatetc;
     STGMEDIUM stgmedium;
     memset(&formatetc, 0, sizeof(formatetc));
-    memset(&stgmedium, 0, sizeof(formatetc));
+    memset(&stgmedium, 0, sizeof(stgmedium));
 
     formatetc.dwAspect = DVASPECT_CONTENT;
     formatetc.lindex = -1;
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/embedding/browser/activex/src/control_kicker/Makefile.in mozilla/embedding/browser/activex/src/control_kicker/Makefile.in
--- mozilla.orig/embedding/browser/activex/src/control_kicker/Makefile.in	2002-12-28 10:13:19 +0900
+++ mozilla/embedding/browser/activex/src/control_kicker/Makefile.in	2009-04-28 15:17:21 +0900
@@ -45,8 +45,6 @@
 
 include $(topsrcdir)/config/rules.mk
 
-CXXFLAGS += /D "WIN32" /GX /GF /MT /O1
-
 libs::
 ifdef MOZ_ACTIVEX_REGISTRATION
 ifneq ($(OS_TARGET),WIN98)
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/embedding/browser/activex/src/plugin/Makefile.in mozilla/embedding/browser/activex/src/plugin/Makefile.in
--- mozilla.orig/embedding/browser/activex/src/plugin/Makefile.in	2004-02-19 11:43:26 +0900
+++ mozilla/embedding/browser/activex/src/plugin/Makefile.in	2009-04-28 15:17:21 +0900
@@ -31,7 +31,6 @@
 LIBRARY_NAME    = npmozax
 RESFILE         = MozActiveX.res
 DEFFILE         = npmozax.def
-GRE_MODULE	= 1
 
 REQUIRES = \
     xpcom \
@@ -206,6 +205,24 @@
 endif
 
 
+XPI_NAME               = npmozax
+USE_EXTENSION_MANIFEST = 1
+NO_JAR_AUTO_REG        = 1
+EXTENSION_ID   = {7a44b226-a1d6-44d4-b198-9b47265f3372}
+XPI_PKGNAME            = npmozax-$(MOZILLA_VERSION)
+
+PREF_JS_EXPORTS = $(srcdir)/activex.js
+
+EXTRA_COMPONENTS = nsAxSecurityPolicy.js
+
+DIST_FILES = install.rdf install.js
+
+XULAPP_DEFINES = \
+	-DEXTENSION_VERSION=$(MOZILLA_VERSION) \
+	-DEXTENSION_ID=$(EXTENSION_ID) \
+	$(NULL)
+
+FINAL_TARGET = $(DIST)/xpi-stage/$(XPI_NAME)
 
 SRCS_IN_OBJDIR	= 1
 
@@ -213,6 +230,25 @@
 
 CXXFLAGS += -GX
 
+libs::
+	$(NSINSTALL) -D $(FINAL_TARGET)/defaults/preferences
+	$(INSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(FINAL_TARGET)/plugins
+	$(INSTALL) $(IFLAGS1) $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt $(FINAL_TARGET)/components
+	for c in $(EXTRA_COMPONENTS); do \
+		$(INSTALL) $(IFLAGS2) $(srcdir)/$$c $(FINAL_TARGET)/components; \
+	done
+	for i in $(PREF_JS_EXPORTS); do \
+		$(PERL) $(topsrcdir)/config/preprocessor.pl \
+			$(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) \
+			$$i > $(FINAL_TARGET)/defaults/preferences/`basename $$i`; \
+	done
+	for f in $(DIST_FILES); do \
+		$(PERL) $(topsrcdir)/config/preprocessor.pl \
+			$(XULAPP_DEFINES) $(DEFINES) $(ACDEFINES) \
+			$(srcdir)/$$f > $(FINAL_TARGET)/`basename $$f`; \
+	done
+	cd $(FINAL_TARGET) && $(ZIP) -qr ../$(XPI_PKGNAME).xpi *
+
 ifdef MOZ_ACTIVEX_PLUGIN_LIVCONNECT
 copy-sources: $(addprefix $(MOZCTLSRC)/,$(_CONTROL_CPPSRCS))
 	$(INSTALL) $^ .
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/embedding/browser/activex/src/plugin/install.js mozilla/embedding/browser/activex/src/plugin/install.js
--- mozilla.orig/embedding/browser/activex/src/plugin/install.js	2003-06-18 01:39:57 +0900
+++ mozilla/embedding/browser/activex/src/plugin/install.js	2009-04-28 15:17:21 +0900
@@ -1,27 +1,23 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Settings!
 
+#filter substitution
+
 var SOFTWARE_NAME  = "ActiveX Plugin";
-var VERSION        = "1.0.0.3";
-var PLID_BASE      = "@mozilla.org/ActiveXPlugin";
+var VERSION        = "@EXTENSION_VERSION@";
+var PLID_BASE      = "@EXTENSION_ID@";
 var PLID           = PLID_BASE + ",version=" + VERSION;
 
 var FLDR_COMPONENTS = getFolder("Components");
 var FLDR_PLUGINS   = getFolder("Plugins");
 var FLDR_PREFS     = getFolder("Program","defaults/pref");
-var FLDR_WINSYS    = getFolder("Win System");
 
-var PLUGIN         = new FileToInstall("npmozax.dll", 300, FLDR_PLUGINS);
-var XPT            = new FileToInstall("nsIMozAxPlugin.xpt", 2, FLDR_COMPONENTS);
-var SECURITYPOLICY = new FileToInstall("nsAxSecurityPolicy.js", 9, FLDR_COMPONENTS);
-var PREFS          = new FileToInstall("activex.js", 5, FLDR_PREFS);
-
-var MSVCRT         = new FileToInstall("msvcrt.dll", 400, FLDR_WINSYS);
-var MSSTL60        = new FileToInstall("msvcp60.dll", 300, FLDR_WINSYS);
-var MSSTL70        = new FileToInstall("msvcp70.dll", 300, FLDR_WINSYS);
+var PLUGIN         = new FileToInstall("plugins/npmozax.dll", 300, FLDR_PLUGINS);
+var XPT            = new FileToInstall("components/npmozax.xpt", 2, FLDR_COMPONENTS);
+var SECURITYPOLICY = new FileToInstall("components/nsAxSecurityPolicy.js", 9, FLDR_COMPONENTS);
+var PREFS          = new FileToInstall("defaults/preferences/activex.js", 5, FLDR_PREFS);
 
 var filesToAdd     = new Array(PLUGIN, XPT, SECURITYPOLICY, PREFS);
-var sysFilesToAdd  = new Array(MSVCRT, MSSTL60, MSSTL70);
 
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -56,44 +52,6 @@
     {
         logComment("Cancelling current browser install due to lack of space...");
     }
-
-    // Install C runtime files
-    if (err == SUCCESS)
-    {
-        if (verifyDiskSpace(FLDR_WINSYS, calcSpaceRequired(sysFilesToAdd)) == SUCCESS)
-        {
-            // Install system dlls *only* if they do not exist.
-            //
-            // NOTE: Ignore problems installing these files, since all kinds
-            //       of stuff could cause this to fail and I really don't care
-            //       about dealing with email describing failed permissions,
-            //       locked files or whatnot.
-            for (i = 0; i < sysFilesToAdd.length; i++)
-            {
-                fileTemp   = sysFilesToAdd[i].path + sysFilesToAdd[i].name;
-                fileUrl = getFolder("file:///", fileTemp);
-                if (File.exists(fileUrl) == false)
-                {
-                    logComment("File not found: " + fileTemp);
-                    addFile("/Microsoft/Shared",
-                        VERSION,
-                        sysFilesToAdd[i].name, // dir name in jar to extract 
-                        sysFilesToAdd[i].path, // Where to put this file (Returned from getFolder) 
-                        "",                    // subdir name to create relative to fProgram
-                        WIN_SHARED_FILE);
-                    logComment("addFile() of " + sysFilesToAdd[i].name + " returned: " + err);
-                }
-                else
-                {
-                    logComment("File found: " + sysFilesToAdd[i].name );
-                }
-            }
-        }
-        else
-        {
-            logComment("Cancelling current browser install due to lack of space...");
-        }
-    }
 }
 else
 {
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/embedding/browser/activex/src/plugin/install.rdf mozilla/embedding/browser/activex/src/plugin/install.rdf
--- mozilla.orig/embedding/browser/activex/src/plugin/install.rdf	1970-01-01 09:00:00 +0900
+++ mozilla/embedding/browser/activex/src/plugin/install.rdf	2009-04-28 15:17:21 +0900
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+
+#filter substitution
+
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
+  <Description about="urn:mozilla:install-manifest">
+    <em:id>@EXTENSION_ID@</em:id>
+    <em:version>@EXTENSION_VERSION@</em:version>
+
+    <em:targetApplication>
+      <!-- Firefox -->
+      <Description>
+        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
+        <em:minVersion>1.0</em:minVersion>
+        <em:maxVersion>1.0.*</em:maxVersion>
+      </Description>
+    </em:targetApplication>
+
+    <!-- Mozilla -->
+    <em:targetApplication>
+      <Description>
+        <em:id>{86c18b42-e466-45a9-ae7a-9b95ba6f5640}</em:id>
+        <em:minVersion>1.7</em:minVersion>
+        <em:maxVersion>1.7.*</em:maxVersion>
+      </Description>
+    </em:targetApplication>
+
+    <!-- EXTENSION AUTHORS!
+         DO NOT COPY THIS PROPERTY INTO YOUR INSTALL RDF FILES
+         It will cause users not to be informed of incompatibilities 
+         with your extension when they are updated with Software Update
+         and your extension will become unavailable to them!
+         -->
+    <em:appManaged>true</em:appManaged>
+
+    <!-- front-end metadata -->
+    <em:name>ActiveX Plugin</em:name>
+    <em:description>ActiveX controls in Gecko embedded applications.</em:description>
+    <em:creator>hATrayflood</em:creator>
+    <em:homepageURL>http://rayflood.org/mozilla/</em:homepageURL>
+  </Description>
+</RDF>
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/jpeg/Makefile.in mozilla/jpeg/Makefile.in
--- mozilla.orig/jpeg/Makefile.in	2002-12-28 10:13:50 +0900
+++ mozilla/jpeg/Makefile.in	2009-04-28 15:17:21 +0900
@@ -78,7 +78,9 @@
 		jos2fig.h \
 		$(NULL)
 
-ifneq (,$(filter os2 windows,$(MOZ_WIDGET_TOOLKIT)))
+# These files enable support for writing JPEGs
+# (on certain platforms, or if JPEG image encoder support is required)
+ifneq (,$(filter os2 windows,$(MOZ_WIDGET_TOOLKIT))$(filter jpeg,$(MOZ_IMG_ENCODERS)))
 CSRCS		+= \
 		jcapimin.c \
 		jcparam.c \
@@ -102,17 +104,3 @@
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
-
-ifeq ($(OS_ARCH),WINNT)
-ifndef GNU_CC
-#//  -Zi -GM needed to compile mmx functions in assembly.
-CFLAGS	+= -Zi -GM
-endif
-endif
-
-# Using the -Zi flag causes debugging info to be written to the .pdb files,
-# so we cannot do parallel builds here
-ifeq ($(OS_ARCH),WINNT)
-.NOTPARALLEL::
-endif
-
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/jpeg/jdapimin.c mozilla/jpeg/jdapimin.c
--- mozilla.orig/jpeg/jdapimin.c	2004-08-28 06:03:40 +0900
+++ mozilla/jpeg/jdapimin.c	2009-04-28 15:17:21 +0900
@@ -26,8 +26,6 @@
 #endif
 
 #ifdef HAVE_SSE2_INTEL_MNEMONICS
-#include "windows.h"
-
 int SSE2Available = 0;
 static int sse2support();
 #endif
@@ -484,7 +482,6 @@
 {
 	int sse2available = 0;
 	int my_edx;
-
 	_asm
 	{
 		mov eax, 01                       
@@ -495,25 +492,6 @@
 		sse2available = 1; 
 	else sse2available = 2;
 
-	/* The code below checks to see if the OS can handle */
-	/* SSE2 instructions. Windows NT below Service Pack  */
-	/* 5 without a special Intel Driver doesn't support  */
-	/* SSE2 instructions even though the processor may.  */
-	if (sse2available == 1)
-	{
-		__try
-		{
-			_asm
-			{
-				xorpd xmm0, xmm0  ; SSE2 instruction
-			}
-		}
-		__except(EXCEPTION_EXECUTE_HANDLER)
-		{
-			sse2available = 2;
-		}
-	}
-  
 	return sse2available;
 }
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/jpeg/jmorecfg.h mozilla/jpeg/jmorecfg.h
--- mozilla.orig/jpeg/jmorecfg.h	2004-03-26 10:17:16 +0900
+++ mozilla/jpeg/jmorecfg.h	2009-04-28 15:17:21 +0900
@@ -109,7 +109,9 @@
 
 #if defined(XP_WIN32) && defined(_M_IX86) && !defined(__GNUC__)
 #define HAVE_MMX_INTEL_MNEMONICS 
-#define HAVE_SSE2_INTEL_MNEMONICS 
+
+/* SSE2 code appears broken for some cpus (bug 247437) */
+/* #define HAVE_SSE2_INTEL_MNEMONICS */
 #endif
 
 /* Compressed datastreams are represented as arrays of JOCTET.
@@ -308,7 +310,7 @@
 /* Capability options common to encoder and decoder: */
 
 #define DCT_ISLOW_SUPPORTED	/* slow but accurate integer algorithm */
-#define DCT_IFAST_SUPPORTED	/* faster, less accurate integer method */
+#undef  DCT_IFAST_SUPPORTED	/* faster, less accurate integer method */
 #undef  DCT_FLOAT_SUPPORTED	/* floating-point: accurate, fast on fast HW */
 
 /* Encoder capability options: */
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mozconfig mozilla/mozconfig
--- mozilla.orig/mozconfig	1970-01-01 09:00:00 +0900
+++ mozilla/mozconfig	2009-12-19 15:24:02 +0900
@@ -0,0 +1,6 @@
+if [ -e ${topsrcdir}/../../mozconfig ] ; then
+	RF_MOZCONFIG=${topsrcdir}/../../mozconfig
+elif [ -e ${topsrcdir}/../../../mozconfig ] ; then
+	RF_MOZCONFIG=${topsrcdir}/../../../mozconfig
+fi
+. ${RF_MOZCONFIG}/mozconfig.sh
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/Darwin.mk mozilla/security/coreconf/Darwin.mk
--- mozilla.orig/security/coreconf/Darwin.mk	2003-11-13 10:59:22 +0900
+++ mozilla/security/coreconf/Darwin.mk	2009-12-20 18:09:31 +0900
@@ -62,8 +62,12 @@
 OS_CFLAGS	= $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wmost -fpascal-strings -no-cpp-precomp -fno-common -pipe -DDARWIN -DHAVE_STRERROR -DHAVE_BSD_FLOCK
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+OPTIMIZER	= $(MOZ_OPTIMIZE_FLAGS)
+else
 OPTIMIZER	= -O2
 endif
+endif
 
 ARCH		= darwin
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/Linux.mk mozilla/security/coreconf/Linux.mk
--- mozilla.orig/security/coreconf/Linux.mk	2004-02-11 11:33:51 +0900
+++ mozilla/security/coreconf/Linux.mk	2009-12-20 18:10:59 +0900
@@ -125,8 +125,12 @@
 	OS_REL_CFLAGS	+= -DLINUX2_0
 	MKSHLIB		= $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
 	ifdef BUILD_OPT
+	ifeq ($(MOZ_OPTIMIZE),2)
+		OPTIMIZER	= $(MOZ_OPTIMIZE_FLAGS)
+	else
 		OPTIMIZER	= -O2
 	endif
+	endif
 	ifdef MAPFILE
 		MKSHLIB += -Wl,--version-script,$(MAPFILE)
 	endif
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/OS2.mk mozilla/security/coreconf/OS2.mk
--- mozilla.orig/security/coreconf/OS2.mk	2004-10-16 09:11:52 +0900
+++ mozilla/security/coreconf/OS2.mk	2009-12-20 18:08:52 +0900
@@ -62,7 +62,7 @@
 ifdef XP_OS2_EMX
 
 CCC			= gcc
-LINK			= gcc
+LD			= gcc
 AR                      = emxomfar r $@
 # Keep AR_FLAGS blank so that we do not have to change rules.mk
 AR_FLAGS                = 
@@ -112,7 +112,11 @@
 
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+OPTIMIZER		= $(MOZ_OPTIMIZE_FLAGS)
+else
 OPTIMIZER		= -O2 -s
+endif
 DEFINES 		+= -UDEBUG -U_DEBUG -DNDEBUG
 DLLFLAGS		= -DLL -OUT:$@ -MAP:$(@:.dll=.map)
 EXEFLAGS    		= -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
@@ -139,7 +143,7 @@
 ASFLAGS = +Od
 endif
 CCC			= icc -q -DXP_OS2 -DOS2=4 -N10
-LINK			= -ilink
+LD			= -ilink
 AR		= -ilib /NOL /NOI /O:$(subst /,\\,$@)
 # Keep AR_FLAGS blank so that we do not have to change rules.mk
 AR_FLAGS                = 
@@ -189,7 +193,11 @@
 LDFLAGS     = /FREE /NOE /LINENUMBERS /nologo
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+OPTIMIZER		= $(MOZ_OPTIMIZE_FLAGS)
+else
 OPTIMIZER		= /O+ /Gl+ /G5 /qarch=pentium
+endif
 DEFINES 		+= -UDEBUG -U_DEBUG -DNDEBUG
 OBJDIR_TAG 		= _OPT
 LDFLAGS     += /NODEBUG /OPTFUNC /EXEPACK:2 /PACKCODE /PACKDATA
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/WIN16.mk mozilla/security/coreconf/WIN16.mk
--- mozilla.orig/security/coreconf/WIN16.mk	2002-02-16 07:53:12 +0900
+++ mozilla/security/coreconf/WIN16.mk	2009-12-20 18:59:07 +0900
@@ -66,7 +66,7 @@
 
 CC           = wcc
 CCC          = wcl
-LINK         = wlink
+LD           = wlink
 AR           = wlib
 AR          += -q $@
 RC           = wrc.exe
@@ -83,7 +83,11 @@
 DLL_SUFFIX   = dll
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER   = $(MOZ_OPTIMIZE_FLAGS)
+else
 	OPTIMIZER   = -oneatx -oh -oi -ei -3 -fpi87 -fp3
+endif
 else
 	OPTIMIZER  += -d2 -hc -DDEBUG
 #	OPTIMIZER  += -d2 -hw -DDEBUG
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/WIN32.mk mozilla/security/coreconf/WIN32.mk
--- mozilla.orig/security/coreconf/WIN32.mk	2004-09-15 05:59:42 +0900
+++ mozilla/security/coreconf/WIN32.mk	2009-12-20 18:07:44 +0900
@@ -41,7 +41,7 @@
 ifdef NS_USE_GCC
 	CC           = gcc
 	CCC          = g++
-	LINK         = ld
+	LD           = ld
 	AR           = ar
 	AR          += cr $@
 	RANLIB       = ranlib
@@ -51,7 +51,7 @@
 else
 	CC           = cl
 	CCC          = cl
-	LINK         = link
+	LD           = link
 	AR           = lib
 	AR          += -NOLOGO -OUT:"$@"
 	RANLIB       = echo
@@ -89,7 +89,11 @@
     _GEN_IMPORT_LIB=-Wl,--out-implib,$(IMPORT_LIBRARY)
     DLLFLAGS  += -mno-cygwin -o $@ -shared -Wl,--export-all-symbols $(if $(IMPORT_LIBRARY),$(_GEN_IMPORT_LIB))
     ifdef BUILD_OPT
+	ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER  += $(MOZ_OPTIMIZE_FLAGS)
+	else
 	OPTIMIZER  += -O2
+	endif
 	DEFINES    += -UDEBUG -U_DEBUG -DNDEBUG
 	#
 	# Add symbolic information for a profiler
@@ -108,7 +112,11 @@
 else # !NS_USE_GCC
     ifdef BUILD_OPT
 	OS_CFLAGS  += -MD
+	ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER  += $(MOZ_OPTIMIZE_FLAGS)
+	else
 	OPTIMIZER  += -O2
+	endif
 	DEFINES    += -UDEBUG -U_DEBUG -DNDEBUG
 	DLLFLAGS   += -OUT:"$@"
 	#
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/WINCE.mk mozilla/security/coreconf/WINCE.mk
--- mozilla.orig/security/coreconf/WINCE.mk	2002-04-05 09:52:31 +0900
+++ mozilla/security/coreconf/WINCE.mk	2009-12-20 18:10:07 +0900
@@ -50,7 +50,7 @@
 endif
 endif
 
-LINK         = link
+LD           = link
 AR           = lib
 AR          += -NOLOGO -OUT:"$@"
 RANLIB       = echo
@@ -80,7 +80,11 @@
 
 ifdef BUILD_OPT
 #   OS_CFLAGS  += -MD
+    ifeq ($(MOZ_OPTIMIZE),2)
+    OPTIMIZER  += $(MOZ_OPTIMIZE_FLAGS)
+    else
     OPTIMIZER  += -O2
+    endif
     DEFINES    += -UDEBUG -U_DEBUG -DNDEBUG
     DLLFLAGS   += -OUT:"$@"
 else
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/WINCE3.0.mk mozilla/security/coreconf/WINCE3.0.mk
--- mozilla.orig/security/coreconf/WINCE3.0.mk	2004-10-16 06:13:49 +0900
+++ mozilla/security/coreconf/WINCE3.0.mk	2009-04-28 15:17:22 +0900
@@ -79,7 +79,7 @@
     LINKFLAGS += -PDB:NONE
 endif
 
-LINK    += $(LINKFLAGS)
+LD      += $(LINKFLAGS)
 LDFLAGS += $(LINKFLAGS)
 
 OS_LIBS= coredll.lib corelibc.lib
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/command.mk mozilla/security/coreconf/command.mk
--- mozilla.orig/security/coreconf/command.mk	2002-02-16 07:53:12 +0900
+++ mozilla/security/coreconf/command.mk	2009-04-28 15:17:22 +0900
@@ -39,8 +39,8 @@
 AS            = $(CC)
 ASFLAGS      += $(CFLAGS)
 CCF           = $(CC) $(CFLAGS)
-LINK_DLL      = $(LINK) $(OS_DLLFLAGS) $(DLLFLAGS)
-LINK_EXE      = $(LINK) $(OS_LFLAGS) $(LFLAGS)
+LINK_DLL      = $(LD) $(OS_DLLFLAGS) $(DLLFLAGS)
+LINK_EXE      = $(LD) $(OS_LFLAGS) $(LFLAGS)
 NFSPWD        = $(NSINSTALL_DIR)/nfspwd
 CFLAGS        = $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
 		$(XCFLAGS)
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/manager/Makefile.in mozilla/security/manager/Makefile.in
--- mozilla.orig/security/manager/Makefile.in	2005-03-29 09:56:36 +0900
+++ mozilla/security/manager/Makefile.in	2009-12-20 18:06:12 +0900
@@ -27,6 +27,8 @@
 
 include $(DEPTH)/config/autoconf.mk
 
+export MOZ_OPTIMIZE MOZ_OPTIMIZE_FLAGS MOZ_OPTIMIZE_LDFLAGS MOZ_OPTIMIZE_SIZE_TWEAK
+
 MODULE = psm
 
 PACKAGE_FILE = psm.pkg
@@ -112,7 +114,7 @@
 	NATIVE_CC="$(HOST_CC)" \
 	CC="$(CC)" \
 	CCC="$(CXX)" \
-	LINK="$(LD)" \
+	LD="$(LD)" \
 	AS="$(AS)" \
 	AR='$(AR) $(AR_FLAGS:$@=$$@)' \
 	RANLIB="$(RANLIB)" \
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/packager.mk mozilla/toolkit/mozapps/installer/packager.mk
--- mozilla.orig/toolkit/mozapps/installer/packager.mk	2005-02-18 17:24:24 +0900
+++ mozilla/toolkit/mozapps/installer/packager.mk	2009-12-20 18:05:12 +0900
@@ -91,13 +91,13 @@
 endif
 ifeq ($(MOZ_PKG_FORMAT),DMG)
 ifdef MOZ_DEBUG
-_APPNAME	= $(MOZ_APP_DISPLAYNAME)Debug.app
+_APPNAME	= $(MOZ_APP_NAME)Debug.app
 else
-_APPNAME	= $(MOZ_APP_DISPLAYNAME).app
+_APPNAME	= $(MOZ_APP_NAME).app
 endif
 PKG_SUFFIX	= .dmg
 _ABS_TOPSRCDIR	= $(shell cd $(topsrcdir) && pwd)
-MAKE_PACKAGE	= $(_ABS_TOPSRCDIR)/build/package/mac_osx/make-diskimage $(PKG_BASENAME).dmg $(MOZ_PKG_APPNAME) $(MOZ_APP_DISPLAYNAME)
+MAKE_PACKAGE	= $(_ABS_TOPSRCDIR)/build/package/mac_osx/make-diskimage $(PKG_BASENAME).dmg $(MOZ_PKG_APPNAME) $(MOZ_APP_NAME)
 endif
 
 # dummy macro if we don't have PSM built
@@ -194,6 +194,11 @@
 endif
 endif # DMG
 	@echo "Stripping package directory..."
+	@for JAR in `ls $(DIST)/$(MOZ_PKG_APPNAME)/chrome/*.jar` ; do \
+		if test -d $${JAR%.*} ; then \
+			rm -rf $${JAR%.*} ; \
+		fi ; \
+	done
 	@cd $(DIST)/$(MOZ_PKG_APPNAME); find . ! -type d \
 			! -name "*.js" \
 			! -name "*.xpt" \
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/extra.c mozilla/toolkit/mozapps/installer/windows/wizard/setup/extra.c
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/extra.c	2005-06-16 17:56:18 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/extra.c	2009-08-19 21:17:09 +0900
@@ -4922,9 +4922,9 @@
   bIsWin95Debute = FALSE;
   if((hLib = LoadLibraryEx("kernel32.dll", NULL, LOAD_WITH_ALTERED_SEARCH_PATH)) != NULL)
   {
-    if(((FARPROC)NS_GetDiskFreeSpaceEx = GetProcAddress(hLib, "GetDiskFreeSpaceExA")) == NULL)
+    if((NS_GetDiskFreeSpaceEx = GetProcAddress(hLib, "GetDiskFreeSpaceExA")) == NULL)
     {
-      (FARPROC)NS_GetDiskFreeSpace = GetProcAddress(hLib, "GetDiskFreeSpaceA");
+      NS_GetDiskFreeSpace = GetProcAddress(hLib, "GetDiskFreeSpaceA");
       bIsWin95Debute = TRUE;
     }
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/setup.h mozilla/toolkit/mozapps/installer/windows/wizard/setup/setup.h
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/setup.h	2004-10-08 07:55:03 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/setup.h	2009-04-28 15:17:22 +0900
@@ -50,6 +50,8 @@
 #include "resource.h"
 #include "zipfile.h"
 
+#define strcmpi stricmp
+
 #define DEFAULT_SETUP_WINDOW_NAME       "Setup"
 /* Class name for the invisible window to be created */
 #define CLASS_NAME_SETUP                "MozillaSetup"
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/xpi.c mozilla/toolkit/mozapps/installer/windows/wizard/setup/xpi.c
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/xpi.c	2003-11-06 17:43:48 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/xpi.c	2009-08-19 21:18:00 +0900
@@ -107,19 +107,19 @@
     PrintError(szBuf, ERROR_CODE_SHOW);
     return(1);
   }
-  if(((FARPROC)pfnXpiInit = GetProcAddress(hXPIStubInst, "XPI_Init")) == NULL)
+  if((pfnXpiInit = (XpiInit)GetProcAddress(hXPIStubInst, "XPI_Init")) == NULL)
   {
     wsprintf(szBuf, szEGetProcAddress, "XPI_Init");
     PrintError(szBuf, ERROR_CODE_SHOW);
     return(1);
   }
-  if(((FARPROC)pfnXpiInstall = GetProcAddress(hXPIStubInst, "XPI_Install")) == NULL)
+  if((pfnXpiInstall = (XpiInstall)GetProcAddress(hXPIStubInst, "XPI_Install")) == NULL)
   {
     wsprintf(szBuf, szEGetProcAddress, "XPI_Install");
     PrintError(szBuf, ERROR_CODE_SHOW);
     return(1);
   }
-  if(((FARPROC)pfnXpiExit = GetProcAddress(hXPIStubInst, "XPI_Exit")) == NULL)
+  if((pfnXpiExit = (XpiExit)GetProcAddress(hXPIStubInst, "XPI_Exit")) == NULL)
   {
     wsprintf(szBuf, szEGetProcAddress, "XPI_Exit");
     PrintError(szBuf, ERROR_CODE_SHOW);
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/uninstall/extra.c mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/extra.c
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/uninstall/extra.c	2004-02-28 05:17:13 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/extra.c	2009-08-19 21:18:36 +0900
@@ -924,9 +924,9 @@
   bIsWin95Debute = FALSE;
   if((hLib = LoadLibraryEx("kernel32.dll", NULL, LOAD_WITH_ALTERED_SEARCH_PATH)) != NULL)
   {
-    if(((FARPROC)NS_GetDiskFreeSpaceEx = GetProcAddress(hLib, "GetDiskFreeSpaceExA")) == NULL)
+    if((NS_GetDiskFreeSpaceEx = GetProcAddress(hLib, "GetDiskFreeSpaceExA")) == NULL)
     {
-      (FARPROC)NS_GetDiskFreeSpace = GetProcAddress(hLib, "GetDiskFreeSpaceA");
+      NS_GetDiskFreeSpace = GetProcAddress(hLib, "GetDiskFreeSpaceA");
       bIsWin95Debute = TRUE;
     }
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/uninstall/rdi.c mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/rdi.c
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/uninstall/rdi.c	2003-10-09 11:02:08 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/rdi.c	2009-08-19 21:18:56 +0900
@@ -136,7 +136,7 @@
   {
     iRv = WIZ_OK;
     *bIsMozMapi = FALSE;
-    if(((FARPROC)GetMapiDllVersion = GetProcAddress(hLib, "GetMapiDllVersion")) != NULL)
+    if((GetMapiDllVersion = GetProcAddress(hLib, "GetMapiDllVersion")) != NULL)
     {
       if(iMapiVersionInstalled == GetMapiDllVersion())
         *bIsMozMapi = TRUE;
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/xre/nsAppRunner.cpp mozilla/toolkit/xre/nsAppRunner.cpp
--- mozilla.orig/toolkit/xre/nsAppRunner.cpp	2005-05-25 01:47:48 +0900
+++ mozilla/toolkit/xre/nsAppRunner.cpp	2009-08-19 21:16:13 +0900
@@ -1162,7 +1162,7 @@
     return NS_ERROR_FAILURE;
 
   char *exePath = info.name;
-#elif
+#else
 #error Oops, you need platform-specific code here
 #endif
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/xre/nsXREDirProvider.cpp mozilla/toolkit/xre/nsXREDirProvider.cpp
--- mozilla.orig/toolkit/xre/nsXREDirProvider.cpp	2004-09-10 13:12:29 +0900
+++ mozilla/toolkit/xre/nsXREDirProvider.cpp	2009-08-19 22:28:57 +0900
@@ -181,7 +181,7 @@
 
   *p = 0;
   return NS_NewNativeLocalFile(nsDependentCString(info.name), PR_TRUE, getter_AddRefs(mAppDir));
-#elif
+#else
 #error Oops, you need platform-specific code here
 #endif
 }
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/widget/src/windows/nsBidiKeyboard.cpp mozilla/widget/src/windows/nsBidiKeyboard.cpp
--- mozilla.orig/widget/src/windows/nsBidiKeyboard.cpp	2004-01-04 05:01:28 +0900
+++ mozilla/widget/src/windows/nsBidiKeyboard.cpp	2009-08-19 21:15:18 +0900
@@ -134,11 +134,11 @@
   while (keyboards--) {
     locale = buf[keyboards];
     if (IsRTLLanguage(locale)) {
-      sprintf(mRTLKeyboard, "%.*x", KL_NAMELENGTH - 1, LANGIDFROMLCID(locale));
+      sprintf(mRTLKeyboard, "%.*x", KL_NAMELENGTH - 1, LANGIDFROMLCID((DWORD)locale));
       isRTLKeyboardSet = PR_TRUE;
     }
     else {
-      sprintf(mLTRKeyboard, "%.*x", KL_NAMELENGTH - 1, LANGIDFROMLCID(locale));
+      sprintf(mLTRKeyboard, "%.*x", KL_NAMELENGTH - 1, LANGIDFROMLCID((DWORD)locale));
       isLTRKeyboardSet = PR_TRUE;
     }
   }
@@ -189,7 +189,7 @@
 PRBool nsBidiKeyboard::IsRTLLanguage(HKL aLocale)
 {
   // This macro extracts the primary language id (low 10 bits) from the locale id
-  switch (PRIMARYLANGID(aLocale)){
+  switch (PRIMARYLANGID((DWORD)aLocale)){
     case LANG_ARABIC:
     case LANG_FARSI:
     case LANG_HEBREW:
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/widget/src/windows/nsWindow.cpp mozilla/widget/src/windows/nsWindow.cpp
--- mozilla.orig/widget/src/windows/nsWindow.cpp	2005-06-20 17:50:33 +0900
+++ mozilla/widget/src/windows/nsWindow.cpp	2009-08-20 01:00:09 +0900
@@ -444,6 +444,11 @@
 
 // VC++5.0 header doesn't have reconvertion structure and message.
 #ifndef WM_IME_REQUEST
+#define WM_IME_REQUEST                  0x0288
+#endif    // #ifndef WM_IME_REQUEST
+
+#ifndef IMR_RECONVERTSTRING
+#define IMR_RECONVERTSTRING             0x0004
 typedef struct tagRECONVERTSTRING {
     DWORD dwSize;
     DWORD dwVersion;
@@ -454,10 +459,7 @@
     DWORD dwTargetStrLen;
     DWORD dwTargetStrOffset;
 } RECONVERTSTRING, FAR * LPRECONVERTSTRING;
-
-#define IMR_RECONVERTSTRING             0x0004
-#define WM_IME_REQUEST                  0x0288
-#endif
+#endif    // #ifndef IMR_RECONVERTSTRING
 
 // from http://msdn.microsoft.com/library/specs/msime.h
 #define RWM_RECONVERT       TEXT("MSIMEReconvert")
@@ -4701,7 +4703,7 @@
         wc.cbClsExtra       = 0;
         wc.cbWndExtra       = 0;
         wc.hInstance        = nsToolkit::mDllInstance;
-        wc.hIcon            = ::LoadIconW(::GetModuleHandle(NULL), MAKEINTRESOURCEW(IDI_APPLICATION));
+    wc.hIcon         = ::LoadIcon(::GetModuleHandle(NULL), IDI_APPLICATION);
         wc.hCursor          = NULL;
         wc.hbrBackground    = mBrush;
         wc.lpszMenuName     = NULL;
@@ -4727,7 +4729,7 @@
         wc.cbClsExtra       = 0;
         wc.cbWndExtra       = 0;
         wc.hInstance        = nsToolkit::mDllInstance;
-        wc.hIcon            = ::LoadIconW(::GetModuleHandle(NULL), MAKEINTRESOURCEW(IDI_APPLICATION));
+    wc.hIcon         = ::LoadIcon(::GetModuleHandle(NULL), IDI_APPLICATION);
         wc.hCursor          = NULL;
         wc.hbrBackground    = mBrush;
         wc.lpszMenuName     = NULL;
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/xpcom/base/nsStackFrameWin.cpp mozilla/xpcom/base/nsStackFrameWin.cpp
--- mozilla.orig/xpcom/base/nsStackFrameWin.cpp	2003-01-16 05:40:00 +0900
+++ mozilla/xpcom/base/nsStackFrameWin.cpp	2009-04-28 15:17:22 +0900
@@ -196,7 +196,7 @@
          * Not loaded, here's the magic.
          * Go through all the modules.
          */
-        enumRes = _EnumerateLoadedModules(aProcess, callbackEspecial, (PVOID)aAddr);
+        enumRes = _EnumerateLoadedModules(aProcess, (PENUMLOADED_MODULES_CALLBACK)callbackEspecial, (PVOID)aAddr);
         if(FALSE != enumRes)
         {
             /*
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/xpcom/typelib/xpidl/Makefile.in mozilla/xpcom/typelib/xpidl/Makefile.in
--- mozilla.orig/xpcom/typelib/xpidl/Makefile.in	2004-02-21 07:14:13 +0900
+++ mozilla/xpcom/typelib/xpidl/Makefile.in	2009-04-28 15:17:22 +0900
@@ -52,6 +52,10 @@
 HOST_CSRCS	= $(CSRCS)
 endif
 
+ifdef STATIC_LIBIDL
+USE_STATIC_LIBS = 1
+endif
+
 include $(topsrcdir)/config/rules.mk
 
 CFLAGS		+= $(LIBIDL_CFLAGS)
@@ -62,6 +66,11 @@
 DEFINES		+= -DEXPORT_XPT_API
 ifndef GNU_CC
 LDFLAGS		+= -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRTD
+
+ifdef STATIC_LIBIDL
+LDFLAGS += -NODEFAULTLIB:MSVCRT
+endif
+
 endif
 endif
 

