diff --git a/gfx/src/mac/nsDeviceContextMac.cpp b/gfx/src/mac/nsDeviceContextMac.cpp
index 5f668422da16476498e3241703117298cdb8d272..b58e936aeb2e15e61bf86a1126fafef2136ae9a5 100644
--- a/gfx/src/mac/nsDeviceContextMac.cpp
+++ b/gfx/src/mac/nsDeviceContextMac.cpp
@@ -20,11 +20,13 @@
 #include "nsRenderingContextMac.h"
 //XXX#include "../nsGfxCIID.h"
 
+
+#include <StringCompare.h>
+#include <Fonts.h>
 #include "math.h"
 #include "nspr.h"
 #include "il_util.h"
 #include <FixMath.h>
-#include <Fonts.h>
 
 static NS_DEFINE_IID(kDeviceContextIID, NS_IDEVICE_CONTEXT_IID);
 
diff --git a/gfx/src/mac/nsGfxFactoryMac.cpp b/gfx/src/mac/nsGfxFactoryMac.cpp
index f1419a7f4fe37d081ec2d882711136c8534027a2..c36448e3b9f51873b1533e2a2d294c3c86fac679 100644
--- a/gfx/src/mac/nsGfxFactoryMac.cpp
+++ b/gfx/src/mac/nsGfxFactoryMac.cpp
@@ -160,10 +160,12 @@ nsresult nsGfxFactoryMac::LockFactory(PRBool aLock)
 }  
 
 // return the proper factory to the caller
-#ifdef XP_MAC
+#ifdef GFX_STATIC
 extern "C" NS_GFXNONXP nsresult NSGetFactory_GFXWIN_DLL(const nsCID &aClass, nsIFactory **aFactory)
-#else
+#elif defined(GFX_SHARED)
+#pragma export on
 extern "C" NS_GFXNONXP nsresult NSGetFactory(const nsCID &aClass, nsIFactory **aFactory)
+#pragma export off
 #endif
 {
   if (nsnull == aFactory) {
diff --git a/widget/src/mac/nsDeviceContextMac.cpp b/widget/src/mac/nsDeviceContextMac.cpp
index 5f668422da16476498e3241703117298cdb8d272..b58e936aeb2e15e61bf86a1126fafef2136ae9a5 100644
--- a/widget/src/mac/nsDeviceContextMac.cpp
+++ b/widget/src/mac/nsDeviceContextMac.cpp
@@ -20,11 +20,13 @@
 #include "nsRenderingContextMac.h"
 //XXX#include "../nsGfxCIID.h"
 
+
+#include <StringCompare.h>
+#include <Fonts.h>
 #include "math.h"
 #include "nspr.h"
 #include "il_util.h"
 #include <FixMath.h>
-#include <Fonts.h>
 
 static NS_DEFINE_IID(kDeviceContextIID, NS_IDEVICE_CONTEXT_IID);