]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wxprec.h
update from James Bishop
[wxWidgets.git] / include / wx / wxprec.h
index a71f66eaec98f506b4ca4dc16ee8954525e730e0..4037833a48c7c5f66a27792c7ba51413e1e47a0b 100644 (file)
@@ -9,31 +9,43 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#include "wx/setup.h"   // always include this file (under Unix it's generated by configure)
-#include "wx/defs.h"    // compiler definitions
-
-// check if to use precompiled headers
-#if ((defined(__BORLANDC__) || defined(__VISUALC__) || defined(__WATCOMC__)) && defined(__WXMSW__)) || defined(__WXPM__)
-    #if !defined(NOPCH)
+// compiler detection; includes setup.h
+#include "wx/defs.h"
+
+// check if to use precompiled headers: do it for most Windows compilers unless
+// explicitly disabled by defining NOPCH
+#if ( defined(__WXMSW__) && \
+       ( defined(__BORLANDC__)    || \
+         defined(__VISUALC__)     || \
+         defined(__DIGITALMARS__) || \
+         defined(__WATCOMC__) ) ) || \
+      defined(__VISAGECPP__) || \
+      defined(__MWERKS__)
+
+    // If user did not request NOCPH and we're not building using configure
+    // then assume user wants precompiled headers.
+    #if !defined(NOPCH) && !defined(__WX_SETUP_H__)
         #define WX_PRECOMP
     #endif
 #endif
 
 // For some reason, this must be defined for common dialogs to work.
 #ifdef __WATCOMC__
         #define WX_PRECOMP
     #endif
 #endif
 
 // For some reason, this must be defined for common dialogs to work.
 #ifdef __WATCOMC__
-#define INCLUDE_COMMDLG_H  1
+    #define INCLUDE_COMMDLG_H  1
 #endif
 
 #endif
 
-// include the wx definitions
 #ifdef WX_PRECOMP
 
 #ifdef WX_PRECOMP
 
-#ifdef __WXMSW__
-#include <windows.h>
-#include "wx/msw/winundef.h"
+// include <wx/wxchar.h> first to ensure that UNICODE macro is correctly set
+// _before_ including <windows.h>
+#include "wx/wxchar.h"
+
+// include standard Windows headers
+#if defined(__WXMSW__)
+    #include "wx/msw/wrapwin.h"
 #endif
 
 #endif
 
+// include the most common wx headers
 #include "wx/wx.h"
 
 #include "wx/wx.h"
 
-
 #endif // WX_PRECOMP
 #endif // WX_PRECOMP
-