From be278c4d8b0de0426b9bbea0c3d92f1724f1d0a3 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Wed, 16 Feb 2011 12:27:29 -0800 Subject: [PATCH] Allow you to override SDL's main override --- include/SDL_main.h | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/include/SDL_main.h b/include/SDL_main.h index 917d11b17..326ea6d32 100644 --- a/include/SDL_main.h +++ b/include/SDL_main.h @@ -31,10 +31,11 @@ * Redefine main() on some platforms so that it is called by SDL. */ -#if defined(__WIN32__) || \ - (defined(__MWERKS__) && !defined(__BEOS__)) || \ - defined(__SYMBIAN32__) || defined(__IPHONEOS__) || \ - defined(__ANDROID__) +#if defined(__WIN32__) || defined(__IPHONEOS__) || defined(__ANDROID__) +#ifndef SDL_MAIN_HANDLED +#define SDL_MAIN_NEEDED +#endif +#endif #ifdef __cplusplus #define C_LINKAGE "C" @@ -57,7 +58,9 @@ * \endcode */ +#ifdef SDL_MAIN_NEEDED #define main SDL_main +#endif /** * The prototype for the application's main() function @@ -65,9 +68,6 @@ extern C_LINKAGE int SDL_main(int argc, char *argv[]); -/* From the SDL library code -- needed for registering the app on Win32 */ -#ifdef __WIN32__ - #include "begin_code.h" #ifdef __cplusplus /* *INDENT-OFF* */ @@ -75,6 +75,8 @@ extern "C" { /* *INDENT-ON* */ #endif +#ifdef __WIN32__ + /** * This can be called to set the application class at startup */ @@ -82,15 +84,15 @@ extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst); extern DECLSPEC void SDLCALL SDL_UnregisterApp(void); +#endif /* __WIN32__ */ + + #ifdef __cplusplus /* *INDENT-OFF* */ } /* *INDENT-ON* */ #endif #include "close_code.h" -#endif - -#endif /* Need to redefine main()? */ #endif /* _SDL_main_h */