diff options
Diffstat (limited to 'libs/backends/wavesaudio/wavesapi/BasicTypes/WUDefines.h')
-rw-r--r-- | libs/backends/wavesaudio/wavesapi/BasicTypes/WUDefines.h | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/libs/backends/wavesaudio/wavesapi/BasicTypes/WUDefines.h b/libs/backends/wavesaudio/wavesapi/BasicTypes/WUDefines.h new file mode 100644 index 0000000000..a0f279e028 --- /dev/null +++ b/libs/backends/wavesaudio/wavesapi/BasicTypes/WUDefines.h @@ -0,0 +1,157 @@ +#ifndef __WUDefines_h__ + #define __WUDefines_h__ + +/*Copy to include +#include "BasicTypes/WUDefines.h" +*/ + +#include "1.0/WavesPublicAPI_Defines.h" + +// When changing wvNS value also do the same change in Objective_C_MangledNames.h +// because CWSAUCocoaViewFactoryAsString is hard coded there +#define wvNS wvWavesV9_3 +#ifdef __APPLE__ + #define ObjCNameSpace(__className__) wvWavesV9_3_ ## __className__ +#endif + +#ifdef INSIDE_NETSHELL + #define DllExport +#else + #define DllExport WPAPI_DllExport +#endif + +#define __CDECL __WPAPI_CDECL +#define __STDCALL __WPAPI_STDCALL + + +#ifndef NULL + #define NULL (0) +#endif + +#ifndef nil + #define nil NULL +#endif + +#define PASCAL_MAC_ONLY #error do not use PASCAL_MAC_ONLY. See defintions in WavesFTT.h for replacment. +#define CALLCON #error do not use CALLCON. See defintions in WavesFTT.h for replacment. +#define FUNCEXP #error do not use FUNCEXP. See defintions in WavesFTT.h for replacment. + +#define WUNUSED_PARAM(__SOME_UNUSED_PARAM__) ((void)__SOME_UNUSED_PARAM__) + +#ifdef __APPLE__ + const char* const OS_NAME = "Mac"; + + #define WIN_ONLY(__Something_only_for_windows__) + #define MAC_ONLY(__Something_only_for_mac__) __Something_only_for_mac__ + + #if defined(i386) || defined(__i386) || defined(__i386__) + #define kNumArchBits 32 + #endif + #if defined(__x86_64) || defined(__x86_64__) + #define kNumArchBits 64 + #endif + + #if (__i386 || __x86_64) && !defined(__LITTLE_ENDIAN__) + #define __LITTLE_ENDIAN__ + #endif + #if !(__i386 || __x86_64) && !defined(__BIG_ENDIAN__) + #define __BIG_ENDIAN__ + #endif + #ifdef __GNUC__ + #define STD_EXCEPT_WIN std + #define FAR + #define PASCAL + // #define HINSTANCE void* + #define WINAPI + + #else + + #define DllExport_WinOnly + #define STD_EXCEPT_WIN std + #define FAR + #define PASCAL // windows' pascal + #define HINSTANCE void* + #define WINAPI + + #endif + #define THROW_SPEC(THROW_OBJ) throw (THROW_OBJ) + + #define WUNUSED_PARAM_ON_MAC(__SOME_UNUSED_PARAM__) WUNUSED_PARAM(__SOME_UNUSED_PARAM__) + #define WUNUSED_PARAM_ON_WIN(__SOME_UNUSED_PARAM__) +#endif + + +#ifdef PLATFORM_WINDOWS + const char* const OS_NAME = "Win"; + + #define WIN_ONLY(__Something_only_for_windows__) __Something_only_for_windows__ + #define MAC_ONLY(__Something_only_for_mac__) + + #if defined(_M_X64) + #define kNumArchBits 64 + #else // not sure what are the VisualStudio macros for 32 bits + #define kNumArchBits 32 + #endif + + #define DllExport_WinOnly DllExport // help solve window specific link errors + #define STD_EXCEPT_WIN + + #if !defined(__MINGW64__) + #define round(x) (floor(x+0.5)) + #endif + + #define __LITTLE_ENDIAN__ + #define THROW_SPEC(THROW_OBJ) throw (...) + + #define WUNUSED_PARAM_ON_MAC(__SOME_UNUSED_PARAM__) + #define WUNUSED_PARAM_ON_WIN(__SOME_UNUSED_PARAM__) WUNUSED_PARAM(__SOME_UNUSED_PARAM__) + +#endif + +#ifdef __linux__ + const char* const OS_NAME = "Linux"; + + #define WIN_ONLY(__Something_only_for_windows__) + #define MAC_ONLY(__Something_only_for_mac__) + + #define DllExport_WinOnly + #define STD_EXCEPT_WIN std + #define FAR + #define PASCAL + // #define HINSTANCE void* + #define WINAPI + #if __i386 && !defined(__LITTLE_ENDIAN__) + #define __LITTLE_ENDIAN__ + #endif + #if !__i386 && !defined(__BIG_ENDIAN__) + #define __BIG_ENDIAN__ + #endif + #define THROW_SPEC(THROW_OBJ) throw (THROW_OBJ) + + #if defined(__x86_64) || defined(__LP64__) + #error "64 bit not suported yet on linux" + #else + #define kNumArchBits 32 + #endif +#endif + +#ifndef _WU_DECL + #define _WU_DECL __CDECL // the default is calling model is cdecl, but you can also set this macro from the outside to something different +#endif + +#ifndef _XML_DECL + #define _XML_DECL __CDECL // the default is calling model is cdecl, but you can also set this macro from the outside to something different +#endif + +#ifndef kNumArchBits + #error Macro kNumArchBits was not defined +#endif + +#if kNumArchBits == 64 + const char* const kNumArchBits_c_str = "64"; +#endif +#if kNumArchBits == 32 + const char* const kNumArchBits_c_str = "32"; +#endif + +#endif //__WUDefines_h__ |