1 /* List of defines generated by configure. Included with preprocessor flag,
2 * -include, to avoid long list of -D defines on the compile command-line.
6 #ifndef MOZILLA_CONFIG_H
7 #define MOZILLA_CONFIG_H
10 #pragma clang diagnostic push
11 #if __has_warning("-Wreserved-id-macro")
12 #pragma clang diagnostic ignored "-Wreserved-id-macro"
16 /* Expands to all the defines from configure. */
20 * The c99 defining the limit macros (UINT32_MAX for example), says:
22 * C++ implementations should define these macros only when
23 * __STDC_LIMIT_MACROS is defined before <stdint.h> is included.
25 * The same also occurs with __STDC_CONSTANT_MACROS for the constant macros
26 * (INT8_C for example) used to specify a literal constant of the proper type,
27 * and with __STDC_FORMAT_MACROS for the format macros (PRId32 for example) used
28 * with the fprintf function family.
30 #define __STDC_LIMIT_MACROS
31 #define __STDC_CONSTANT_MACROS
32 #if !defined(__STDC_FORMAT_MACROS)
33 #define __STDC_FORMAT_MACROS
36 #if defined(__clang__)
37 #pragma clang diagnostic pop
41 * Force-include sdkdecls.h for building the chromium sandbox code.
43 * CHROMIUM_SANDBOX_BUILD is defined in security/sandbox/moz.build.
44 * Note that this include path relies on the LOCAL_INCLUDES in that file.
46 #if defined(CHROMIUM_SANDBOX_BUILD) && defined(XP_WIN)
47 #include "base/win/sdkdecls.h"
51 * MinGW doesn't support __try / __except. There are a few mechanisms available
52 * to hack around it and pseudo-support it, but these are untested in Firefox.
53 * What is tested (and works) is replacing them with if(true) and else.
55 #define __try if(true)
56 #define __except(x) else
57 #ifdef GetExceptionCode
58 #undef GetExceptionCode
60 #define GetExceptionCode() 0
62 #endif /* __MINGW32__ */
63 #endif /* defined(CHROMIUM_SANDBOX_BUILD) && defined(XP_WIN) */
65 #endif /* MOZILLA_CONFIG_H */