diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/accessible/public/msaa/Makefile.in mozilla/accessible/public/msaa/Makefile.in
--- mozilla.orig/accessible/public/msaa/Makefile.in	2005-06-02 13:00:21 +0900
+++ mozilla/accessible/public/msaa/Makefile.in	2010-03-02 22:23:07 +0900
@@ -86,7 +86,6 @@
 
 OS_LIBS = \
 	kernel32.lib \
-	rpcndr.lib \
 	rpcns4.lib \
 	rpcrt4.lib \
 	oleaut32.lib \
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/accessible/src/msaa/nsAccessNodeWrap.h mozilla/accessible/src/msaa/nsAccessNodeWrap.h
--- mozilla.orig/accessible/src/msaa/nsAccessNodeWrap.h	2005-07-15 22:08:26 +0900
+++ mozilla/accessible/src/msaa/nsAccessNodeWrap.h	2010-03-02 22:23:07 +0900
@@ -51,7 +51,10 @@
 #include "nsAccessNode.h"
 #include "OLEIDL.H"
 #include "OLEACC.H"
-#include "winable.h"
+#include <winuser.h>
+#ifndef WINABLEAPI
+#include <winable.h>
+#endif
 #undef ERROR /// Otherwise we can't include nsIDOMNSEvent.h if we include this
 
 typedef LRESULT (STDAPICALLTYPE *LPFNNOTIFYWINEVENT)(DWORD event,HWND hwnd,LONG idObjectType,LONG idObject);
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	2004-04-18 23:17:09 +0900
+++ mozilla/build/autoconf/acoutput-fast.pl	2010-03-02 22:23:07 +0900
@@ -90,16 +90,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	2010-03-01 07:21:08 +0900
+++ mozilla/client.mk	2010-03-02 22:23:07 +0900
@@ -354,7 +354,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
 
@@ -875,8 +875,8 @@
 endif
 	@if test ! -d $(OBJDIR); then $(MKDIR) $(OBJDIR); else true; fi
 	@echo cd $(OBJDIR);
-	@echo $(CONFIGURE) $(CONFIGURE_ARGS)
-	@cd $(OBJDIR) && $(BUILD_PROJECT_ARG) $(CONFIGURE_ENV_ARGS) $(CONFIGURE) $(CONFIGURE_ARGS) \
+	@echo $(CONFIG_SHELL) $(CONFIGURE) $(CONFIGURE_ARGS)
+	@cd $(OBJDIR) && $(BUILD_PROJECT_ARG) $(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	2009-08-09 03:28:29 +0900
+++ mozilla/config/autoconf.mk.in	2010-03-02 22:23:07 +0900
@@ -545,6 +545,7 @@
 MOZ_TOOLS_DIR	= @MOZ_TOOLS_DIR@
 MOZ_DEBUG_SYMBOLS = @MOZ_DEBUG_SYMBOLS@
 MOZ_QUANTIFY	= @MOZ_QUANTIFY@
+MSMANIFEST_TOOL = @MSMANIFEST_TOOL@
 
 #python options
 PYTHON = @MOZ_PYTHON@
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/config/config.mk mozilla/config/config.mk
--- mozilla.orig/config/config.mk	2007-11-24 06:12:26 +0900
+++ mozilla/config/config.mk	2010-03-02 22:23:07 +0900
@@ -856,10 +856,6 @@
 LOCALE_SRCDIR = $(call EXPAND_LOCALE_SRCDIR,$(relativesrcdir))
 endif
 
-ifdef LOCALE_SRCDIR
-MAKE_JARS_FLAGS += -c $(LOCALE_SRCDIR)
-endif
-
 #
 # Add BUILD_ID to set of DEFINES
 #
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/config/rules.mk mozilla/config/rules.mk
--- mozilla.orig/config/rules.mk	2007-12-19 06:33:08 +0900
+++ mozilla/config/rules.mk	2010-05-25 01:37:43 +0900
@@ -197,7 +197,11 @@
 endif
 
 ifdef MAPFILE
+ifeq (,$(filter-out 1200,$(_MSC_VER)))
 OS_LDFLAGS += -MAP:$(MAPFILE) -MAPINFO:LINES
+else
+OS_LDFLAGS += -MAP:$(MAPFILE) -MAPINFO:EXPORTS
+endif # _MSC_VER
 #CFLAGS += -Fm$(MAPFILE)
 #CXXFLAGS += -Fm$(MAPFILE)
 endif
@@ -811,6 +815,15 @@
 
 ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH))
 	$(LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(PROGOBJS) $(RESFILE) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS)
+ifdef MSMANIFEST_TOOL
+	@if test -f $@.manifest; then \
+			mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
+		mt.exe -NOLOGO -INPUTRESOURCE:$@\;1 -MANIFEST $(WIN_TOP_SRC)/config/uiAccess.manifest -OUTPUTRESOURCE:$@\;1; \
+	fi
+ifdef WIN7_MANIFEST
+	mt.exe -NOLOGO -INPUTRESOURCE:$@\;1 -MANIFEST $(WIN_TOP_SRC)/config/win7.manifest -OUTPUTRESOURCE:$@\;1
+endif # WIN7_MANIFEST
+endif	# MSVC with manifest tool
 else
 ifeq ($(CPP_PROG_LINK),1)
 	$(CCC) -o $@ $(CXXFLAGS) $(WRAP_MALLOC_CFLAGS) $(PROGOBJS) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(BIN_FLAGS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(EXE_DEF_FILE)
@@ -843,6 +856,12 @@
 else
 ifeq (_WINNT,$(GNU_CC)_$(HOST_OS_ARCH))
 	$(HOST_LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(HOST_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
+ifdef MSMANIFEST_TOOL
+	@if test -f $@.manifest; then \
+		mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
+		rm -f $@.manifest; \
+	fi
+endif	# MSVC with manifest tool
 else
 	$(HOST_CC) -o $@ $(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
 endif
@@ -866,6 +885,12 @@
 else
 ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH))
 	$(LD) -nologo -out:$@ -pdb:$(PDBFILE) $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS)
+ifdef MSMANIFEST_TOOL
+	@if test -f $@.manifest; then \
+		mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
+		rm -f $@.manifest; \
+	fi
+endif	# MSVC with manifest tool
 else
 ifeq ($(CPP_PROG_LINK),1)
 	$(CCC) $(WRAP_MALLOC_CFLAGS) $(CXXFLAGS) -o $@ $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(BIN_FLAGS)
@@ -1019,6 +1044,14 @@
 endif # SHARED_LIBRARY_LIBS
 endif # NO_LD_ARCHIVE_FLAGS
 	$(MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(LOBJS) $(SUB_SHLOBJS) $(RESFILE) $(LDFLAGS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE)
+ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH))
+ifdef MSMANIFEST_TOOL
+	@if test -f $@.manifest; then \
+		mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \
+		rm -f $@.manifest; \
+	fi
+endif	# MSVC with manifest tool
+endif	# WINNT && !GCC
 	@rm -f foodummyfilefoo $(SUB_SHLOBJS) $(DELETE_AFTER_LINK)
 else # os2 vacpp
 	$(MKSHLIB) -O:$@ -DLL -INC:_dllentry $(LDFLAGS) $(OBJS) $(LOBJS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE)
@@ -1557,11 +1590,28 @@
 	if test -f $(JAR_MANIFEST); then \
 	  if test ! -d $(FINAL_TARGET)/chrome; then $(NSINSTALL) -D $(FINAL_TARGET)/chrome; fi; \
 	  if test ! -d $(MAKE_JARS_TARGET)/chrome; then $(NSINSTALL) -D $(MAKE_JARS_TARGET)/chrome; fi; \
+	MOZ_UI_LOCALE="CVS" ; \
+	if test "$(relativesrcdir)" ; then \
+		MOZ_UI_LOCALE="en-US `ls $(topsrcdir)/../l10n | sed -e 's/CVS//g'`" ; \
+	fi ; \
+	for AB_CD in $${MOZ_UI_LOCALE} ; do \
+		if test "$${AB_CD}" != "CVS" ; then \
+			if test "$${AB_CD}" = "en-US" ; then \
+				LOCALE_SRCDIR=$(topsrcdir)/$(relativesrcdir)/en-US ; \
+			else \
+				LOCALE_SRCDIR=$(topsrcdir)/../l10n/$${AB_CD}/$(subst /locales,,$(relativesrcdir)) ; \
+			fi ; \
+			DEFINES=-DAB_CD=$${AB_CD} ; \
+			MAKE_JARS_FLAGS="-c $${LOCALE_SRCDIR}" ; \
+		fi ; \
 	  $(PERL) $(MOZILLA_DIR)/config/preprocessor.pl $(XULPPFLAGS) $(DEFINES) $(ACDEFINES) \
+	    $${DEFINES} \
 	    $(JAR_MANIFEST) | \
 	  $(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/make-jars.pl \
 	    -d $(MAKE_JARS_TARGET)/chrome -j $(FINAL_TARGET)/chrome \
+	    $${MAKE_JARS_FLAGS} \
 	    $(MAKE_JARS_FLAGS) -- "$(XULPPFLAGS) $(DEFINES) $(ACDEFINES)"; \
+	done ; \
 	  $(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/make-chromelist.pl \
 	    $(FINAL_TARGET)/chrome $(JAR_MANIFEST) $(_NO_FLOCK); \
 	fi
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/config/uiAccess.manifest mozilla/config/uiAccess.manifest
--- mozilla.orig/config/uiAccess.manifest	1970-01-01 09:00:00 +0900
+++ mozilla/config/uiAccess.manifest	2010-03-02 22:23:08 +0900
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+  <ms_asmv3:trustInfo xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3">
+    <ms_asmv3:security>
+      <ms_asmv3:requestedPrivileges>
+        <ms_asmv3:requestedExecutionLevel level="asInvoker" uiAccess="false">
+        </ms_asmv3:requestedExecutionLevel>
+      </ms_asmv3:requestedPrivileges>
+    </ms_asmv3:security>
+  </ms_asmv3:trustInfo>
+</assembly>
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/config/win7.manifest mozilla/config/win7.manifest
--- mozilla.orig/config/win7.manifest	1970-01-01 09:00:00 +0900
+++ mozilla/config/win7.manifest	2010-03-02 22:23:08 +0900
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+    <application>
+      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
+      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
+    </application>
+  </compatibility>
+</assembly>
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/configure mozilla/configure
--- mozilla.orig/configure	2009-08-09 08:11:49 +0900
+++ mozilla/configure	2010-05-25 01:36:38 +0900
@@ -20,6 +20,12 @@
   --disable-compile-environment
                            Disable compiler/library checks."
 ac_help="$ac_help
+  --with-windows-version=WINVER
+                          Minimum Windows version (WINVER) to support
+                              400: Windows 95
+                              500: Windows 2000
+                              501: Windows XP"
+ac_help="$ac_help
   --enable-macos-target=VER (default=10.2/ppc, 10.4/x86)
                           Set the minimum MacOS version needed at runtime"
 ac_help="$ac_help
@@ -1068,6 +1074,8 @@
 GCONF_VERSION=1.2.1
 LIBGNOME_VERSION=2.0
 
+MSMANIFEST_TOOL=
+
 MISSING_X=
 for ac_prog in gawk mawk nawk awk
 do
@@ -2902,6 +2910,36 @@
 fi
 
 case "$target" in
+*-wince)
+    WINVER=400
+    ;;
+*)
+    if test -n "$GNU_CC"; then  
+        WINVER=400
+    else    
+        WINVER=400
+    fi
+    ;;
+esac
+
+# Check whether --with-windows-version or --without-windows-version was given.
+if test "${with_windows_version+set}" = set; then
+  withval="$with_windows_version"
+  WINVER=$withval
+fi
+
+
+case "$WINVER" in
+400|500|501)
+    ;;
+
+*)
+    { echo "configure: error: Invalid value --with-windows-version, must be 400, 500 or 501" 1>&2; exit 1; };
+    ;;
+
+esac
+
+case "$target" in
 *-cygwin*|*-mingw*|*-msvc*|*-mks*|*-wince)
     if test "$GCC" != "yes"; then
         # Check to see if we are really running in a msvc environemnt
@@ -3002,15 +3040,19 @@
 cross_compiling=$ac_cv_prog_cc_cross
 
         
-        _MSVC_VER_FILTER='s|.* \([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*|\1|p'
+        
+        _MSVC_VER_FILTER='s|.* ([0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?).*|\1|p'
+        
         
         # Determine compiler version
-        CC_VERSION=`"${CC}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"`
+        CC_VERSION=`"${CC}" -v 2>&1 | sed -nre "$_MSVC_VER_FILTER"`
         _CC_MAJOR_VERSION=`echo ${CC_VERSION} | $AWK -F\. '{ print $1 }'`
         _CC_MINOR_VERSION=`echo ${CC_VERSION} | $AWK -F\. '{ print $2 }'`
+        _CC_RELEASE=`echo ${CC_VERSION} | $AWK -F\. '{ print $3 }'`
+        _CC_BUILD=`echo ${CC_VERSION} | $AWK -F\. '{ print $4 }'`
         _MSC_VER=${_CC_MAJOR_VERSION}${_CC_MINOR_VERSION}
 
-        CXX_VERSION=`"${CXX}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"`
+        CXX_VERSION=`"${CXX}" -v 2>&1 | sed -nre "$_MSVC_VER_FILTER"`
         _CXX_MAJOR_VERSION=`echo ${CXX_VERSION} | $AWK -F\. '{ print $1 }'`
 
         if test "$_CC_MAJOR_VERSION" != "$_CXX_MAJOR_VERSION"; then
@@ -3022,12 +3064,72 @@
             _CC_SUITE=7
         elif test "$_CC_MAJOR_VERSION" = "14"; then
             _CC_SUITE=8
+            CXXFLAGS="$CXXFLAGS -Zc:wchar_t-"
+                                                if test $_CC_RELEASE -gt 50727; then
+               _USE_DYNAMICBASE=1
+            elif test $_CC_BUILD -ge 762; then
+               _USE_DYNAMICBASE=1
+            fi
+            cat >> confdefs.h <<\EOF
+#define _CRT_SECURE_NO_DEPRECATE 1
+EOF
+
+            cat >> confdefs.h <<\EOF
+#define _CRT_NONSTDC_NO_DEPRECATE 1
+EOF
+
+        elif test "$_CC_MAJOR_VERSION" = "15"; then
+            _CC_SUITE=9
+            CXXFLAGS="$CXXFLAGS -Zc:wchar_t-"
+            LDFLAGS="$LDFLAGS -MANIFESTUAC:NO"
+            _USE_DYNAMICBASE=1
+            cat >> confdefs.h <<\EOF
+#define _CRT_SECURE_NO_WARNINGS 1
+EOF
+
+            cat >> confdefs.h <<\EOF
+#define _CRT_NONSTDC_NO_WARNINGS 1
+EOF
+
+        elif test "$_CC_MAJOR_VERSION" = "16"; then
+            _CC_SUITE=10
+            CXXFLAGS="$CXXFLAGS -Zc:wchar_t-"
+            LDFLAGS="$LDFLAGS -MANIFESTUAC:NO"
+            _USE_DYNAMICBASE=1
+            cat >> confdefs.h <<\EOF
+#define _CRT_SECURE_NO_WARNINGS 1
+EOF
+
+            cat >> confdefs.h <<\EOF
+#define _CRT_NONSTDC_NO_WARNINGS 1
+EOF
+
         else
             { echo "configure: error: This version of the MSVC compiler, $CC_VERSION , is unsupported." 1>&2; exit 1; }
         fi
 
+        # bug #249782
+        # ensure that mt.exe is Microsoft (R) Manifest Tool and not magnetic tape manipulation utility (or something else)
+        if test "$_CC_SUITE" -ge "8"; then
+                
+                _MSMT_VER_FILTER='s|.* \([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*|\1|p'
+                
+
+                MSMT_TOOL=`mt 2>&1|grep 'Microsoft (R) Manifest Tool'`
+                if test -n "$MSMT_TOOL"; then
+                        MSMANIFEST_TOOL_VERSION=`echo ${MSMT_TOOL}|sed -ne "$_MSMT_VER_FILTER"`
+                        if test -z "$MSMANIFEST_TOOL_VERSION"; then
+                                echo "configure: warning: Unknown version of the Microsoft (R) Manifest Tool." 1>&2
+                        fi
+                        MSMANIFEST_TOOL=1
+                        unset MSMT_TOOL
+                else
+                        { echo "configure: error: Microsoft (R) Manifest Tool must be in your \$PATH." 1>&2; exit 1; }
+                fi
+        fi
+
         # Check linker version
-        _LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"`
+        _LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -nre "$_MSVC_VER_FILTER"`
         _LD_MAJOR_VERSION=`echo ${_LD_FULL_VERSION} | $AWK -F\. '{ print $1 }'`
         if test "$_LD_MAJOR_VERSION" != "$_CC_SUITE"; then
             { echo "configure: error: The linker major version, $_LD_FULL_VERSION,  does not match the compiler suite version, $_CC_SUITE." 1>&2; exit 1; }
@@ -3035,7 +3137,7 @@
         INCREMENTAL_LINKER=1
 
         # Check midl version
-        _MIDL_FULL_VERSION=`"${MIDL}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"`
+        _MIDL_FULL_VERSION=`"${MIDL}" -v 2>&1 | sed -nre "$_MSVC_VER_FILTER"`
         _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 }'`
@@ -3112,6 +3214,15 @@
             { echo "configure: error: windres version $WINDRES_VERSION or higher is required to build." 1>&2; exit 1; }
         fi
     fi # !GNU_CC
+
+    cat >> confdefs.h <<EOF
+#define WINVER 0x$WINVER
+EOF
+
+    cat >> confdefs.h <<EOF
+#define _WIN32_WINNT 0x$WINVER
+EOF
+
     ;;
 esac
 
@@ -6294,10 +6405,6 @@
 #define HW_THREADS 1
 EOF
 
-    cat >> confdefs.h <<EOF
-#define WINVER 0x400
-EOF
-
     cat >> confdefs.h <<\EOF
 #define STDC_HEADERS 1
 EOF
@@ -6419,14 +6526,6 @@
 #define HW_THREADS 1
 EOF
 
-    cat >> confdefs.h <<EOF
-#define WINVER 0x400
-EOF
-
-    cat >> confdefs.h <<EOF
-#define _WIN32_WINNT 0x400
-EOF
-
     cat >> confdefs.h <<\EOF
 #define STDC_HEADERS 1
 EOF
@@ -20811,6 +20910,7 @@
 s%@USE_N32@%$USE_N32%g
 s%@CC_VERSION@%$CC_VERSION%g
 s%@CXX_VERSION@%$CXX_VERSION%g
+s%@MSMANIFEST_TOOL@%$MSMANIFEST_TOOL%g
 s%@MOZ_MOVEMAIL@%$MOZ_MOVEMAIL%g
 s%@MOZILLA_1_8_BRANCH@%$MOZILLA_1_8_BRANCH%g
 s%@LIBS_PATH@%$LIBS_PATH%g
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/directory/c-sdk/config/WIN32.mk mozilla/directory/c-sdk/config/WIN32.mk
--- mozilla.orig/directory/c-sdk/config/WIN32.mk	2006-02-03 23:41:18 +0900
+++ mozilla/directory/c-sdk/config/WIN32.mk	2010-03-02 22:23:08 +0900
@@ -51,7 +51,7 @@
 
 CC = cl
 CCC = cl
-LINK = link
+LD = link
 AR = lib -NOLOGO -OUT:"$@"
 RANLIB = echo
 BSDECHO = echo
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/directory/c-sdk/config/config.mk mozilla/directory/c-sdk/config/config.mk
--- mozilla.orig/directory/c-sdk/config/config.mk	2006-02-03 23:41:18 +0900
+++ mozilla/directory/c-sdk/config/config.mk	2010-03-02 22:23:08 +0900
@@ -162,7 +162,7 @@
 AS		= $(CC)
 ASFLAGS		= $(CFLAGS)
 PURIFY		= purify $(PURIFYOPTIONS)
-LINK_DLL	= $(LINK) $(OS_DLLFLAGS) $(DLLFLAGS)
+LINK_DLL	= $(LD) $(OS_DLLFLAGS) $(DLLFLAGS)
 NFSPWD		= $(MOD_DEPTH)/config/nfspwd
 
 CFLAGS		= $(CC_ONLY_FLAGS) $(OPTIMIZER) $(OS_CFLAGS)\
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/directory/c-sdk/config/rules.mk mozilla/directory/c-sdk/config/rules.mk
--- mozilla.orig/directory/c-sdk/config/rules.mk	2006-02-03 23:41:18 +0900
+++ mozilla/directory/c-sdk/config/rules.mk	2010-03-02 22:23:08 +0900
@@ -368,7 +368,7 @@
 	echo $(W16LIBS) >>w16link
 	echo $(W16_EXPORTS) >>w16link
 	echo libfile libentry >>w16link
-	$(LINK) @w16link.
+	$(LD) @w16link.
 	rm w16link
 else	# WIN16
 	$(LINK_DLL) -MAP $(DLLBASE) $(OS_LIBS) $(EXTRA_LIBS) $(OBJS)
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/directory/c-sdk/config/win16.mk mozilla/directory/c-sdk/config/win16.mk
--- mozilla.orig/directory/c-sdk/config/win16.mk	2006-02-03 23:41:18 +0900
+++ mozilla/directory/c-sdk/config/win16.mk	2010-03-02 22:23:08 +0900
@@ -70,7 +70,7 @@
 
 CC = wcc
 CCC = wcl
-LINK = wlink
+LD = wlink
 AR = wlib -q $@
 RC = wrc.exe /r /dWIN16=1 /bt=windows
 RANLIB = echo
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/directory/c-sdk/ldap/examples/win32.mak mozilla/directory/c-sdk/ldap/examples/win32.mak
--- mozilla.orig/directory/c-sdk/ldap/examples/win32.mak	2004-07-17 04:09:02 +0900
+++ mozilla/directory/c-sdk/ldap/examples/win32.mak	2010-03-02 22:23:08 +0900
@@ -100,7 +100,7 @@
 CC=cl
 OPTFLAGS=-MD
 CFLAGS=$(OPTFLAGS) $(EXTRACFLAGS) -I$(INCDIR) -I$(NSPRINCDIR)
-LINK=link
+LD=link
 LDFLAGS=$(EXTRALDFLAGS)
 
 
@@ -173,4 +173,4 @@
 
 
 %.exe : %.obj
-		$(LINK) -OUT:$@ $(LDFLAGS) $(SYSLIBS) $< $(LIBS)
+		$(LD) -OUT:$@ $(LDFLAGS) $(SYSLIBS) $< $(LIBS)
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/directory/c-sdk/ldap/libraries/msdos/winsock/nsldap.mak mozilla/directory/c-sdk/ldap/libraries/msdos/winsock/nsldap.mak
--- mozilla.orig/directory/c-sdk/ldap/libraries/msdos/winsock/nsldap.mak	2002-03-27 06:54:38 +0900
+++ mozilla/directory/c-sdk/ldap/libraries/msdos/winsock/nsldap.mak	2010-03-02 22:23:08 +0900
@@ -93,7 +93,7 @@
 
 CPP=cl.exe /nologo
 MTL=mktyplib.exe /nologo
-LINK= \
+LD= \
 !if "$(MOZ_BITS)"=="32"
     link.exe /nologo
 !else
@@ -912,10 +912,10 @@
 !endif
 <<
     @echo "+++ building dynamic version"
-    $(LINK) @$(PROD)$(VERSTR).lk
+    $(LD) @$(PROD)$(VERSTR).lk
 !if "$(MOZ_BITS)"=="16"
     $(RSC) /K $(OUTDIR)\nsldap.res $(OUTDIR)\nsldap$(DLL_BITS)v$(MOZ_LDAP_VER).dll
-!if "$(LINK)"=="link"
+!if "$(LD)"=="link"
         implib /nowep /noi $(OUTDIR)\nsldap$(DLL_BITS)v$(MOZ_LDAP_VER).lib libldap.def
 !endif
 !endif
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/extensions/inspector/resources/Makefile.in mozilla/extensions/inspector/resources/Makefile.in
--- mozilla.orig/extensions/inspector/resources/Makefile.in	2005-09-23 22:45:18 +0900
+++ mozilla/extensions/inspector/resources/Makefile.in	2010-03-02 22:23:08 +0900
@@ -54,6 +54,7 @@
 	fr \
 	ga-IE \
 	hu \
+	ja \
 	nb-NO \
 	pl \
 	pt-BR \
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/extensions/inspector/resources/content/inspector.xul mozilla/extensions/inspector/resources/content/inspector.xul
--- mozilla.orig/extensions/inspector/resources/content/inspector.xul	2006-06-16 11:00:06 +0900
+++ mozilla/extensions/inspector/resources/content/inspector.xul	2010-03-02 22:23:08 +0900
@@ -40,8 +40,6 @@
   <!ENTITY % dtd2 SYSTEM "chrome://inspector/content/util.dtd"> %dtd2;
 ]>
 
-<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
-
 <?xul-overlay href="chrome://inspector/content/inspectorOverlay.xul"?>
 <?xul-overlay href="chrome://inspector/content/toolboxOverlay.xul"?>
 <?xul-overlay href="chrome://inspector/content/popupOverlay.xul"?>
@@ -51,7 +49,6 @@
 
 <?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
 <?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
-<?xul-overlay href="chrome://communicator/content/tasksOverlay.xul"?>
 
 <?xml-stylesheet href="chrome://inspector/skin/inspectorWindow.css"?>
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/gfx/cairo/libpixman/src/Makefile.in mozilla/gfx/cairo/libpixman/src/Makefile.in
--- mozilla.orig/gfx/cairo/libpixman/src/Makefile.in	2006-04-07 02:35:19 +0900
+++ mozilla/gfx/cairo/libpixman/src/Makefile.in	2010-03-02 22:23:08 +0900
@@ -47,14 +47,6 @@
 LIBRARY_NAME	= mozlibpixman
 LIBXUL_LIBRARY = 1
 
-ifeq ($(OS_ARCH)_$(GNU_CC), WINNT_)
-ifeq ($(MOZ_OPTIMIZE),1)
-ifeq (1200,$(_MSC_VER))
-USE_STATIC_VC71_LIB = 1
-endif
-endif
-endif
-
 CSRCS	= \
 	fbcompose.c \
 	fbedge.c \
@@ -86,9 +78,3 @@
 
 include $(topsrcdir)/config/rules.mk
 
-ifeq ($(USE_STATIC_VC71_LIB),1)
-libs:: $(srcdir)/pixman-vc71.lib
-	cp $(srcdir)/pixman-vc71.lib $(LIBRARY)
-	$(INSTALL) $(IFLAGS1) $(LIBRARY) $(DIST)/lib
-endif
-
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mail/app/Makefile.in mozilla/mail/app/Makefile.in
--- mozilla.orig/mail/app/Makefile.in	2009-08-08 14:33:34 +0900
+++ mozilla/mail/app/Makefile.in	2010-03-02 22:23:08 +0900
@@ -139,6 +139,7 @@
 ifeq ($(OS_ARCH),WINNT)
 OS_LIBS += $(call EXPAND_LIBNAME,comctl32 comdlg32 uuid shell32 ole32 oleaut32 version winspool gdi32)
 RCINCLUDE = splash.rc
+WIN7_MANIFEST = 1
 ifndef GNU_CC
 RCFLAGS += -DMOZ_THUNDERBIRD -I$(srcdir)
 else
@@ -304,9 +305,9 @@
 AB := $(firstword $(subst -, ,$(AB_CD)))
 
 ifdef MOZ_DEBUG
-APP_NAME = ThunderbirdDebug
+APP_NAME = $(MOZ_APP_NAME)Debug
 else
-APP_NAME = Thunderbird
+APP_NAME = $(MOZ_APP_NAME)
 endif
 
 libs:: $(PROGRAM)
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mail/app/profile/all-thunderbird.js mozilla/mail/app/profile/all-thunderbird.js
--- mozilla.orig/mail/app/profile/all-thunderbird.js	2010-01-27 02:21:24 +0900
+++ mozilla/mail/app/profile/all-thunderbird.js	2010-03-02 22:23:08 +0900
@@ -36,6 +36,7 @@
  * ***** END LICENSE BLOCK ***** */
 
 #expand pref("general.useragent.extra.thunderbird", "Thunderbird/__APP_VERSION__");
+pref("general.useragent.extra.thunderbird.rayflood", "(rayflood)");
 
 #expand pref("general.useragent.locale", "__AB_CD__");
 pref("general.skins.selectedSkin", "classic/1.0");
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mail/installer/Makefile.in mozilla/mail/installer/Makefile.in
--- mozilla.orig/mail/installer/Makefile.in	2007-02-13 10:53:21 +0900
+++ mozilla/mail/installer/Makefile.in	2010-03-02 22:23:08 +0900
@@ -93,8 +93,6 @@
 ifeq (WINNT,$(OS_ARCH))
 MOZ_PKG_MANIFEST_P = $(srcdir)/windows/packages-static
 endif
-else
-$(error you need a "--enable-static --disable-shared" build to create an installer)
 endif
 
 MOZ_NONLOCALIZED_PKG_LIST = \
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mail/installer/windows/nsis/branding.nsi mozilla/mail/installer/windows/nsis/branding.nsi
--- mozilla.orig/mail/installer/windows/nsis/branding.nsi	2007-03-02 09:42:22 +0900
+++ mozilla/mail/installer/windows/nsis/branding.nsi	2010-03-02 22:23:08 +0900
@@ -36,11 +36,11 @@
 
 # NSIS defines for nightly builds.
 # The release build branding.nsi is located in other-license/branding/thunderbird/
-!define BrandShortName        "Thunderbird"
-!define BrandFullName         "Mozilla Thunderbird"
+!define BrandShortName        "thunderbird"
+!define BrandFullName         "thunderbird"
 # BrandFullNameInternal is used for some registry and file system values that
 # should not contain release that may be in the BrandFullName (e.g. Beta 1, etc.)
-!define BrandFullNameInternal "Mozilla Thunderbird"
+!define BrandFullNameInternal "thunderbird"
 !define CompanyName           "Mozilla"
 !define URLInfoAbout          "http://www.mozilla.org/"
 !define URLUpdateInfo         "http://www.mozilla.org/products/thunderbird/"
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mail/locales/Makefile.in mozilla/mail/locales/Makefile.in
--- mozilla.orig/mail/locales/Makefile.in	2008-05-13 03:49:17 +0900
+++ mozilla/mail/locales/Makefile.in	2010-03-02 22:23:08 +0900
@@ -102,7 +102,10 @@
 ISP_FILES = $(shell cat $(LOCALE_SRCDIR)/isp/isps.txt)
 
 libs:: $(addsuffix .rdf,$(ISP_FILES)) 
-	$(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/isp/$(AB_CD)
+	MOZ_UI_LOCALE="en-US `ls $(topsrcdir)/../l10n | sed -e 's/CVS//g'`" ; \
+	for AB_CD in $${MOZ_UI_LOCALE} ; do \
+		$(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/isp/$${AB_CD} ; \
+	done
 
 install:: $(addsuffix .rdf,$(ISP_FILES))
 	$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/isp/$(AB_CD)
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mail/locales/en-US/chrome/branding/brand.dtd mozilla/mail/locales/en-US/chrome/branding/brand.dtd
--- mozilla.orig/mail/locales/en-US/chrome/branding/brand.dtd	2006-09-07 03:36:32 +0900
+++ mozilla/mail/locales/en-US/chrome/branding/brand.dtd	2010-03-02 22:23:08 +0900
@@ -1,4 +1,4 @@
-<!ENTITY  brandShortName        "Mail/News">
-<!ENTITY  brandFullName         "Mail/News Client">
-<!ENTITY  vendorShortName       "Mail/News Client">
+<!ENTITY  brandShortName        "thunderbird">
+<!ENTITY  brandFullName         "thunderbird">
+<!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  sidebarName           "Sidebar">
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mail/locales/en-US/chrome/branding/brand.properties mozilla/mail/locales/en-US/chrome/branding/brand.properties
--- mozilla.orig/mail/locales/en-US/chrome/branding/brand.properties	2005-07-15 05:03:03 +0900
+++ mozilla/mail/locales/en-US/chrome/branding/brand.properties	2010-03-02 22:23:08 +0900
@@ -1,4 +1,4 @@
-brandShortName=Mail/News
-brandFullName=Mail/News Client
-vendorShortName=Mail/News Client
+brandShortName=thunderbird
+brandFullName=thunderbird
+vendorShortName=Mozilla
 sidebarName=Sidebar
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	2010-03-02 22:23:10 +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/netwerk/system/win32/nsNotifyAddrListener.cpp mozilla/netwerk/system/win32/nsNotifyAddrListener.cpp
--- mozilla.orig/netwerk/system/win32/nsNotifyAddrListener.cpp	2006-05-08 14:21:32 +0900
+++ mozilla/netwerk/system/win32/nsNotifyAddrListener.cpp	2010-03-02 22:23:08 +0900
@@ -67,6 +67,7 @@
 
 #define IF_TYPE_SOFTWARE_LOOPBACK       24
 
+#ifndef _NLDEF_
 typedef enum {
     IpPrefixOriginOther = 0,
     IpPrefixOriginManual,
@@ -91,6 +92,11 @@
     IpDadStateDeprecated,
     IpDadStatePreferred
 } IP_DAD_STATE;
+#else
+typedef NL_PREFIX_ORIGIN IP_PREFIX_ORIGIN;
+typedef NL_SUFFIX_ORIGIN IP_SUFFIX_ORIGIN;
+typedef NL_DAD_STATE IP_DAD_STATE;
+#endif
 
 typedef struct _IP_ADAPTER_UNICAST_ADDRESS {
     union {
@@ -148,6 +154,7 @@
     SOCKET_ADDRESS Address;
 } IP_ADAPTER_DNS_SERVER_ADDRESS, *PIP_ADAPTER_DNS_SERVER_ADDRESS;
 
+#ifndef _NLDEF_
 typedef enum {
     IfOperStatusUp = 1,
     IfOperStatusDown,
@@ -157,6 +164,7 @@
     IfOperStatusNotPresent,
     IfOperStatusLowerLayerDown
 } IF_OPER_STATUS;
+#endif
 
 typedef struct _IP_ADAPTER_ADDRESSES {
     union {
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	2009-03-20 16:19:35 +0900
+++ mozilla/security/coreconf/Darwin.mk	2010-03-02 22:23:08 +0900
@@ -108,12 +108,16 @@
 OS_CFLAGS	= $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wmost -fpascal-strings -fno-common -pipe -DDARWIN -DHAVE_STRERROR -DHAVE_BSD_FLOCK $(DARWIN_SDK_CFLAGS)
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER	= $(MOZ_OPTIMIZE_FLAGS)
+else
 ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE))
 	OPTIMIZER       = -Oz
 else
 	OPTIMIZER	= -O2
 endif
 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	2008-09-06 08:17:23 +0900
+++ mozilla/security/coreconf/Linux.mk	2010-03-02 22:23:08 +0900
@@ -153,12 +153,16 @@
 endif
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER = $(MOZ_OPTIMIZE_FLAGS)
+else
 ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE))
 	OPTIMIZER = -Os
 else
 	OPTIMIZER = -O2
 endif
 endif
+endif
 
 ifeq ($(USE_PTHREADS),1)
 OS_PTHREAD = -lpthread 
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	2008-04-03 07:54:05 +0900
+++ mozilla/security/coreconf/OS2.mk	2010-03-02 22:23:08 +0900
@@ -52,7 +52,7 @@
 
 
 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                = 
@@ -100,11 +100,15 @@
 OS_CFLAGS          = -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Wno-switch -Zomf -DDEBUG -DTRACING -g
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER += $(MOZ_OPTIMIZE_FLAGS)
+else
 ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE))
 	OPTIMIZER += -Os -s
 else
 	OPTIMIZER += -O2 -s
 endif
+endif
 DEFINES 		+= -UDEBUG -U_DEBUG -DNDEBUG
 DLLFLAGS		= -DLL -OUT:$@ -MAP:$(@:.dll=.map) $(HIGHMEM_LDFLAG)
 EXEFLAGS    		= -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE $(HIGHMEM_LDFLAG)
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	2009-04-01 09:49:48 +0900
+++ mozilla/security/coreconf/WIN32.mk	2010-03-02 22:23:08 +0900
@@ -45,7 +45,7 @@
 ifdef NS_USE_GCC
 	CC           = gcc
 	CCC          = g++
-	LINK         = ld
+	LD           = ld
 	AR           = ar
 	AR          += cr $@
 	RANLIB       = ranlib
@@ -55,7 +55,7 @@
 else
 	CC           = cl
 	CCC          = cl
-	LINK         = link
+	LD           = link
 	AR           = lib
 	AR          += -NOLOGO -OUT:"$@"
 	RANLIB       = echo
@@ -101,11 +101,15 @@
     _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
 	ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE))
 		OPTIMIZER += -Os
 	else
 		OPTIMIZER += -O2
 	endif
+	endif
 	DEFINES    += -UDEBUG -U_DEBUG -DNDEBUG
     else
 	OPTIMIZER  += -g
@@ -125,11 +129,15 @@
     endif
     ifdef BUILD_OPT
 	OS_CFLAGS  += -MD
+	ifeq ($(MOZ_OPTIMIZE),2)
+		OPTIMIZER += $(MOZ_OPTIMIZE_FLAGS)
+	else
 	ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE))
 		OPTIMIZER += -O1
 	else
 		OPTIMIZER += -O2
 	endif
+	endif
 	DEFINES    += -UDEBUG -U_DEBUG -DNDEBUG
 	DLLFLAGS   += -OUT:"$@"
 	ifdef MOZ_DEBUG_SYMBOLS
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	2008-11-20 13:39:56 +0900
+++ mozilla/security/coreconf/WINCE.mk	2010-03-02 22:23:08 +0900
@@ -54,7 +54,7 @@
 endif
 endif
 
-LINK         = link
+LD           = link
 AR           = lib
 AR          += -NOLOGO -OUT:"$@"
 RANLIB       = echo
@@ -85,7 +85,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/command.mk mozilla/security/coreconf/command.mk
--- mozilla.orig/security/coreconf/command.mk	2007-10-24 06:55:00 +0900
+++ mozilla/security/coreconf/command.mk	2010-03-02 22:23:08 +0900
@@ -43,8 +43,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)
 CFLAGS        = $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
 		$(XCFLAGS)
 PERL          = perl
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	2009-08-08 05:37:51 +0900
+++ mozilla/security/manager/Makefile.in	2010-03-02 22:23:08 +0900
@@ -43,6 +43,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
@@ -202,7 +204,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/security/nss/lib/freebl/config.mk mozilla/security/nss/lib/freebl/config.mk
--- mozilla.orig/security/nss/lib/freebl/config.mk	2009-02-03 06:57:23 +0900
+++ mozilla/security/nss/lib/freebl/config.mk	2010-03-02 22:23:08 +0900
@@ -85,8 +85,13 @@
 RESNAME = freebl.rc
 
 ifndef WINCE
+ifdef NS_USE_GCC
+OS_LIBS += -lshell32
+DEFINES += -D_WIN32_IE=0x0500
+else # ! NS_USE_GCC
 OS_LIBS += shell32.lib
 endif
+endif
 
 ifdef NS_USE_GCC
 EXTRA_SHARED_LIBS += \
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/nss/lib/freebl/mpi/mpi_x86_asm.c mozilla/security/nss/lib/freebl/mpi/mpi_x86_asm.c
--- mozilla.orig/security/nss/lib/freebl/mpi/mpi_x86_asm.c	2009-03-07 08:25:30 +0900
+++ mozilla/security/nss/lib/freebl/mpi/mpi_x86_asm.c	2010-03-02 22:23:08 +0900
@@ -40,8 +40,10 @@
 
 #include "mpi-priv.h"
 
+#if _MSC_VER > 1200
 static int is_sse = -1;
 extern unsigned long s_mpi_is_sse2();
+#endif
 
 /*
  *   ebp - 36:	caller's esi
@@ -71,6 +73,7 @@
 s_mpv_mul_d(const mp_digit *a, mp_size a_len, mp_digit b, mp_digit *c)
 {
   __asm {
+#if _MSC_VER > 1200
     mov    eax, is_sse
     cmp    eax, 0
     je     s_mpv_mul_d_x86
@@ -80,6 +83,7 @@
     cmp    eax, 0
     jg     s_mpv_mul_d_sse2
 s_mpv_mul_d_x86:
+#endif
     push   ebp
     mov    ebp,esp
     sub    esp,28
@@ -113,6 +117,7 @@
     leave  
     ret    
     nop
+#if _MSC_VER > 1200
 s_mpv_mul_d_sse2:
     push   ebp
     mov    ebp, esp
@@ -144,6 +149,7 @@
     leave  
     ret    
     nop
+#endif
   }
 }
 
@@ -175,6 +181,7 @@
 s_mpv_mul_d_add(const mp_digit *a, mp_size a_len, mp_digit b, mp_digit *c)
 {
   __asm {
+#if _MSC_VER > 1200
     mov    eax, is_sse
     cmp    eax, 0
     je     s_mpv_mul_d_add_x86
@@ -184,6 +191,7 @@
     cmp    eax, 0
     jg     s_mpv_mul_d_add_sse2
 s_mpv_mul_d_add_x86:
+#endif
     push   ebp
     mov    ebp,esp
     sub    esp,28
@@ -220,6 +228,7 @@
     leave  
     ret    
     nop
+#if _MSC_VER > 1200
 s_mpv_mul_d_add_sse2:
     push   ebp
     mov    ebp, esp
@@ -253,6 +262,7 @@
     leave  
     ret    
     nop
+#endif
   }
 }
 
@@ -284,6 +294,7 @@
 s_mpv_mul_d_add_prop(const mp_digit *a, mp_size a_len, mp_digit b, mp_digit *c)
 {
   __asm {
+#if _MSC_VER > 1200
     mov    eax, is_sse
     cmp    eax, 0
     je     s_mpv_mul_d_add_prop_x86
@@ -293,6 +304,7 @@
     cmp    eax, 0
     jg     s_mpv_mul_d_add_prop_sse2
 s_mpv_mul_d_add_prop_x86:
+#endif
     push   ebp
     mov    ebp,esp
     sub    esp,28
@@ -340,6 +352,7 @@
     leave  
     ret    
     nop
+#if _MSC_VER > 1200
 s_mpv_mul_d_add_prop_sse2:
     push   ebp
     mov    ebp, esp
@@ -387,6 +400,7 @@
     leave  
     ret    
     nop
+#endif
   }
 }
 
@@ -414,6 +428,7 @@
 s_mpv_sqr_add_prop(const mp_digit *a, mp_size a_len, mp_digit *sqrs)
 {
   __asm {
+#if _MSC_VER > 1200
      mov    eax, is_sse
      cmp    eax, 0
      je     s_mpv_sqr_add_prop_x86
@@ -423,6 +438,7 @@
      cmp    eax, 0
      jg     s_mpv_sqr_add_prop_sse2
 s_mpv_sqr_add_prop_x86:
+#endif
      push   ebp
      mov    ebp,esp
      sub    esp,12
@@ -472,6 +488,7 @@
     leave  
     ret    
     nop
+#if _MSC_VER > 1200
 s_mpv_sqr_add_prop_sse2:
     push   ebp
     mov    ebp, esp
@@ -522,6 +539,7 @@
     leave  
     ret    
     nop
+#endif
   }
 }
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/storage/src/mozStorageAsyncIO.cpp mozilla/storage/src/mozStorageAsyncIO.cpp
--- mozilla.orig/storage/src/mozStorageAsyncIO.cpp	2006-08-03 01:10:46 +0900
+++ mozilla/storage/src/mozStorageAsyncIO.cpp	2010-03-02 22:23:08 +0900
@@ -1095,6 +1095,9 @@
 //    This method holds the mutex from start to finish because it has to
 //    go through the whole queue and apply any changes to the file.
 
+#if defined(_MSC_VER) && _MSC_VER == 1200
+#pragma optimize( "", off )
+#endif
 int // static
 AsyncRead(OsFile* aFile, void *aBuffer, int aCount)
 {
@@ -1187,6 +1190,9 @@
 asyncread_out:
   return rc;
 }
+#if defined(_MSC_VER) && _MSC_VER == 1200
+#pragma optimize( "", on )
+#endif
 
 
 // AsyncSeek
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/components/downloads/src/nsDownloadManager.cpp mozilla/toolkit/components/downloads/src/nsDownloadManager.cpp
--- mozilla.orig/toolkit/components/downloads/src/nsDownloadManager.cpp	2008-04-22 03:39:38 +0900
+++ mozilla/toolkit/components/downloads/src/nsDownloadManager.cpp	2010-03-02 22:23:08 +0900
@@ -2038,8 +2038,13 @@
   // during that time for more accuracy.
   double elapsedSecs = double(delta) / PR_USEC_PER_SEC;
   if (elapsedSecs > 0) {
+#if defined(_MSC_VER) && _MSC_VER < 1300
+    nsInt64 curTotalProgress = (PRInt64)aCurTotalProgress;
+    nsInt64 diffBytes = curTotalProgress - nsInt64((PRInt64)mCurrBytes);
+#else
     nsUint64 curTotalProgress = (PRUint64)aCurTotalProgress;
     nsUint64 diffBytes = curTotalProgress - nsUint64(mCurrBytes);
+#endif
     double speed = double(diffBytes) / elapsedSecs;
     if (LL_IS_ZERO(mCurrBytes))
       mSpeed = speed;
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	2008-04-05 05:31:10 +0900
+++ mozilla/toolkit/mozapps/installer/packager.mk	2010-03-02 22:23:08 +0900
@@ -98,9 +98,9 @@
 ifeq ($(MOZ_PKG_FORMAT),DMG)
 ifndef _APPNAME
 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
 endif
 ifndef _BINPATH
@@ -132,7 +132,7 @@
 endif
 MAKE_PACKAGE	= $(_ABS_TOPSRCDIR)/build/package/mac_osx/pkg-dmg \
   --source "$(PKG_DMG_SOURCE)" --target "$(PACKAGE)" \
-  --volname "$(MOZ_APP_DISPLAYNAME)" $(PKG_DMG_FLAGS)
+  --volname "$(MOZ_APP_NAME)" $(PKG_DMG_FLAGS)
 UNMAKE_PACKAGE	= \
   set -ex; \
   function cleanup() { \
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	2006-02-10 06:15:57 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/extra.c	2010-03-02 22:23:08 +0900
@@ -4937,9 +4937,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	2006-02-10 06:15:58 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/setup.h	2010-03-02 22:23:08 +0900
@@ -65,6 +65,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	2005-02-02 02:07:27 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/xpi.c	2010-03-02 22:23:09 +0900
@@ -120,19 +120,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/xre/nsAppRunner.cpp mozilla/toolkit/xre/nsAppRunner.cpp
--- mozilla.orig/toolkit/xre/nsAppRunner.cpp	2007-11-08 20:56:25 +0900
+++ mozilla/toolkit/xre/nsAppRunner.cpp	2010-03-02 22:23:09 +0900
@@ -1370,7 +1370,7 @@
   if (NS_FAILED(rv))
     return rv;
 
-#elif
+#else
 #error Oops, you need platform-specific code here
 #endif
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/view/src/nsViewManager.cpp mozilla/view/src/nsViewManager.cpp
--- mozilla.orig/view/src/nsViewManager.cpp	2007-05-01 10:45:14 +0900
+++ mozilla/view/src/nsViewManager.cpp	2010-03-02 22:23:09 +0900
@@ -1685,7 +1685,7 @@
 
 // This gets around an internal compiler error C1001
 // (compiler file 'E:\8799\vc98\p2\src\P2\main.c', line 494)
-#ifdef WINCE
+#if defined( WINCE ) || ( defined(_MSC_VER) && _MSC_VER == 1200 )
 #pragma optimize( "", off )
 #endif
 void
@@ -1705,7 +1705,7 @@
   // offset we want to use when accumulating dirty rects.
   AccumulateIntersectionsIntoDirtyRegion(aView, GetRootView(), -aScrollAmount);
 }
-#ifdef WINCE
+#if defined( WINCE ) || ( defined(_MSC_VER) && _MSC_VER == 1200 )
 #pragma optimize( "", on )
 #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	2005-01-29 05:01:45 +0900
+++ mozilla/widget/src/windows/nsBidiKeyboard.cpp	2010-03-02 22:23:09 +0900
@@ -151,11 +151,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;
     }
   }
@@ -206,7 +206,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	2007-11-08 17:20:00 +0900
+++ mozilla/widget/src/windows/nsWindow.cpp	2010-03-02 22:23:09 +0900
@@ -113,7 +113,10 @@
 
 #ifdef ACCESSIBILITY
 #include "OLEIDL.H"
-#include "winable.h"
+#include <winuser.h>
+#ifndef WINABLEAPI
+#include <winable.h>
+#endif
 #include "nsIAccessible.h"
 #include "nsIAccessibleDocument.h"
 #include "nsIAccessNode.h"
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	2005-08-03 07:17:59 +0900
+++ mozilla/xpcom/base/nsStackFrameWin.cpp	2010-03-02 22:23:09 +0900
@@ -327,7 +327,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)
         {
             /*
@@ -377,7 +377,7 @@
          * Not loaded, here's the magic.
          * Go through all the modules.
          */
-        enumRes = _EnumerateLoadedModules64(aProcess, callbackEspecial64, (PVOID)&aAddr);
+        enumRes = _EnumerateLoadedModules64(aProcess, (PENUMLOADED_MODULES_CALLBACK64)callbackEspecial64, (PVOID)&aAddr);
         if (FALSE != enumRes)
         {
             /*

