MessagePack for C
mingw.h
Go to the documentation of this file.
1 /*
2 Copyright Rene Rivera 2008-2015
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE_1_0.txt or copy at
5 http://www.boost.org/LICENSE_1_0.txt)
6 */
7 
8 #ifndef MSGPACK_PREDEF_COMPILER_MINGW_H
9 #define MSGPACK_PREDEF_COMPILER_MINGW_H
10 
12 #include <msgpack/predef/make.h>
13 
14 /*`
15 [heading `MSGPACK_PLAT_MINGW`]
16 
17 [@http://en.wikipedia.org/wiki/MinGW MinGW] platform.
18 Version number available as major, minor, and patch.
19 
20 [table
21  [[__predef_symbol__] [__predef_version__]]
22 
23  [[`__MINGW32__`] [__predef_detection__]]
24  [[`__MINGW64__`] [__predef_detection__]]
25 
26  [[`__MINGW64_VERSION_MAJOR`, `__MINGW64_VERSION_MINOR`] [V.R.0]]
27  [[`__MINGW32_VERSION_MAJOR`, `__MINGW32_VERSION_MINOR`] [V.R.0]]
28  ]
29  */
30 
31 #define MSGPACK_PLAT_MINGW MSGPACK_VERSION_NUMBER_NOT_AVAILABLE
32 
33 #if defined(__MINGW32__) || defined(__MINGW64__)
34 # include <_mingw.h>
35 # if !defined(MSGPACK_PLAT_MINGW_DETECTION) && (defined(__MINGW64_VERSION_MAJOR) && defined(__MINGW64_VERSION_MINOR))
36 # define MSGPACK_PLAT_MINGW_DETECTION \
37  MSGPACK_VERSION_NUMBER(__MINGW64_VERSION_MAJOR,__MINGW64_VERSION_MINOR,0)
38 # endif
39 # if !defined(MSGPACK_PLAT_MINGW_DETECTION) && (defined(__MINGW32_VERSION_MAJOR) && defined(__MINGW32_VERSION_MINOR))
40 # define MSGPACK_PLAT_MINGW_DETECTION \
41  MSGPACK_VERSION_NUMBER(__MINGW32_MAJOR_VERSION,__MINGW32_MINOR_VERSION,0)
42 # endif
43 # if !defined(MSGPACK_PLAT_MINGW_DETECTION)
44 # define MSGPACK_PLAT_MINGW_DETECTION MSGPACK_VERSION_NUMBER_AVAILABLE
45 # endif
46 #endif
47 
48 #ifdef MSGPACK_PLAT_MINGW_DETECTION
49 # define MSGPACK_PLAT_MINGW_AVAILABLE
50 # if defined(MSGPACK_PREDEF_DETAIL_PLAT_DETECTED)
51 # define MSGPACK_PLAT_MINGW_EMULATED MSGPACK_PLAT_MINGW_DETECTION
52 # else
53 # undef MSGPACK_PLAT_MINGW
54 # define MSGPACK_PLAT_MINGW MSGPACK_PLAT_MINGW_DETECTION
55 # endif
57 #endif
58 
59 #define MSGPACK_PLAT_MINGW_NAME "MinGW"
60 
61 #endif
62 
65 
66 #ifdef MSGPACK_PLAT_MINGW_EMULATED
68 MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_PLAT_MINGW_EMULATED,MSGPACK_PLAT_MINGW_NAME)
69 #endif
#define MSGPACK_PLAT_MINGW_NAME
Definition: mingw.h:59
#define MSGPACK_PREDEF_DECLARE_TEST(x, s)
Definition: test.h:13
#define MSGPACK_PLAT_MINGW
Definition: mingw.h:31