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-09-20 22:29:30 +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-09-20 22:29:30 +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-09-20 22:29:30 +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	2007-12-10 21:03:17 +0900
+++ mozilla/client.mk	2010-09-20 22:29:30 +0900
@@ -335,7 +335,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
 
@@ -807,8 +807,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	2006-04-22 05:50:30 +0900
+++ mozilla/config/autoconf.mk.in	2010-09-20 22:29:30 +0900
@@ -475,6 +475,7 @@
 GLIB_GMODULE_LIBS	= @GLIB_GMODULE_LIBS@
 LIBIDL_CFLAGS = @LIBIDL_CFLAGS@
 LIBIDL_LIBS = @LIBIDL_LIBS@
+STATIC_LIBIDL = @STATIC_LIBIDL@
 
 MOZ_NATIVE_MAKEDEPEND	= @SYSTEM_MAKEDEPEND@
 
@@ -524,6 +525,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	2006-04-07 01:28:13 +0900
+++ mozilla/config/config.mk	2010-09-20 22:32:09 +0900
@@ -688,9 +688,7 @@
 PBBUILD = $(PBBUILD_BIN)
 endif # NEXT_ROOT
 PBBUILD_SETTINGS = GCC_VERSION="$(GCC_VERSION)" SYMROOT=build
-ifdef CROSS_COMPILE
 PBBUILD_SETTINGS += ARCHS="$(OS_TEST)"
-endif # CROSS_COMPILE
 ifdef MACOS_SDK_DIR
 PBBUILD_SETTINGS += SDKROOT="$(MACOS_SDK_DIR)"
 endif # MACOS_SDK_DIR
@@ -873,10 +871,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	2006-04-29 04:25:51 +0900
+++ mozilla/config/rules.mk	2010-09-20 22:29:30 +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
@@ -839,6 +843,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)
@@ -871,6 +884,12 @@
 else
 ifeq (_WINNT,$(GNU_CC)_$(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
@@ -894,6 +913,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)
@@ -1039,20 +1064,19 @@
 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)
 endif # !os2 vacpp
 	chmod +x $@
-ifndef NO_COMPONENT_LINK_MAP
-ifndef MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS
-ifndef MOZ_DEBUG
-ifeq ($(OS_ARCH)_$(IS_COMPONENT),Darwin_1)
-	nmedit -s $(BUILD_TOOLS)/gnu-ld-scripts/components-export-list $@
-endif
-endif
-endif
-endif
 ifdef ENABLE_STRIP
 	$(STRIP) $@
 endif
@@ -1556,11 +1580,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-09-20 22:29:30 +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-09-20 22:29:30 +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	2007-07-12 02:03:09 +0900
+++ mozilla/configure	2010-09-20 22:29:30 +0900
@@ -34,6 +34,12 @@
 ac_help="$ac_help
   --with-pthreads         Force use of system pthread library with NSPR "
 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
@@ -1041,6 +1047,8 @@
 GCONF_VERSION=1.2.1
 LIBGNOME_VERSION=2.0
 
+MSMANIFEST_TOOL=
+
 MISSING_X=
 for ac_prog in gawk mawk nawk awk
 do
@@ -2835,6 +2843,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
@@ -2935,15 +2973,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
@@ -2955,12 +2997,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; }
@@ -2968,7 +3070,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 }'`
@@ -3045,6 +3147,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
 
@@ -3847,7 +3958,7 @@
     case "$PBBUILD" in
       *xcodebuild*)
         
-        XCODEBUILD_VERSION=`$PBBUILD -version 2>/dev/null | sed -e 's/.*DevToolsCore-\([0-9]*\).*/\1/'`
+        XCODEBUILD_VERSION=`$PBBUILD -version 2>/dev/null | xargs | sed -e 's/.*DevToolsCore-\([0-9]*\).*/\1/'`
         
         if test -n "$XCODEBUILD_VERSION" && test "$XCODEBUILD_VERSION" -ge 620 ; then
           HAS_XCODE_2_1=1;
@@ -6027,7 +6138,8 @@
     XPCOM_FROZEN_LDOPTS='$(DIST)/lib/xpcom.lib'
     ZIP=zip
     LIBIDL_CFLAGS="-I$MOZ_TOOLS_DIR/include ${GLIB_CFLAGS}"
-    LIBIDL_LIBS="$MOZ_TOOLS_DIR/lib/libidl-0.6.lib $MOZ_TOOLS_DIR/lib/glib-1.2.lib"
+    LIBIDL_LIBS="$MOZ_TOOLS_DIR/lib/libidl-0.6_s.lib $MOZ_TOOLS_DIR/lib/glib-1.2_s.lib"
+    STATIC_LIBIDL=1
 
     cat >> confdefs.h <<\EOF
 #define HAVE_SNPRINTF 1
@@ -6057,10 +6169,6 @@
 #define HW_THREADS 1
 EOF
 
-    cat >> confdefs.h <<EOF
-#define WINVER 0x400
-EOF
-
     cat >> confdefs.h <<\EOF
 #define STDC_HEADERS 1
 EOF
@@ -6182,14 +6290,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
@@ -6262,7 +6362,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`
@@ -6281,17 +6387,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 
 
@@ -19693,6 +19822,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
@@ -19922,6 +20052,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%@LIBS_PATH@%$LIBS_PATH%g
 s%@CYGDRIVE_MOUNT@%$CYGDRIVE_MOUNT%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	2005-06-15 06:27:34 +0900
+++ mozilla/directory/c-sdk/config/WIN32.mk	2010-09-20 22:29:30 +0900
@@ -47,7 +47,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	2003-02-24 00:54:18 +0900
+++ mozilla/directory/c-sdk/config/config.mk	2010-09-20 22:29:30 +0900
@@ -158,7 +158,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	2003-03-25 22:57:33 +0900
+++ mozilla/directory/c-sdk/config/rules.mk	2010-09-20 22:29:30 +0900
@@ -364,7 +364,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	2002-03-27 06:52:01 +0900
+++ mozilla/directory/c-sdk/config/win16.mk	2010-09-20 22:29:30 +0900
@@ -66,7 +66,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-09-20 22:29:30 +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-09-20 22:29:30 +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-09-20 22:29:30 +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	2005-06-04 03:04:55 +0900
+++ mozilla/extensions/inspector/resources/content/inspector.xul	2010-09-20 22:29:30 +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-22 06:14:01 +0900
+++ mozilla/gfx/cairo/libpixman/src/Makefile.in	2010-09-20 22:29:30 +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	2005-08-25 10:07:15 +0900
+++ mozilla/mail/app/Makefile.in	2010-09-20 22:29:30 +0900
@@ -130,6 +130,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
@@ -281,9 +282,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)
@@ -291,7 +292,7 @@
 	rsync -a --exclude CVS --exclude "*.in" $(srcdir)/macbuild/Contents $(DIST)/$(APP_NAME).app --exclude English.lproj
 	mkdir -p $(DIST)/$(APP_NAME).app/Contents/Resources/$(AB).lproj
 	rsync -a --exclude CVS $(srcdir)/macbuild/Contents/Resources/English.lproj/ $(DIST)/$(APP_NAME).app/Contents/Resources/$(AB).lproj
-	sed -e "s/APP_VERSION/$(APP_VERSION)/" $(srcdir)/macbuild/Contents/Info.plist.in > $(DIST)/$(APP_NAME).app/Contents/Info.plist
+	sed -e "s/APP_VERSION/$(APP_VERSION)/" -e "s/APP_NAME/$(APP_NAME)/" $(srcdir)/macbuild/Contents/Info.plist.in > $(DIST)/$(APP_NAME).app/Contents/Info.plist
 	rsync -a $(DIST)/bin/ $(DIST)/$(APP_NAME).app/Contents/MacOS
 	rm -f $(DIST)/$(APP_NAME).app/Contents/MacOS/$(PROGRAM)
 	rsync -aL $(PROGRAM) $(DIST)/$(APP_NAME).app/Contents/MacOS
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mail/app/macbuild/Contents/Info.plist.in mozilla/mail/app/macbuild/Contents/Info.plist.in
--- mozilla.orig/mail/app/macbuild/Contents/Info.plist.in	2007-01-04 14:57:15 +0900
+++ mozilla/mail/app/macbuild/Contents/Info.plist.in	2010-09-20 22:29:30 +0900
@@ -7,7 +7,7 @@
 	<key>CFBundleExecutable</key>
 	<string>thunderbird-bin</string>
 	<key>CFBundleGetInfoString</key>
-	<string>Thunderbird APP_VERSION, © 1998-2007 Contributors</string>
+	<string>APP_NAME APP_VERSION, c 1998-2007 Contributors</string>
 	<key>CFBundleIconFile</key>
 	<string>thunderbird</string>
 	<key>CFBundleIdentifier</key>
@@ -15,7 +15,7 @@
 	<key>CFBundleInfoDictionaryVersion</key>
 	<string>6.0</string>
 	<key>CFBundleName</key>
-	<string>Thunderbird</string>
+	<string>APP_NAME</string>
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
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	2007-02-07 15:45:07 +0900
+++ mozilla/mail/app/profile/all-thunderbird.js	2010-09-20 22:29:30 +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/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	2005-03-10 13:38:19 +0900
+++ mozilla/mail/locales/en-US/chrome/branding/brand.dtd	2010-09-20 22:29:30 +0900
@@ -1,5 +1,5 @@
 #expand <!ENTITY  lang.version          "__MOZILLA_LOCALE_VERSION__">
-<!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-09-20 22:29:30 +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-09-20 22:29:32 +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/nsprpub/config/autoconf.mk.in mozilla/nsprpub/config/autoconf.mk.in
--- mozilla.orig/nsprpub/config/autoconf.mk.in	2006-02-23 07:53:55 +0900
+++ mozilla/nsprpub/config/autoconf.mk.in	2010-09-20 22:29:30 +0900
@@ -69,6 +69,7 @@
 FILTER		= @FILTER@
 IMPLIB		= @IMPLIB@
 CYGWIN_WRAPPER	= @CYGWIN_WRAPPER@
+MT		= @MT@
 
 OS_CPPFLAGS	= @CPPFLAGS@
 OS_CFLAGS	= $(OS_CPPFLAGS) @CFLAGS@ $(DSO_CFLAGS)
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/nsprpub/config/rules.mk mozilla/nsprpub/config/rules.mk
--- mozilla.orig/nsprpub/config/rules.mk	2006-02-23 07:53:55 +0900
+++ mozilla/nsprpub/config/rules.mk	2010-09-20 22:29:30 +0900
@@ -299,6 +299,12 @@
 	@$(MAKE_OBJDIR)
 ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
 	$(CC) $(OBJS) -Fe$@ -link $(LDFLAGS) $(OS_LIBS) $(EXTRA_LIBS)
+ifdef MT
+	@if test -f $@.manifest; then \
+		$(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
+		rm -f $@.manifest; \
+	fi
+endif	# MSVC with manifest tool
 else
 ifeq ($(MOZ_OS2_TOOLS),VACPP)
 	$(CC) $(OBJS) -Fe$@ $(LDFLAGS) $(OS_LIBS) $(EXTRA_LIBS)
@@ -340,6 +346,12 @@
 else	# AIX 4.1
 ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
 	$(LINK_DLL) -MAP $(DLLBASE) $(DLL_LIBS) $(EXTRA_LIBS) $(OBJS) $(RES)
+ifdef MT
+	@if test -f $@.manifest; then \
+		$(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \
+		rm -f $@.manifest; \
+	fi
+endif	# MSVC with manifest tool
 else
 ifeq ($(MOZ_OS2_TOOLS),VACPP)
 	$(LINK_DLL) $(DLLBASE) $(OBJS) $(OS_LIBS) $(EXTRA_LIBS) $(MAPFILE)
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/nsprpub/configure mozilla/nsprpub/configure
--- mozilla.orig/nsprpub/configure	2007-04-28 05:01:01 +0900
+++ mozilla/nsprpub/configure	2010-09-20 22:29:30 +0900
@@ -713,6 +713,7 @@
 CYGWIN_WRAPPER=
 MACOS_SDK_DIR=
 NEXT_ROOT=
+MT=
 
 RESOLVE_LINK_SYMBOLS=
 
@@ -3956,6 +3957,26 @@
         _CC_MAJOR_VERSION=`echo $CC_VERSION | awk -F\. '{ print $1 }'`
         _CC_MINOR_VERSION=`echo $CC_VERSION | awk -F\. '{ print $2 }'`
         MSC_VER=${_CC_MAJOR_VERSION}${_CC_MINOR_VERSION}
+
+        # Ensure that mt is Microsoft (R) Manifest Tool and not magnetic
+        # tape manipulation utility (or something else)
+        if test "$MSC_VER" -ge "1400"; 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
+                MT=mt
+                unset MSMT_TOOL
+            else
+                { echo "configure: error: Microsoft (R) Manifest Tool must be in your \$PATH." 1>&2; exit 1; }
+            fi
+        fi
         
         CFLAGS="$CFLAGS -W3 -nologo -GF -Gy"
         DLLFLAGS='-OUT:"$@"'
@@ -6153,6 +6174,7 @@
 s%@WRAP_SYSTEM_INCLUDES@%$WRAP_SYSTEM_INCLUDES%g
 s%@MACOS_SDK_DIR@%$MACOS_SDK_DIR%g
 s%@NEXT_ROOT@%$NEXT_ROOT%g
+s%@MT@%$MT%g
 
 CEOF
 EOF
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/nsprpub/pr/include/md/_pth.h mozilla/nsprpub/pr/include/md/_pth.h
--- mozilla.orig/nsprpub/pr/include/md/_pth.h	2005-07-22 03:22:53 +0900
+++ mozilla/nsprpub/pr/include/md/_pth.h	2010-09-20 22:29:30 +0900
@@ -202,13 +202,6 @@
 #define PT_NO_SIGTIMEDWAIT
 #endif
 
-/*
- * These platforms don't have pthread_kill()
- */
-#if defined(DARWIN)
-#define pthread_kill(thread, sig) ENOSYS
-#endif
-
 #if defined(OSF1) || defined(VMS)
 #define PT_PRIO_MIN            PRI_OTHER_MIN
 #define PT_PRIO_MAX            PRI_OTHER_MAX
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/nsprpub/pr/tests/Makefile.in mozilla/nsprpub/pr/tests/Makefile.in
--- mozilla.orig/nsprpub/pr/tests/Makefile.in	2004-04-26 00:01:02 +0900
+++ mozilla/nsprpub/pr/tests/Makefile.in	2010-09-20 22:29:30 +0900
@@ -491,6 +491,12 @@
 	@$(MAKE_OBJDIR)
 ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
 	link $(LDOPTS) $(EXTRA_LDOPTS) $< $(LIBPLC) $(LIBNSPR) $(EXTRA_LIBS) -out:$@
+ifdef MT
+	@if test -f $@.manifest; then \
+		$(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
+		rm -f $@.manifest; \
+	fi
+endif
 else
 ifeq ($(MOZ_OS2_TOOLS),VACPP)
 	$(LD) $(EXEFLAGS) $(LDOPTS) $< $(LIBPLC) $(LIBNSPR) $(OS_LIBS) $(EXTRA_LIBS)
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	2006-02-23 07:27:51 +0900
+++ mozilla/security/coreconf/Darwin.mk	2010-09-20 22:29:30 +0900
@@ -104,8 +104,12 @@
 OS_CFLAGS	= $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wmost -fpascal-strings -no-cpp-precomp -fno-common -pipe -DDARWIN -DHAVE_STRERROR -DHAVE_BSD_FLOCK $(DARWIN_SDK_CFLAGS)
 
 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	2006-04-25 10:32:16 +0900
+++ mozilla/security/coreconf/Linux.mk	2010-09-20 22:29:30 +0900
@@ -148,8 +148,12 @@
 endif
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER	= $(MOZ_OPTIMIZE_FLAGS)
+else
 	OPTIMIZER	= -O2
 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	2007-01-06 07:12:14 +0900
+++ mozilla/security/coreconf/OS2.mk	2010-09-20 22:29:30 +0900
@@ -66,7 +66,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                = 
@@ -114,7 +114,11 @@
 OS_CFLAGS          = -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Zomf -DDEBUG -DTRACING -g
 
 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) $(HIGHMEM_LDFLAG)
 EXEFLAGS    		= -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE $(HIGHMEM_LDFLAG)
@@ -141,7 +145,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                = 
@@ -185,7 +189,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	2005-09-17 02:09:23 +0900
+++ mozilla/security/coreconf/WIN16.mk	2010-09-20 22:29:30 +0900
@@ -70,7 +70,7 @@
 
 CC           = wcc
 CCC          = wcl
-LINK         = wlink
+LD           = wlink
 AR           = wlib
 AR          += -q $@
 RC           = wrc.exe
@@ -87,7 +87,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	2007-01-14 11:53:29 +0900
+++ mozilla/security/coreconf/WIN32.mk	2010-09-20 22:29:30 +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
@@ -97,7 +97,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
@@ -116,7 +120,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	2005-09-17 02:09:23 +0900
+++ mozilla/security/coreconf/WINCE.mk	2010-09-20 22:29:30 +0900
@@ -54,7 +54,7 @@
 endif
 endif
 
-LINK         = link
+LD           = link
 AR           = lib
 AR          += -NOLOGO -OUT:"$@"
 RANLIB       = echo
@@ -84,7 +84,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-08-27 09:33:40 +0900
+++ mozilla/security/coreconf/WINCE3.0.mk	2010-09-20 22:29:30 +0900
@@ -83,7 +83,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	2005-10-11 08:46:12 +0900
+++ mozilla/security/coreconf/command.mk	2010-09-20 22:29:30 +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)
 RANLIB        = echo
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	2006-12-20 07:07:37 +0900
+++ mozilla/security/manager/Makefile.in	2010-09-20 22:29:31 +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
@@ -171,7 +173,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	2007-04-03 05:35:11 +0900
+++ mozilla/toolkit/mozapps/installer/packager.mk	2010-09-20 22:29:31 +0900
@@ -96,9 +96,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
@@ -130,7 +130,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-23 00:09:43 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/extra.c	2010-09-20 22:29:31 +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-23 00:09:50 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/setup.h	2010-09-20 22:29:31 +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-09-20 22:29:31 +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/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	2006-02-23 00:09:51 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/extra.c	2010-09-20 22:29:31 +0900
@@ -927,9 +927,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	2005-02-02 02:07:28 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/rdi.c	2010-09-20 22:29:31 +0900
@@ -151,7 +151,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	2007-08-08 11:27:40 +0900
+++ mozilla/toolkit/xre/nsAppRunner.cpp	2010-09-20 22:29:31 +0900
@@ -1176,7 +1176,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:47:40 +0900
+++ mozilla/view/src/nsViewManager.cpp	2010-09-20 22:29:31 +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-09-20 22:29:31 +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-01-25 11:29:43 +0900
+++ mozilla/widget/src/windows/nsWindow.cpp	2010-09-20 22:29:31 +0900
@@ -98,7 +98,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"
@@ -590,6 +593,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;
@@ -600,7 +608,10 @@
     DWORD dwTargetStrLen;
     DWORD dwTargetStrOffset;
 } RECONVERTSTRING, FAR * LPRECONVERTSTRING;
+#endif    // #ifndef IMR_RECONVERTSTRING
 
+#ifndef IMR_QUERYCHARPOSITION
+#define IMR_QUERYCHARPOSITION           0x0006
 typedef struct tagIMECHARPOSITION {
     DWORD dwSize;
     DWORD dwCharPos;
@@ -608,11 +619,7 @@
     UINT  cLineHeight;
     RECT  rcDocument;
 } IMECHARPOSITION, *PIMECHARPOSITION;
-
-#define IMR_RECONVERTSTRING             0x0004
-#define IMR_QUERYCHARPOSITION           0x0006
-#define WM_IME_REQUEST                  0x0288
-#endif
+#endif    // #ifndef IMR_QUERYCHARPOSITION
 
 // from http://msdn.microsoft.com/library/specs/msime.h
 #define RWM_RECONVERT       TEXT("MSIMEReconvert")
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/xpcom/MoreFiles/MoreFilesX.c mozilla/xpcom/MoreFiles/MoreFilesX.c
--- mozilla.orig/xpcom/MoreFiles/MoreFilesX.c	2005-06-02 03:45:30 +0900
+++ mozilla/xpcom/MoreFiles/MoreFilesX.c	2010-09-20 22:29:31 +0900
@@ -2315,7 +2315,7 @@
 /*****************************************************************************/
 
 OSErr
-FSVolumeMount(
+MFX_FSVolumeMount(
 	const void *volMountInfo,
 	FSVolumeRefNum *volRefNum)
 {
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/xpcom/MoreFiles/MoreFilesX.h mozilla/xpcom/MoreFiles/MoreFilesX.h
--- mozilla.orig/xpcom/MoreFiles/MoreFilesX.h	2005-06-02 03:45:31 +0900
+++ mozilla/xpcom/MoreFiles/MoreFilesX.h	2010-09-20 22:29:31 +0900
@@ -1487,9 +1487,12 @@
 /*****************************************************************************/
 
 #pragma mark FSVolumeMount
+/* Renamed from FSVolumeMount to MFX_FSVolumeMount to avoid a conflict with
+ * the FSVolumeMount function present in the system library since Mac OS X
+ * 10.5. */
 
 OSErr
-FSVolumeMount(
+MFX_FSVolumeMount(
 	const void *volMountInfo,
 	FSVolumeRefNum *volRefNum);
 
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-09-20 22:29:31 +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)
         {
             /*
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	2006-02-23 01:09:58 +0900
+++ mozilla/xpcom/typelib/xpidl/Makefile.in	2010-09-20 22:29:31 +0900
@@ -54,6 +54,10 @@
 HOST_CSRCS	= $(CSRCS)
 endif
 
+ifdef STATIC_LIBIDL
+USE_STATIC_LIBS = 1
+endif
+
 ifeq ($(OS_ARCH),Darwin)
 # The only reason to not always strip the SDK out is that the libraries
 # in / on ppc currently aren't fat, preventing the target xpidl from linking
@@ -117,6 +121,11 @@
 DEFINES		+= -DEXPORT_XPT_API
 ifndef GNU_CC
 LDFLAGS		+= -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRTD
+
+ifdef STATIC_LIBIDL
+LDFLAGS += -NODEFAULTLIB:MSVCRT
+endif
+
 endif
 endif
 

