diff options
author | Chris Robinson <[email protected]> | 2011-10-27 21:22:00 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2011-10-27 21:22:00 -0700 |
commit | a5c02556e69667f897fcf16493e3a0ed14c3d543 (patch) | |
tree | ad2624b836e25cdf522f5ebf6f0eda05708af69c /OpenAL32/Include | |
parent | 319f40462fe695126b02493a6d2fcd06ae3807b2 (diff) |
Add a work-around for cross-compiling with MinGW
Diffstat (limited to 'OpenAL32/Include')
-rw-r--r-- | OpenAL32/Include/alu.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h index 7ee2aa31..ffc8fa39 100644 --- a/OpenAL32/Include/alu.h +++ b/OpenAL32/Include/alu.h @@ -9,6 +9,32 @@ #include <math.h> #ifdef HAVE_FLOAT_H #include <float.h> +/* HACK: Seems cross-compiling with MinGW includes the wrong float.h, which + * doesn't define Windows' _controlfp and related macros */ +#if defined(__MINGW32__) && !defined(_RC_CHOP) +/* Control word masks for unMask */ +#define _MCW_EM 0x0008001F /* Error masks */ +#define _MCW_IC 0x00040000 /* Infinity */ +#define _MCW_RC 0x00000300 /* Rounding */ +#define _MCW_PC 0x00030000 /* Precision */ +/* Control word values for unNew (use with related unMask above) */ +#define _EM_INVALID 0x00000010 +#define _EM_DENORMAL 0x00080000 +#define _EM_ZERODIVIDE 0x00000008 +#define _EM_OVERFLOW 0x00000004 +#define _EM_UNDERFLOW 0x00000002 +#define _EM_INEXACT 0x00000001 +#define _IC_AFFINE 0x00040000 +#define _IC_PROJECTIVE 0x00000000 +#define _RC_CHOP 0x00000300 +#define _RC_UP 0x00000200 +#define _RC_DOWN 0x00000100 +#define _RC_NEAR 0x00000000 +#define _PC_24 0x00020000 +#define _PC_53 0x00010000 +#define _PC_64 0x00000000 +_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _controlfp (unsigned int unNew, unsigned int unMask); +#endif #endif #ifdef HAVE_IEEEFP_H #include <ieeefp.h> |