diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/build/autoconf/acoutput-fast.pl mozilla/build/autoconf/acoutput-fast.pl
--- mozilla.orig/build/autoconf/acoutput-fast.pl	2003-10-31 06:05:56 +0900
+++ mozilla/build/autoconf/acoutput-fast.pl	2009-04-28 15:22:13 +0900
@@ -74,16 +74,12 @@
   }
   # Call mkdir with the directories sorted by subdir count (how many /'s)
   if (@dirs) {
-    my $mkdir_command = "mkdir -p ". join(' ', @dirs);
-    if (system($mkdir_command)  != 0) {
-      print STDERR "Creating dirs all at once failed; trying one at atime\n";
       foreach $dir (@dirs) {
         if (not -d $dir) {
           print STDERR "Creating directory $dir\n";
           create_directory($dir);
         }
       }
-    }
   }
 }
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/client.mk mozilla/client.mk
--- mozilla.orig/client.mk	2006-04-15 12:35:29 +0900
+++ mozilla/client.mk	2009-12-20 18:15:27 +0900
@@ -155,7 +155,7 @@
         $(CVSCO) $(MOZCONFIG_FINDER) $(MOZCONFIG_LOADER) $(MOZCONFIG_MODULES); \
      else true; \
      fi; \
-     $(MOZCONFIG_LOADER) $(TOPSRCDIR) mozilla/.mozconfig.mk > mozilla/.mozconfig.out)
+     $(CONFIG_SHELL) $(MOZCONFIG_LOADER) $(TOPSRCDIR) mozilla/.mozconfig.mk > mozilla/.mozconfig.out)
 include $(TOPSRCDIR)/.mozconfig.mk
 include $(TOPSRCDIR)/build/unix/modules.mk
 
@@ -782,8 +782,8 @@
 $(OBJDIR)/Makefile $(OBJDIR)/config.status: $(CONFIG_STATUS_DEPS)
 	@if test ! -d $(OBJDIR); then $(MKDIR) $(OBJDIR); else true; fi
 	@echo cd $(OBJDIR);
-	@echo $(CONFIGURE) $(CONFIGURE_ARGS)
-	@cd $(OBJDIR) && $(CONFIGURE_ENV_ARGS) $(CONFIGURE) $(CONFIGURE_ARGS) \
+	@echo $(CONFIG_SHELL) $(CONFIGURE) $(CONFIGURE_ARGS)
+	@cd $(OBJDIR) && $(CONFIGURE_ENV_ARGS) $(CONFIG_SHELL) $(CONFIGURE) $(CONFIGURE_ARGS) \
 	  || ( echo "*** Fix above errors and then restart with\
                \"$(MAKE) -f client.mk build\"" && exit 1 )
 	@touch $(OBJDIR)/Makefile
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/config/autoconf.mk.in mozilla/config/autoconf.mk.in
--- mozilla.orig/config/autoconf.mk.in	2004-10-31 13:29:54 +0900
+++ mozilla/config/autoconf.mk.in	2009-04-28 15:22:13 +0900
@@ -401,6 +401,7 @@
 GLIB_GMODULE_LIBS	= @GLIB_GMODULE_LIBS@
 LIBIDL_CFLAGS = @LIBIDL_CFLAGS@
 LIBIDL_LIBS = @LIBIDL_LIBS@
+STATIC_LIBIDL = @STATIC_LIBIDL@
 
 MOZ_NATIVE_MAKEDEPEND	= @SYSTEM_MAKEDEPEND@
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/configure mozilla/configure
--- mozilla.orig/configure	2004-10-31 16:17:58 +0900
+++ mozilla/configure	2009-04-28 15:22:14 +0900
@@ -2811,7 +2811,7 @@
         _MIDL_MAJOR_VERSION=`echo ${_MIDL_FULL_VERSION} | $AWK -F\. '{ print $1 }'`
         _MIDL_MINOR_VERSION=`echo ${_MIDL_FULL_VERSION} | $AWK -F\. '{ print $2 }'`
         _MIDL_REV_VERSION=`echo ${_MIDL_FULL_VERSION} | $AWK -F\. '{ print $3 }'`
-         if test "$_MIDL_MAJOR_VERSION" != "5" -a "$_MIDL_FULL_VERSION" != "6.00.0347" -a "$_MIDL_FULL_VERSION" != "6.00.0361"; then
+         if test "$_MIDL_MAJOR_VERSION" != "5" -a "$_MIDL_FULL_VERSION" != "6.00.0347" -a "$_MIDL_FULL_VERSION" != "6.00.0361" -a "$_MIDL_FULL_VERSION" != "6.00.0366"; then
              { echo "configure: error: Midl version $_MIDL_FULL_VERSION was found.  Midl version must be 5.x.x (VC6*) or 6.00.0347 (VC7) or 6.00.0361 (VC.net 2003)." 1>&2; exit 1; }
          fi
 
@@ -5524,7 +5524,13 @@
         { echo "configure: error: Cannot find $_GLIB_PREFIX_DIR/include/glib.h ." 1>&2; exit 1; }
     fi
     GLIB_CFLAGS="-I${_GLIB_PREFIX_DIR}/include"
-    GLIB_LIBS="${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"
+    if test -f "${_GLIB_PREFIX_DIR}/lib/glib-1.2_s.lib"; then
+        GLIB_LIBS="${_GLIB_PREFIX_DIR}/lib/glib-1.2_s.lib"
+    elif test -f "${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"; then
+        GLIB_LIBS="${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"
+    else
+        { echo "configure: error: Cannot find $_GLIB_PREFIX_DIR/lib/glib-1.2.lib or $_GLIB_PREFIX_DIR/lib/glib-1.2_s.lib" 1>&2; exit 1; }
+    fi
 
     if test -n "$LIBIDL_PREFIX"; then
         _LIBIDL_PREFIX_DIR=`cd $LIBIDL_PREFIX && pwd`
@@ -5543,17 +5549,40 @@
         { echo "configure: error: Cannot find $_LIBIDL_PREFIX_DIR/include/libIDL/IDL.h ." 1>&2; exit 1; }
     fi
     LIBIDL_CFLAGS="-I${_LIBIDL_PREFIX_DIR}/include ${GLIB_CFLAGS}"
-    LIBIDL_LIBS="${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6.lib ${_GLIB_PREFIX_DIR}/lib/glib-1.2.lib"
+    if test -f "${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6_s.lib"; then
+        LIBIDL_LIBS="${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6_s.lib"
+        STATIC_LIBIDL=1
+    elif test -f "${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6.lib"; then
+        LIBIDL_LIBS="${_LIBIDL_PREFIX_DIR}/lib/libidl-0.6.lib"
+    else
+        { echo "configure: error: Cannot find $_LIBIDL_PREFIX_DIR/lib/libidl-0.6.lib or $_LIBIDL_PREFIX_DIR/lib/libidl-0.6_s.lib" 1>&2; exit 1; }
+    fi
+    LIBIDL_LIBS="${LIBIDL_LIBS} ${GLIB_LIBS}"
     ;;
+
     *) # else cross-compiling
         if test -n "$GLIB_PREFIX"; then
             GLIB_CFLAGS="-I${GLIB_PREFIX}/include"
-            GLIB_LIBS="${GLIB_PREFIX}/lib/glib-1.2.lib"
+            if test -f "${GLIB_PREFIX}/lib/glib-1.2_s.lib"; then
+                GLIB_LIBS="${GLIB_PREFIX}/lib/glib-1.2_s.lib"
+            elif test -f "${GLIB_PREFIX}/lib/glib-1.2.lib"; then
+                GLIB_LIBS="${GLIB_PREFIX}/lib/glib-1.2.lib"
+            else
+                { echo "configure: error: Cannot find $GLIB_PREFIX/lib/glib-1.2.lib or $GLIB_PREFIX/lib/glib-1.2_s.lib" 1>&2; exit 1; }
+            fi
         fi
         if test -n "$LIBIDL_PREFIX"; then
             LIBIDL_CFLAGS="-I${LIBIDL_PREFIX}/include ${GLIB_CFLAGS}"
-            LIBIDL_LIBS="${LIBIDL_PREFIX}/lib/libIDL-0.6.lib ${GLIB_LIBS}"
+            if test -f "${LIBIDL_PREFIX}/lib/libIDL-0.6_s.lib"; then
+                LIBIDL_LIBS="${LIBIDL_PREFIX}/lib/libIDL-0.6_s.lib"
+                STATIC_LIBIDL=1
+            elif test -f "${LIBIDL_PREFIX}/lib/libIDL-0.6.lib"; then
+                LIBIDL_LIBS="${LIBIDL_PREFIX}/lib/libIDL-0.6.lib"
+            else
+                { echo "configure: error: Cannot find $LIBIDL_PREFIX/lib/libIDL-0.6.lib or $LIBIDL_PREFIX/lib/libIDL-0.6_s.lib" 1>&2; exit 1; }
+            fi
         fi
+        LIBIDL_LIBS="${LIBIDL_LIBS} ${GLIB_LIBS}"
         ;;
     esac 
 
@@ -17356,6 +17385,7 @@
 s%@GLIB_LIBS@%$GLIB_LIBS%g
 s%@LIBIDL_CONFIG@%$LIBIDL_CONFIG%g
 s%@ORBIT_CONFIG@%$ORBIT_CONFIG%g
+s%@STATIC_LIBIDL@%$STATIC_LIBIDL%g
 s%@GLIB_GMODULE_LIBS@%$GLIB_GMODULE_LIBS%g
 s%@HOST_LIBIDL_CONFIG@%$HOST_LIBIDL_CONFIG%g
 s%@HOST_LIBIDL_CFLAGS@%$HOST_LIBIDL_CFLAGS%g
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/directory/c-sdk/config/WIN32.mk mozilla/directory/c-sdk/config/WIN32.mk
--- mozilla.orig/directory/c-sdk/config/WIN32.mk	2002-03-27 06:51:55 +0900
+++ mozilla/directory/c-sdk/config/WIN32.mk	2009-04-28 15:22:14 +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	2009-04-28 15:22:14 +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	2009-04-28 15:22:14 +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	2009-04-28 15:22:14 +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	2002-03-27 06:52:37 +0900
+++ mozilla/directory/c-sdk/ldap/examples/win32.mak	2009-04-28 15:22:14 +0900
@@ -69,7 +69,7 @@
 CC=cl
 OPTFLAGS=-MD
 CFLAGS=$(OPTFLAGS) $(EXTRACFLAGS) -I$(INCDIR) -I$(NSPRINCDIR)
-LINK=link
+LD=link
 LDFLAGS=$(EXTRALDFLAGS)
 
 
@@ -142,4 +142,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	2009-04-28 15:22:14 +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/jpeg/Makefile.in mozilla/jpeg/Makefile.in
--- mozilla.orig/jpeg/Makefile.in	2002-12-28 10:13:50 +0900
+++ mozilla/jpeg/Makefile.in	2009-04-28 15:22:14 +0900
@@ -78,7 +78,9 @@
 		jos2fig.h \
 		$(NULL)
 
-ifneq (,$(filter os2 windows,$(MOZ_WIDGET_TOOLKIT)))
+# These files enable support for writing JPEGs
+# (on certain platforms, or if JPEG image encoder support is required)
+ifneq (,$(filter os2 windows,$(MOZ_WIDGET_TOOLKIT))$(filter jpeg,$(MOZ_IMG_ENCODERS)))
 CSRCS		+= \
 		jcapimin.c \
 		jcparam.c \
@@ -102,17 +104,3 @@
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
-
-ifeq ($(OS_ARCH),WINNT)
-ifndef GNU_CC
-#//  -Zi -GM needed to compile mmx functions in assembly.
-CFLAGS	+= -Zi -GM
-endif
-endif
-
-# Using the -Zi flag causes debugging info to be written to the .pdb files,
-# so we cannot do parallel builds here
-ifeq ($(OS_ARCH),WINNT)
-.NOTPARALLEL::
-endif
-
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/jpeg/jdapimin.c mozilla/jpeg/jdapimin.c
--- mozilla.orig/jpeg/jdapimin.c	2004-08-28 06:03:40 +0900
+++ mozilla/jpeg/jdapimin.c	2009-04-28 15:22:14 +0900
@@ -26,8 +26,6 @@
 #endif
 
 #ifdef HAVE_SSE2_INTEL_MNEMONICS
-#include "windows.h"
-
 int SSE2Available = 0;
 static int sse2support();
 #endif
@@ -484,7 +482,6 @@
 {
 	int sse2available = 0;
 	int my_edx;
-
 	_asm
 	{
 		mov eax, 01                       
@@ -495,25 +492,6 @@
 		sse2available = 1; 
 	else sse2available = 2;
 
-	/* The code below checks to see if the OS can handle */
-	/* SSE2 instructions. Windows NT below Service Pack  */
-	/* 5 without a special Intel Driver doesn't support  */
-	/* SSE2 instructions even though the processor may.  */
-	if (sse2available == 1)
-	{
-		__try
-		{
-			_asm
-			{
-				xorpd xmm0, xmm0  ; SSE2 instruction
-			}
-		}
-		__except(EXCEPTION_EXECUTE_HANDLER)
-		{
-			sse2available = 2;
-		}
-	}
-  
 	return sse2available;
 }
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/jpeg/jmorecfg.h mozilla/jpeg/jmorecfg.h
--- mozilla.orig/jpeg/jmorecfg.h	2004-03-26 10:17:16 +0900
+++ mozilla/jpeg/jmorecfg.h	2009-04-28 15:22:14 +0900
@@ -109,7 +109,9 @@
 
 #if defined(XP_WIN32) && defined(_M_IX86) && !defined(__GNUC__)
 #define HAVE_MMX_INTEL_MNEMONICS 
-#define HAVE_SSE2_INTEL_MNEMONICS 
+
+/* SSE2 code appears broken for some cpus (bug 247437) */
+/* #define HAVE_SSE2_INTEL_MNEMONICS */
 #endif
 
 /* Compressed datastreams are represented as arrays of JOCTET.
@@ -308,7 +310,7 @@
 /* Capability options common to encoder and decoder: */
 
 #define DCT_ISLOW_SUPPORTED	/* slow but accurate integer algorithm */
-#define DCT_IFAST_SUPPORTED	/* faster, less accurate integer method */
+#undef  DCT_IFAST_SUPPORTED	/* faster, less accurate integer method */
 #undef  DCT_FLOAT_SUPPORTED	/* floating-point: accurate, fast on fast HW */
 
 /* Encoder capability options: */
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mail/app/Makefile.in mozilla/mail/app/Makefile.in
--- mozilla.orig/mail/app/Makefile.in	2004-11-13 03:50:37 +0900
+++ mozilla/mail/app/Makefile.in	2009-12-20 18:13:49 +0900
@@ -273,9 +273,9 @@
 ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
 
 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	2005-04-07 04:23:40 +0900
+++ mozilla/mail/app/profile/all-thunderbird.js	2009-04-28 15:22:15 +0900
@@ -39,6 +39,7 @@
 pref("general.useragent.vendorSub", 
 #expand __APP_VERSION__
 );
+pref("general.useragent.vendorComment", "rayflood");
 
 // This is this application's unique identifier used by the Extension System to identify
 // this application as an extension target, and by the SmartUpdate system to identify
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mailnews/mime/src/mimeeobj.h mozilla/mailnews/mime/src/mimeeobj.h
--- mozilla.orig/mailnews/mime/src/mimeeobj.h	2001-09-29 05:07:42 +0900
+++ mozilla/mailnews/mime/src/mimeeobj.h	2009-08-19 23:32:52 +0900
@@ -54,7 +54,7 @@
   MimeLeafClass leaf;
 };
 
-extern MimeExternalObjectClass mimeExternalObjectClass;
+extern "C" MimeExternalObjectClass mimeExternalObjectClass;
 
 struct MimeExternalObject {
   MimeLeaf leaf;
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/mozconfig mozilla/mozconfig
--- mozilla.orig/mozconfig	1970-01-01 09:00:00 +0900
+++ mozilla/mozconfig	2009-12-19 15:24:02 +0900
@@ -0,0 +1,6 @@
+if [ -e ${topsrcdir}/../../mozconfig ] ; then
+	RF_MOZCONFIG=${topsrcdir}/../../mozconfig
+elif [ -e ${topsrcdir}/../../../mozconfig ] ; then
+	RF_MOZCONFIG=${topsrcdir}/../../../mozconfig
+fi
+. ${RF_MOZCONFIG}/mozconfig.sh
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/Darwin.mk mozilla/security/coreconf/Darwin.mk
--- mozilla.orig/security/coreconf/Darwin.mk	2003-11-13 10:59:22 +0900
+++ mozilla/security/coreconf/Darwin.mk	2009-12-20 18:22:40 +0900
@@ -62,8 +62,12 @@
 OS_CFLAGS	= $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wmost -fpascal-strings -no-cpp-precomp -fno-common -pipe -DDARWIN -DHAVE_STRERROR -DHAVE_BSD_FLOCK
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+OPTIMIZER	= $(MOZ_OPTIMIZE_FLAGS)
+else
 OPTIMIZER	= -O2
 endif
+endif
 
 ARCH		= darwin
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/Linux.mk mozilla/security/coreconf/Linux.mk
--- mozilla.orig/security/coreconf/Linux.mk	2004-02-11 11:33:51 +0900
+++ mozilla/security/coreconf/Linux.mk	2009-12-20 18:19:02 +0900
@@ -125,8 +125,12 @@
 	OS_REL_CFLAGS	+= -DLINUX2_0
 	MKSHLIB		= $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
 	ifdef BUILD_OPT
+	ifeq ($(MOZ_OPTIMIZE),2)
+		OPTIMIZER	= $(MOZ_OPTIMIZE_FLAGS)
+	else
 		OPTIMIZER	= -O2
 	endif
+	endif
 	ifdef MAPFILE
 		MKSHLIB += -Wl,--version-script,$(MAPFILE)
 	endif
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/OS2.mk mozilla/security/coreconf/OS2.mk
--- mozilla.orig/security/coreconf/OS2.mk	2004-10-16 09:11:52 +0900
+++ mozilla/security/coreconf/OS2.mk	2009-12-20 18:21:52 +0900
@@ -62,7 +62,7 @@
 ifdef XP_OS2_EMX
 
 CCC			= gcc
-LINK			= gcc
+LD			= gcc
 AR                      = emxomfar r $@
 # Keep AR_FLAGS blank so that we do not have to change rules.mk
 AR_FLAGS                = 
@@ -112,7 +112,11 @@
 
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+OPTIMIZER		= $(MOZ_OPTIMIZE_FLAGS)
+else
 OPTIMIZER		= -O2 -s
+endif
 DEFINES 		+= -UDEBUG -U_DEBUG -DNDEBUG
 DLLFLAGS		= -DLL -OUT:$@ -MAP:$(@:.dll=.map)
 EXEFLAGS    		= -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
@@ -139,7 +143,7 @@
 ASFLAGS = +Od
 endif
 CCC			= icc -q -DXP_OS2 -DOS2=4 -N10
-LINK			= -ilink
+LD			= -ilink
 AR		= -ilib /NOL /NOI /O:$(subst /,\\,$@)
 # Keep AR_FLAGS blank so that we do not have to change rules.mk
 AR_FLAGS                = 
@@ -189,7 +193,11 @@
 LDFLAGS     = /FREE /NOE /LINENUMBERS /nologo
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+OPTIMIZER		= $(MOZ_OPTIMIZE_FLAGS)
+else
 OPTIMIZER		= /O+ /Gl+ /G5 /qarch=pentium
+endif
 DEFINES 		+= -UDEBUG -U_DEBUG -DNDEBUG
 OBJDIR_TAG 		= _OPT
 LDFLAGS     += /NODEBUG /OPTFUNC /EXEPACK:2 /PACKCODE /PACKDATA
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/WIN16.mk mozilla/security/coreconf/WIN16.mk
--- mozilla.orig/security/coreconf/WIN16.mk	2002-02-16 07:53:12 +0900
+++ mozilla/security/coreconf/WIN16.mk	2009-12-20 19:00:07 +0900
@@ -66,7 +66,7 @@
 
 CC           = wcc
 CCC          = wcl
-LINK         = wlink
+LD           = wlink
 AR           = wlib
 AR          += -q $@
 RC           = wrc.exe
@@ -83,7 +83,11 @@
 DLL_SUFFIX   = dll
 
 ifdef BUILD_OPT
+ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER   = $(MOZ_OPTIMIZE_FLAGS)
+else
 	OPTIMIZER   = -oneatx -oh -oi -ei -3 -fpi87 -fp3
+endif
 else
 	OPTIMIZER  += -d2 -hc -DDEBUG
 #	OPTIMIZER  += -d2 -hw -DDEBUG
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/WIN32.mk mozilla/security/coreconf/WIN32.mk
--- mozilla.orig/security/coreconf/WIN32.mk	2004-09-15 05:59:42 +0900
+++ mozilla/security/coreconf/WIN32.mk	2009-12-20 18:20:13 +0900
@@ -41,7 +41,7 @@
 ifdef NS_USE_GCC
 	CC           = gcc
 	CCC          = g++
-	LINK         = ld
+	LD           = ld
 	AR           = ar
 	AR          += cr $@
 	RANLIB       = ranlib
@@ -51,7 +51,7 @@
 else
 	CC           = cl
 	CCC          = cl
-	LINK         = link
+	LD           = link
 	AR           = lib
 	AR          += -NOLOGO -OUT:"$@"
 	RANLIB       = echo
@@ -89,7 +89,11 @@
     _GEN_IMPORT_LIB=-Wl,--out-implib,$(IMPORT_LIBRARY)
     DLLFLAGS  += -mno-cygwin -o $@ -shared -Wl,--export-all-symbols $(if $(IMPORT_LIBRARY),$(_GEN_IMPORT_LIB))
     ifdef BUILD_OPT
+	ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER  += $(MOZ_OPTIMIZE_FLAGS)
+	else
 	OPTIMIZER  += -O2
+	endif
 	DEFINES    += -UDEBUG -U_DEBUG -DNDEBUG
 	#
 	# Add symbolic information for a profiler
@@ -108,7 +112,11 @@
 else # !NS_USE_GCC
     ifdef BUILD_OPT
 	OS_CFLAGS  += -MD
+	ifeq ($(MOZ_OPTIMIZE),2)
+	OPTIMIZER  += $(MOZ_OPTIMIZE_FLAGS)
+	else
 	OPTIMIZER  += -O2
+	endif
 	DEFINES    += -UDEBUG -U_DEBUG -DNDEBUG
 	DLLFLAGS   += -OUT:"$@"
 	#
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/WINCE.mk mozilla/security/coreconf/WINCE.mk
--- mozilla.orig/security/coreconf/WINCE.mk	2002-04-05 09:52:31 +0900
+++ mozilla/security/coreconf/WINCE.mk	2009-12-20 18:20:52 +0900
@@ -50,7 +50,7 @@
 endif
 endif
 
-LINK         = link
+LD           = link
 AR           = lib
 AR          += -NOLOGO -OUT:"$@"
 RANLIB       = echo
@@ -80,7 +80,11 @@
 
 ifdef BUILD_OPT
 #   OS_CFLAGS  += -MD
+    ifeq ($(MOZ_OPTIMIZE),2)
+    OPTIMIZER  += $(MOZ_OPTIMIZE_FLAGS)
+    else
     OPTIMIZER  += -O2
+    endif
     DEFINES    += -UDEBUG -U_DEBUG -DNDEBUG
     DLLFLAGS   += -OUT:"$@"
 else
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/WINCE3.0.mk mozilla/security/coreconf/WINCE3.0.mk
--- mozilla.orig/security/coreconf/WINCE3.0.mk	2004-10-16 06:13:49 +0900
+++ mozilla/security/coreconf/WINCE3.0.mk	2009-04-28 15:22:15 +0900
@@ -79,7 +79,7 @@
     LINKFLAGS += -PDB:NONE
 endif
 
-LINK    += $(LINKFLAGS)
+LD      += $(LINKFLAGS)
 LDFLAGS += $(LINKFLAGS)
 
 OS_LIBS= coredll.lib corelibc.lib
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/coreconf/command.mk mozilla/security/coreconf/command.mk
--- mozilla.orig/security/coreconf/command.mk	2002-02-16 07:53:12 +0900
+++ mozilla/security/coreconf/command.mk	2009-04-28 15:22:15 +0900
@@ -39,8 +39,8 @@
 AS            = $(CC)
 ASFLAGS      += $(CFLAGS)
 CCF           = $(CC) $(CFLAGS)
-LINK_DLL      = $(LINK) $(OS_DLLFLAGS) $(DLLFLAGS)
-LINK_EXE      = $(LINK) $(OS_LFLAGS) $(LFLAGS)
+LINK_DLL      = $(LD) $(OS_DLLFLAGS) $(DLLFLAGS)
+LINK_EXE      = $(LD) $(OS_LFLAGS) $(LFLAGS)
 NFSPWD        = $(NSINSTALL_DIR)/nfspwd
 CFLAGS        = $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
 		$(XCFLAGS)
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/security/manager/Makefile.in mozilla/security/manager/Makefile.in
--- mozilla.orig/security/manager/Makefile.in	2005-03-29 09:56:36 +0900
+++ mozilla/security/manager/Makefile.in	2009-12-20 18:18:07 +0900
@@ -27,6 +27,8 @@
 
 include $(DEPTH)/config/autoconf.mk
 
+export MOZ_OPTIMIZE MOZ_OPTIMIZE_FLAGS MOZ_OPTIMIZE_LDFLAGS MOZ_OPTIMIZE_SIZE_TWEAK
+
 MODULE = psm
 
 PACKAGE_FILE = psm.pkg
@@ -112,7 +114,7 @@
 	NATIVE_CC="$(HOST_CC)" \
 	CC="$(CC)" \
 	CCC="$(CXX)" \
-	LINK="$(LD)" \
+	LD="$(LD)" \
 	AS="$(AS)" \
 	AR='$(AR) $(AR_FLAGS:$@=$$@)' \
 	RANLIB="$(RANLIB)" \
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/packager.mk mozilla/toolkit/mozapps/installer/packager.mk
--- mozilla.orig/toolkit/mozapps/installer/packager.mk	2005-02-18 17:24:24 +0900
+++ mozilla/toolkit/mozapps/installer/packager.mk	2009-12-20 18:17:27 +0900
@@ -91,13 +91,13 @@
 endif
 ifeq ($(MOZ_PKG_FORMAT),DMG)
 ifdef MOZ_DEBUG
-_APPNAME	= $(MOZ_APP_DISPLAYNAME)Debug.app
+_APPNAME	= $(MOZ_APP_NAME)Debug.app
 else
-_APPNAME	= $(MOZ_APP_DISPLAYNAME).app
+_APPNAME	= $(MOZ_APP_NAME).app
 endif
 PKG_SUFFIX	= .dmg
 _ABS_TOPSRCDIR	= $(shell cd $(topsrcdir) && pwd)
-MAKE_PACKAGE	= $(_ABS_TOPSRCDIR)/build/package/mac_osx/make-diskimage $(PKG_BASENAME).dmg $(MOZ_PKG_APPNAME) $(MOZ_APP_DISPLAYNAME)
+MAKE_PACKAGE	= $(_ABS_TOPSRCDIR)/build/package/mac_osx/make-diskimage $(PKG_BASENAME).dmg $(MOZ_PKG_APPNAME) $(MOZ_APP_NAME)
 endif
 
 # dummy macro if we don't have PSM built
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/extra.c mozilla/toolkit/mozapps/installer/windows/wizard/setup/extra.c
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/extra.c	2005-06-16 17:56:18 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/extra.c	2009-08-19 21:21:28 +0900
@@ -4922,9 +4922,9 @@
   bIsWin95Debute = FALSE;
   if((hLib = LoadLibraryEx("kernel32.dll", NULL, LOAD_WITH_ALTERED_SEARCH_PATH)) != NULL)
   {
-    if(((FARPROC)NS_GetDiskFreeSpaceEx = GetProcAddress(hLib, "GetDiskFreeSpaceExA")) == NULL)
+    if((NS_GetDiskFreeSpaceEx = GetProcAddress(hLib, "GetDiskFreeSpaceExA")) == NULL)
     {
-      (FARPROC)NS_GetDiskFreeSpace = GetProcAddress(hLib, "GetDiskFreeSpaceA");
+      NS_GetDiskFreeSpace = GetProcAddress(hLib, "GetDiskFreeSpaceA");
       bIsWin95Debute = TRUE;
     }
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/setup.h mozilla/toolkit/mozapps/installer/windows/wizard/setup/setup.h
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/setup.h	2004-10-08 07:55:03 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/setup.h	2009-04-28 15:22:15 +0900
@@ -50,6 +50,8 @@
 #include "resource.h"
 #include "zipfile.h"
 
+#define strcmpi stricmp
+
 #define DEFAULT_SETUP_WINDOW_NAME       "Setup"
 /* Class name for the invisible window to be created */
 #define CLASS_NAME_SETUP                "MozillaSetup"
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/xpi.c mozilla/toolkit/mozapps/installer/windows/wizard/setup/xpi.c
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/setup/xpi.c	2003-11-06 17:43:48 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/setup/xpi.c	2009-08-19 21:22:18 +0900
@@ -107,19 +107,19 @@
     PrintError(szBuf, ERROR_CODE_SHOW);
     return(1);
   }
-  if(((FARPROC)pfnXpiInit = GetProcAddress(hXPIStubInst, "XPI_Init")) == NULL)
+  if((pfnXpiInit = (XpiInit)GetProcAddress(hXPIStubInst, "XPI_Init")) == NULL)
   {
     wsprintf(szBuf, szEGetProcAddress, "XPI_Init");
     PrintError(szBuf, ERROR_CODE_SHOW);
     return(1);
   }
-  if(((FARPROC)pfnXpiInstall = GetProcAddress(hXPIStubInst, "XPI_Install")) == NULL)
+  if((pfnXpiInstall = (XpiInstall)GetProcAddress(hXPIStubInst, "XPI_Install")) == NULL)
   {
     wsprintf(szBuf, szEGetProcAddress, "XPI_Install");
     PrintError(szBuf, ERROR_CODE_SHOW);
     return(1);
   }
-  if(((FARPROC)pfnXpiExit = GetProcAddress(hXPIStubInst, "XPI_Exit")) == NULL)
+  if((pfnXpiExit = (XpiExit)GetProcAddress(hXPIStubInst, "XPI_Exit")) == NULL)
   {
     wsprintf(szBuf, szEGetProcAddress, "XPI_Exit");
     PrintError(szBuf, ERROR_CODE_SHOW);
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/uninstall/extra.c mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/extra.c
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/uninstall/extra.c	2004-02-28 05:17:13 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/extra.c	2009-08-19 21:22:51 +0900
@@ -924,9 +924,9 @@
   bIsWin95Debute = FALSE;
   if((hLib = LoadLibraryEx("kernel32.dll", NULL, LOAD_WITH_ALTERED_SEARCH_PATH)) != NULL)
   {
-    if(((FARPROC)NS_GetDiskFreeSpaceEx = GetProcAddress(hLib, "GetDiskFreeSpaceExA")) == NULL)
+    if((NS_GetDiskFreeSpaceEx = GetProcAddress(hLib, "GetDiskFreeSpaceExA")) == NULL)
     {
-      (FARPROC)NS_GetDiskFreeSpace = GetProcAddress(hLib, "GetDiskFreeSpaceA");
+      NS_GetDiskFreeSpace = GetProcAddress(hLib, "GetDiskFreeSpaceA");
       bIsWin95Debute = TRUE;
     }
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/mozapps/installer/windows/wizard/uninstall/rdi.c mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/rdi.c
--- mozilla.orig/toolkit/mozapps/installer/windows/wizard/uninstall/rdi.c	2003-10-09 11:02:08 +0900
+++ mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/rdi.c	2009-08-19 21:23:11 +0900
@@ -136,7 +136,7 @@
   {
     iRv = WIZ_OK;
     *bIsMozMapi = FALSE;
-    if(((FARPROC)GetMapiDllVersion = GetProcAddress(hLib, "GetMapiDllVersion")) != NULL)
+    if((GetMapiDllVersion = GetProcAddress(hLib, "GetMapiDllVersion")) != NULL)
     {
       if(iMapiVersionInstalled == GetMapiDllVersion())
         *bIsMozMapi = TRUE;
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/xre/nsAppRunner.cpp mozilla/toolkit/xre/nsAppRunner.cpp
--- mozilla.orig/toolkit/xre/nsAppRunner.cpp	2005-05-25 01:47:48 +0900
+++ mozilla/toolkit/xre/nsAppRunner.cpp	2009-08-19 21:20:44 +0900
@@ -1162,7 +1162,7 @@
     return NS_ERROR_FAILURE;
 
   char *exePath = info.name;
-#elif
+#else
 #error Oops, you need platform-specific code here
 #endif
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/toolkit/xre/nsXREDirProvider.cpp mozilla/toolkit/xre/nsXREDirProvider.cpp
--- mozilla.orig/toolkit/xre/nsXREDirProvider.cpp	2004-09-10 13:12:29 +0900
+++ mozilla/toolkit/xre/nsXREDirProvider.cpp	2009-08-19 22:29:44 +0900
@@ -181,7 +181,7 @@
 
   *p = 0;
   return NS_NewNativeLocalFile(nsDependentCString(info.name), PR_TRUE, getter_AddRefs(mAppDir));
-#elif
+#else
 #error Oops, you need platform-specific code here
 #endif
 }
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/widget/src/windows/nsBidiKeyboard.cpp mozilla/widget/src/windows/nsBidiKeyboard.cpp
--- mozilla.orig/widget/src/windows/nsBidiKeyboard.cpp	2004-01-04 05:01:28 +0900
+++ mozilla/widget/src/windows/nsBidiKeyboard.cpp	2009-08-19 21:20:08 +0900
@@ -134,11 +134,11 @@
   while (keyboards--) {
     locale = buf[keyboards];
     if (IsRTLLanguage(locale)) {
-      sprintf(mRTLKeyboard, "%.*x", KL_NAMELENGTH - 1, LANGIDFROMLCID(locale));
+      sprintf(mRTLKeyboard, "%.*x", KL_NAMELENGTH - 1, LANGIDFROMLCID((DWORD)locale));
       isRTLKeyboardSet = PR_TRUE;
     }
     else {
-      sprintf(mLTRKeyboard, "%.*x", KL_NAMELENGTH - 1, LANGIDFROMLCID(locale));
+      sprintf(mLTRKeyboard, "%.*x", KL_NAMELENGTH - 1, LANGIDFROMLCID((DWORD)locale));
       isLTRKeyboardSet = PR_TRUE;
     }
   }
@@ -189,7 +189,7 @@
 PRBool nsBidiKeyboard::IsRTLLanguage(HKL aLocale)
 {
   // This macro extracts the primary language id (low 10 bits) from the locale id
-  switch (PRIMARYLANGID(aLocale)){
+  switch (PRIMARYLANGID((DWORD)aLocale)){
     case LANG_ARABIC:
     case LANG_FARSI:
     case LANG_HEBREW:
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/widget/src/windows/nsWindow.cpp mozilla/widget/src/windows/nsWindow.cpp
--- mozilla.orig/widget/src/windows/nsWindow.cpp	2005-06-20 17:50:33 +0900
+++ mozilla/widget/src/windows/nsWindow.cpp	2009-08-19 22:07:14 +0900
@@ -444,6 +444,11 @@
 
 // VC++5.0 header doesn't have reconvertion structure and message.
 #ifndef WM_IME_REQUEST
+#define WM_IME_REQUEST                  0x0288
+#endif    // #ifndef WM_IME_REQUEST
+
+#ifndef IMR_RECONVERTSTRING
+#define IMR_RECONVERTSTRING             0x0004
 typedef struct tagRECONVERTSTRING {
     DWORD dwSize;
     DWORD dwVersion;
@@ -454,10 +459,7 @@
     DWORD dwTargetStrLen;
     DWORD dwTargetStrOffset;
 } RECONVERTSTRING, FAR * LPRECONVERTSTRING;
-
-#define IMR_RECONVERTSTRING             0x0004
-#define WM_IME_REQUEST                  0x0288
-#endif
+#endif    // #ifndef IMR_RECONVERTSTRING
 
 // from http://msdn.microsoft.com/library/specs/msime.h
 #define RWM_RECONVERT       TEXT("MSIMEReconvert")
@@ -4701,7 +4703,7 @@
         wc.cbClsExtra       = 0;
         wc.cbWndExtra       = 0;
         wc.hInstance        = nsToolkit::mDllInstance;
-        wc.hIcon            = ::LoadIconW(::GetModuleHandle(NULL), MAKEINTRESOURCEW(IDI_APPLICATION));
+    wc.hIcon         = ::LoadIcon(::GetModuleHandle(NULL), IDI_APPLICATION);
         wc.hCursor          = NULL;
         wc.hbrBackground    = mBrush;
         wc.lpszMenuName     = NULL;
@@ -4727,7 +4729,7 @@
         wc.cbClsExtra       = 0;
         wc.cbWndExtra       = 0;
         wc.hInstance        = nsToolkit::mDllInstance;
-        wc.hIcon            = ::LoadIconW(::GetModuleHandle(NULL), MAKEINTRESOURCEW(IDI_APPLICATION));
+    wc.hIcon         = ::LoadIcon(::GetModuleHandle(NULL), IDI_APPLICATION);
         wc.hCursor          = NULL;
         wc.hbrBackground    = mBrush;
         wc.lpszMenuName     = NULL;
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/xpcom/base/nsStackFrameWin.cpp mozilla/xpcom/base/nsStackFrameWin.cpp
--- mozilla.orig/xpcom/base/nsStackFrameWin.cpp	2003-01-16 05:40:00 +0900
+++ mozilla/xpcom/base/nsStackFrameWin.cpp	2009-04-28 15:22:15 +0900
@@ -196,7 +196,7 @@
          * Not loaded, here's the magic.
          * Go through all the modules.
          */
-        enumRes = _EnumerateLoadedModules(aProcess, callbackEspecial, (PVOID)aAddr);
+        enumRes = _EnumerateLoadedModules(aProcess, (PENUMLOADED_MODULES_CALLBACK)callbackEspecial, (PVOID)aAddr);
         if(FALSE != enumRes)
         {
             /*
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/xpcom/typelib/xpidl/Makefile.in mozilla/xpcom/typelib/xpidl/Makefile.in
--- mozilla.orig/xpcom/typelib/xpidl/Makefile.in	2004-02-21 07:14:13 +0900
+++ mozilla/xpcom/typelib/xpidl/Makefile.in	2009-04-28 15:22:15 +0900
@@ -52,6 +52,10 @@
 HOST_CSRCS	= $(CSRCS)
 endif
 
+ifdef STATIC_LIBIDL
+USE_STATIC_LIBS = 1
+endif
+
 include $(topsrcdir)/config/rules.mk
 
 CFLAGS		+= $(LIBIDL_CFLAGS)
@@ -62,6 +66,11 @@
 DEFINES		+= -DEXPORT_XPT_API
 ifndef GNU_CC
 LDFLAGS		+= -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRTD
+
+ifdef STATIC_LIBIDL
+LDFLAGS += -NODEFAULTLIB:MSVCRT
+endif
+
 endif
 endif
 
diff -urN --strip-trailing-cr -x CVS -x '*.pyc' -x '*.stackdump' mozilla.orig/xpinstall/packager/Makefile.in mozilla/xpinstall/packager/Makefile.in
--- mozilla.orig/xpinstall/packager/Makefile.in	2005-02-18 17:24:24 +0900
+++ mozilla/xpinstall/packager/Makefile.in	2009-08-14 22:00:51 +0900
@@ -223,6 +223,11 @@
 endif
 endif # DMG
 	@echo "Stripping package directory..."
+	@for JAR in `ls $(DIST)/$(MOZ_PKG_APPNAME)/chrome/*.jar` ; do \
+		if test -d $${JAR%.*} ; then \
+			rm -rf $${JAR%.*} ; \
+		fi ; \
+	done
 	@cd $(DIST)/$(MOZ_PKG_APPNAME); find . ! -type d \
 			! -name "*.js" \
 			! -name "*.xpt" \

