1
/* ACC -- Automatic Compiler Configuration
3
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
6
This software is a copyrighted work licensed under the terms of
7
the GNU General Public License. Please consult the file "ACC_LICENSE"
10
Markus F.X.J. Oberhumer
11
<markus@oberhumer.com>
12
http://www.oberhumer.com/
17
* C/C++ Compiler - exactly one of:
19
* ACC_CC_UNKNOWN [default]
24
#if defined(__INTEL_COMPILER)
25
# define ACC_CC_INTELC 1
26
# define ACC_INFO_CC "Intel C"
27
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__INTEL_COMPILER)
28
#elif defined(__POCC__)
29
# define ACC_CC_PELLESC 1
30
# define ACC_INFO_CC "Pelles C"
31
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__POCC__)
32
#elif defined(__GNUC__) && defined(__VERSION__)
33
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
34
# define ACC_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
35
# elif defined(__GNUC_MINOR__)
36
# define ACC_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
38
# define ACC_CC_GNUC (__GNUC__ * 0x10000L)
40
# define ACC_INFO_CC "gcc"
41
# define ACC_INFO_CCVER __VERSION__
42
#elif defined(__AZTEC_C__)
43
# define ACC_CC_AZTECC 1
44
# define ACC_INFO_CC "Aztec C"
45
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__AZTEC_C__)
46
#elif defined(__BORLANDC__)
47
# define ACC_CC_BORLANDC 1
48
# define ACC_INFO_CC "Borland C"
49
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__BORLANDC__)
50
#elif defined(__DMC__)
52
# define ACC_INFO_CC "Digital Mars C"
53
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__DMC__)
55
# define ACC_CC_DECC 1
56
# define ACC_INFO_CC "DEC C"
57
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__DECC)
58
#elif defined(__HIGHC__)
59
# define ACC_CC_HIGHC 1
60
# define ACC_INFO_CC "MetaWare High C"
61
# define ACC_INFO_CCVER "unknown"
62
#elif defined(__IBMC__)
63
# define ACC_CC_IBMC 1
64
# define ACC_INFO_CC "IBM C"
65
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__IBMC__)
66
#elif defined(__KEIL__) && defined(__C166__)
67
# define ACC_CC_KEILC 1
68
# define ACC_INFO_CC "Keil C"
69
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__C166__)
70
#elif defined(__LCC__)
72
# define ACC_INFO_CC "lcc"
73
# define ACC_INFO_CCVER "unknown"
74
#elif defined(_MSC_VER)
76
# define ACC_INFO_CC "Microsoft C"
77
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(_MSC_VER)
78
#elif defined(__MWERKS__)
79
# define ACC_CC_MWERKS 1
80
# define ACC_INFO_CC "Metrowerks C"
81
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__MWERKS__)
82
#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
83
# define ACC_CC_NDPC 1
84
# define ACC_INFO_CC "Microway NDP C"
85
# define ACC_INFO_CCVER "unknown"
86
#elif defined(__PACIFIC__)
87
# define ACC_CC_PACIFICC 1
88
# define ACC_INFO_CC "Pacific C"
89
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__PACIFIC__)
90
#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
92
# define ACC_INFO_CC "Portland Group PGI C"
93
# define ACC_INFO_CCVER "unknown"
94
#elif defined(__PUREC__)
95
# define ACC_CC_PUREC 1
96
# define ACC_INFO_CC "Pure C"
97
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__PUREC__)
99
# define ACC_CC_SYMANTECC 1
100
# define ACC_INFO_CC "Symantec C"
101
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__SC__)
102
#elif defined(__SUNPRO_C)
103
# define ACC_CC_SUNPROC 1
104
# define ACC_INFO_CC "Sun C"
105
# define ACC_INFO_CCVER "unknown"
106
#elif defined(__TINYC__)
107
# define ACC_CC_TINYC 1
108
# define ACC_INFO_CC "Tiny C"
109
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__TINYC__)
110
#elif defined(__TSC__)
111
# define ACC_CC_TOPSPEEDC 1
112
# define ACC_INFO_CC "TopSpeed C"
113
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__TSC__)
114
#elif defined(__WATCOMC__)
115
# define ACC_CC_WATCOMC 1
116
# define ACC_INFO_CC "Watcom C"
117
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__WATCOMC__)
118
#elif defined(__TURBOC__)
119
# define ACC_CC_TURBOC 1
120
# define ACC_INFO_CC "Turbo C"
121
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__TURBOC__)
122
#elif defined(__ZTC__)
123
# define ACC_CC_ZORTECHC 1
124
# define ACC_INFO_CC "Zortech C"
125
# if (__ZTC__ == 0x310)
126
# define ACC_INFO_CCVER "0x310"
128
# define ACC_INFO_CCVER ACC_CPP_MACRO_EXPAND(__ZTC__)
131
# define ACC_CC_UNKNOWN 1
132
# define ACC_INFO_CC "unknown"
133
# define ACC_INFO_CCVER "unknown"