diff options
author | Ryan C. Gordon <icculus@icculus.org> | 2010-01-06 20:58:03 +0000 |
---|---|---|
committer | Ryan C. Gordon <icculus@icculus.org> | 2010-01-06 20:58:03 +0000 |
commit | 3876de9f4755a9cdd197b7e66e28d1771313c8fa (patch) | |
tree | 7f5e2498bba0328e612dfac7376be59f54c60cdc /include/begin_code.h | |
parent | 8fbed4b846245c4049f86e499eb1bc1e22ed5fef (diff) |
Merged r4717:4718 from branches/SDL-1.2: minor OS/2 DECLSPEC/SDLCALL fixes.
I reworked this a little. The 1.2 branch isn't really very elegant about this.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404369
Diffstat (limited to 'include/begin_code.h')
-rw-r--r-- | include/begin_code.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/include/begin_code.h b/include/begin_code.h index 2242e8c9..8982d244 100644 --- a/include/begin_code.h +++ b/include/begin_code.h @@ -52,6 +52,12 @@ # else # define DECLSPEC __declspec(dllexport) # endif +# elif defined(__OS2__) +# ifdef BUILD_SDL +# define DECLSPEC __declspec(dllexport) +# else +# define DECLSPEC +# endif # else # if defined(__GNUC__) && __GNUC__ >= 4 # define DECLSPEC __attribute__ ((visibility("default"))) @@ -63,11 +69,18 @@ /* By default SDL uses the C calling convention */ #ifndef SDLCALL -#if defined(__WIN32__) && !defined(__GNUC__) -#define SDLCALL __cdecl -#else -#define SDLCALL -#endif +# if defined(__WIN32__) && !defined(__GNUC__) +# define SDLCALL __cdecl +# elif defined(__OS2__) + /* Use the _System calling convention to be compatible with every OS/2 + compiler. (Please note that this used to be _cdecl for GCC, but that + was a bug. Someone should go examine and fix the XFree86 integration + instead. We shouldn't be passing SDLCALL function pointers between SDL + and XFree86!) */ +# define SDLCALL _System +# else +# define SDLCALL +# endif #endif /* SDLCALL */ /* Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC */ |