diff --git a/mozilla/xpcom/build/nsXPCOMPrivate.h b/mozilla/xpcom/build/nsXPCOMPrivate.h index 71e7b2468bc..4b630059e66 100644 --- a/mozilla/xpcom/build/nsXPCOMPrivate.h +++ b/mozilla/xpcom/build/nsXPCOMPrivate.h @@ -113,12 +113,17 @@ NS_GetFrozenFunctions(XPCOMFunctions *entryPoints, const char* libraryPath); * XPCOM_DLL - name of the loadable xpcom library on disk. * XPCOM_SEARCH_KEY - name of the environment variable that can be * modified to include additional search paths. - * GRE_CONF_NAME - Name of the GRE Configuration file + * GRE_CONF_NAME - Name of the GRE Configuration file */ #if defined(XP_WIN32) || defined(XP_OS2) +#if defined(XP_WIN32) && defined(__GNUC__) +#define XPCOM_DLL "libxpcom" MOZ_DLL_SUFFIX +#else #define XPCOM_DLL "xpcom.dll" +#endif + #define XPCOM_SEARCH_KEY "PATH" #define GRE_CONF_NAME "gre.config" #define GRE_WIN_REG_LOC "Software\\mozilla.org\\GRE\\" diff --git a/mozilla/xpcom/io/nsLocalFileWin.cpp b/mozilla/xpcom/io/nsLocalFileWin.cpp index 566620eecfd..d69e230b853 100644 --- a/mozilla/xpcom/io/nsLocalFileWin.cpp +++ b/mozilla/xpcom/io/nsLocalFileWin.cpp @@ -54,6 +54,13 @@ #include "nsAutoLock.h" +// _mbsstr isn't declared in w32api headers but it's there in the libs +#ifdef __MINGW32__ +extern "C" { +unsigned char *_mbsstr( const unsigned char *str, + const unsigned char *substr ); +}; +#endif //---------------------------------------------------------------------------- // short cut resolver diff --git a/mozilla/xpcom/threads/plevent.h b/mozilla/xpcom/threads/plevent.h index 1d942eb1a48..636389a703e 100644 --- a/mozilla/xpcom/threads/plevent.h +++ b/mozilla/xpcom/threads/plevent.h @@ -173,10 +173,8 @@ and to ensure that no more events will be delivered for that owner. #include "prmon.h" /* For HWND */ -#if defined(_WIN32) && !defined(__MINGW32__) +#if defined(XP_WIN32) #include -#elif defined(WIN16) || defined(__MINGW32__) -#include #elif defined(XP_OS2) #define INCL_DOSMISC #define INCL_DOSPROCESS