-#if !wxUSE_GUI || !defined(__WXMSW__)
- #define IMPLEMENT_WXWIN_MAIN \
- IMPLEMENT_WXWIN_MAIN_CONSOLE
-#elif defined(__WXMSW__)
- // we need HINSTANCE declaration to define WinMain()
- #include "wx/msw/wrapwin.h"
-
- #ifdef SW_SHOWNORMAL
- #define wxSW_SHOWNORMAL SW_SHOWNORMAL
- #else
- #define wxSW_SHOWNORMAL 0
- #endif
-
- #define IMPLEMENT_WXWIN_MAIN \
- extern int wxEntry(HINSTANCE hInstance, \
- HINSTANCE hPrevInstance = NULL, \
- char *pCmdLine = NULL, \
- int nCmdShow = wxSW_SHOWNORMAL); \
- extern "C" int WINAPI WinMain(HINSTANCE hInstance, \
- HINSTANCE hPrevInstance, \
- char *lpCmdLine, \
- int nCmdShow) \
- { \
- return wxEntry(hInstance, hPrevInstance, lpCmdLine, nCmdShow); \
- }
-#else
- #define IMPLEMENT_WXWIN_MAIN
-#endif
+// port-specific header could have defined it already in some special way
+#ifndef IMPLEMENT_WXWIN_MAIN
+ #define IMPLEMENT_WXWIN_MAIN IMPLEMENT_WXWIN_MAIN_CONSOLE
+#endif // defined(IMPLEMENT_WXWIN_MAIN)