be076b78eb
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27833 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
53 lines
2.0 KiB
Plaintext
53 lines
2.0 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)
|
|
|
|
7. Use shortcuts to verify device you are building for:
|
|
#ifdef WIN32_PLATFORM_WFSP == #ifdef __SMARTPHONE__
|
|
#ifdef WIN32_PLATFORM_PSPC == #ifdef __POCKETPC__
|
|
#ifdef WCE_PLATFORM_STANDARDSDK == #ifdef __WINCE_STANDARDSDK__
|
|
#if (complex condition) == #ifdef __HANDHELDPC__
|
|
|
|
|
|
Marco Cavallini
|
|
www.koansoftware.com
|