xref: /aosp_15_r20/external/speex/win32/config.h (revision 28e138c64d234588b5cd2a8a403b584bd3036e4e)
1*28e138c6SAndroid Build Coastguard Worker // Microsoft version of 'inline'
2*28e138c6SAndroid Build Coastguard Worker #define inline __inline
3*28e138c6SAndroid Build Coastguard Worker 
4*28e138c6SAndroid Build Coastguard Worker // In Visual Studio, _M_IX86_FP=1 means /arch:SSE was used, likewise
5*28e138c6SAndroid Build Coastguard Worker // _M_IX86_FP=2 means /arch:SSE2 was used.
6*28e138c6SAndroid Build Coastguard Worker // Also, enable both USE_SSE and USE_SSE2 if we're compiling for x86-64
7*28e138c6SAndroid Build Coastguard Worker #if _M_IX86_FP >= 1 || defined(_M_X64)
8*28e138c6SAndroid Build Coastguard Worker #define USE_SSE
9*28e138c6SAndroid Build Coastguard Worker #endif
10*28e138c6SAndroid Build Coastguard Worker 
11*28e138c6SAndroid Build Coastguard Worker #if _M_IX86_FP >= 2 || defined(_M_X64)
12*28e138c6SAndroid Build Coastguard Worker #define USE_SSE2
13*28e138c6SAndroid Build Coastguard Worker #endif
14*28e138c6SAndroid Build Coastguard Worker 
15*28e138c6SAndroid Build Coastguard Worker // Visual Studio support alloca(), but it always align variables to 16-bit
16*28e138c6SAndroid Build Coastguard Worker // boundary, while SSE need 128-bit alignment. So we disable alloca() when
17*28e138c6SAndroid Build Coastguard Worker // SSE is enabled.
18*28e138c6SAndroid Build Coastguard Worker #ifndef USE_SSE
19*28e138c6SAndroid Build Coastguard Worker #  define USE_ALLOCA
20*28e138c6SAndroid Build Coastguard Worker #endif
21*28e138c6SAndroid Build Coastguard Worker 
22*28e138c6SAndroid Build Coastguard Worker /* Default to floating point */
23*28e138c6SAndroid Build Coastguard Worker #ifndef FIXED_POINT
24*28e138c6SAndroid Build Coastguard Worker #  define FLOATING_POINT
25*28e138c6SAndroid Build Coastguard Worker #  define USE_SMALLFT
26*28e138c6SAndroid Build Coastguard Worker #else
27*28e138c6SAndroid Build Coastguard Worker #  define USE_KISS_FFT
28*28e138c6SAndroid Build Coastguard Worker #endif
29*28e138c6SAndroid Build Coastguard Worker 
30*28e138c6SAndroid Build Coastguard Worker /* We don't support visibility on Win32 */
31*28e138c6SAndroid Build Coastguard Worker #define EXPORT
32