+General guidelines for
+wxWin/CE porting contributors.
+
+1.
+define __WXMSW__ when __WXWINCE__ is defined.
+In other words:
+both __WXMSW__ and __WXWINCE__ defined => wxWinCE compilation
+just __WXMSW__ defined => wxMSW compilation
+Because: Not defining __WXMSW__ for wxWinCE port means that all code doing anything
+Win32-specific would need to be changed to work with wxWinCE which doesn't
+seem at all like a good idea. (VZ)
+
+2.
+Shorter way is preferred
+#if (defined(STRICT) || defined(__GNUC__)) && !defined(__WXWINCE__)
+Because: Shorter code, single case intead of multiple one (JS)
+
+3.
+it's a good idea to separate GUI details from platform details.
+It would seem logical to do the same for Windows with WIN32 for the "system"
+functions and WXMSW and WXWINCE for the places where GUI's are different.
+If something is really a WIN32 function, #ifdef WIN32 seems much more
+logical than "#if defined(__WXMSW__) || defined(__WXWINCE__)"
+Because: Just imagine all the common unix stuff where within "#if defined(__WXGTK__)||
+defined(__WXMOTIF__)||defined(__WXX11)" and the mess that would create
+when trying to compile any of those 3 ports on OS/2, Windows or MacOS. (SN)
+
+4.
+Project that are not involved with the DLL creation should be stored in another level.
+Maybe something like /src/msw/wince/mywxbase
+Because: The main directory remain clearer. (MC)
+
+5. Definitely do not use #if defined (__WXWINCE__) in common headers or not MSW headers (JS)
+
+
+6. Note that wx/msw/private.h shouldn't be included neither from the
+headers -- only from the .cpp files. And there you should include it after
+everything, i.e.:
+#include "wx/dc.h"
+...
+#include "wx/msw/private.h"
+(VZ)
+
+ Marco Cavallini
+www.koansoftware.com