46 lines
1.7 KiB
Plaintext
46 lines
1.7 KiB
Plaintext
|
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
|