Revert "[2020-02] Start a dedicated thread for MERP crash reporting (#21126)" (#21240)
[mono-project.git] / winconfig.h
blob5e43ceeafa3bd8acf15fa4eaca727606774f6c4e
1 #pragma once
3 #ifdef _MSC_VER
5 /* Building Mono runtime under MSVC uses this template for it's config.h since autogen.sh can't */
6 /* generate a config.h that is suitable for MSVC builds. The below template will still get */
7 /* some dynamic configuration from autogen.sh config.h, if one exists. */
8 #include <msvc/msvc-win32-support.h>
9 #include <msvc/msvc-disabled-warnings.h>
11 #ifdef HAVE_BOEHM_GC
12 /* Only used when building using Boehm GC and only supported on x86 builds */
13 #define DEFAULT_GC_NAME "Included Boehm (with typed GC)"
14 #endif
16 /* Some VES is available at runtime */
17 #define ENABLE_ILGEN 1
19 /* Start configure ENABLE_DEFINES picked up from cygconfig.h or other external source, if available */
20 /* @ENABLE_DEFINES@ */
21 /* End configure ENABLE_DEFINES picked up from cygconfig.h or other external source, if available */
23 #if defined(ENABLE_HYBRID_SUSPEND)
24 /* Windows MSVC builds defaults to preemptive suspend. Disable ENABLE_HYBRID_SUSPEND defines. */
25 #undef ENABLE_HYBRID_SUSPEND
26 #endif
28 /* No ENABLE_DEFINES below this point */
30 /* Keep in sync with netcore runtime-preset in configure.ac */
31 #ifdef ENABLE_NETCORE
32 #ifndef DISABLE_REMOTING
33 #define DISABLE_REMOTING 1
34 #endif
35 #ifndef DISABLE_REFLECTION_EMIT_SAVE
36 #define DISABLE_REFLECTION_EMIT_SAVE 1
37 #endif
38 #ifndef DISABLE_APPDOMAINS
39 #define DISABLE_APPDOMAINS 1
40 #endif
41 #ifndef DISABLE_CLEANUP
42 #define DISABLE_CLEANUP 1
43 #endif
44 #ifndef DISABLE_DESKTOP_LOADER
45 #define DISABLE_DESKTOP_LOADER 1
46 #endif
47 #ifndef DISABLE_SECURITY
48 #define DISABLE_SECURITY 1
49 #endif
50 #ifndef DISABLE_MDB
51 #define DISABLE_MDB 1
52 #endif
53 #ifndef DISABLE_COM
54 #define DISABLE_COM 1
55 #endif
56 #ifndef DISABLE_GAC
57 #define DISABLE_GAC 1
58 #endif
59 #ifndef DISABLE_PERFCOUNTERS
60 #define DISABLE_PERFCOUNTERS 1
61 #endif
62 #ifndef DISABLE_ATTACH
63 #define DISABLE_ATTACH 1
64 #endif
65 #ifndef DISABLE_DLLMAP
66 #define DISABLE_DLLMAP 1
67 #endif
68 #endif
70 /* Disable runtime state dumping */
71 #define DISABLE_CRASH_REPORTING 1
73 /* String of disabled features */
74 #define DISABLED_FEATURES "none"
76 /* Disables the IO portability layer */
77 #define DISABLE_PORTABILITY 1
79 /* Start configure DISABLE_DEFINES picked up from cygconfig.h or other external source, if available */
80 /* @DISABLE_DEFINES@ */
81 /* End configure DISABLE_DEFINES picked up from cygconfig.h or other external source, if available */
83 /* No DISABLE_DEFINES below this point */
85 /* Have access */
86 #define HAVE_ACCESS 1
88 /* Define to 1 if you have the `system' function. */
89 #if HAVE_WINAPI_FAMILY_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
90 #define HAVE_SYSTEM 1
91 #endif
93 /* Define to 1 if you have the <complex.h> header file. */
94 #define HAVE_COMPLEX_H 1
96 #if defined(HAVE_SGEN_GC) && !defined(HAVE_CONC_GC_AS_DEFAULT)
97 /* Defaults to concurrent GC */
98 #define HAVE_CONC_GC_AS_DEFAULT 1
99 #endif
101 /* Have /dev/random */
102 #define HAVE_CRYPT_RNG 1
104 /* Define to 1 if you have the `getaddrinfo' function. */
105 #define HAVE_GETADDRINFO 1
107 /* Define to 1 if you have the `getnameinfo' function. */
108 #define HAVE_GETNAMEINFO 1
110 /* Define to 1 if you have the `getprotobyname' function. */
111 #define HAVE_GETPROTOBYNAME 1
113 /* Have inet_ntop */
114 #define HAVE_INET_NTOP 1
116 /* Define to 1 if you have the `inet_pton' function. */
117 #define HAVE_INET_PTON 1
119 /* Define to 1 if you have the <inttypes.h> header file. */
120 #define HAVE_INTTYPES_H 1
122 /* Define to 1 if you have the <memory.h> header file. */
123 #define HAVE_MEMORY_H 1
125 #if defined(HAVE_SGEN_GC) && !defined(HAVE_MOVING_COLLECTOR)
126 /* Moving collector */
127 #define HAVE_MOVING_COLLECTOR 1
128 #endif
130 /* Define to 1 if you have the `signal' function. */
131 #define HAVE_SIGNAL 1
133 /* Define to 1 if you have the <signal.h> header file. */
134 #define HAVE_SIGNAL_H 1
136 /* Define to 1 if you have the <stdint.h> header file. */
137 #define HAVE_STDINT_H 1
139 /* Define to 1 if you have the <stdlib.h> header file. */
140 #define HAVE_STDLIB_H 1
142 /* Define to 1 if you have the <strings.h> header file. */
143 #define HAVE_STRINGS_H 1
145 /* Define to 1 if you have the <string.h> header file. */
146 #define HAVE_STRING_H 1
148 /* Define to 1 if you have the `strtok_r' function. */
149 #define HAVE_STRTOK_R 1
151 /* Have struct ip_mreq */
152 #define HAVE_STRUCT_IP_MREQ 1
154 /* Define to 1 if the system has the type `struct sockaddr_in6'. */
155 #define HAVE_STRUCT_SOCKADDR_IN6 1
157 /* Define to 1 if you have the <sys/stat.h> header file. */
158 #define HAVE_SYS_STAT_H 1
160 /* Define to 1 if you have the <sys/types.h> header file. */
161 #define HAVE_SYS_TYPES_H 1
163 /* Define to 1 if you have the <sys/utime.h> header file. */
164 #define HAVE_SYS_UTIME_H 1
166 /* Define to 1 if you have the <wchar.h> header file. */
167 #define HAVE_WCHAR_H 1
169 /* Define to 1 if you have the <winternl.h> header file. */
170 #define HAVE_WINTERNL_H 1
172 #if defined(HAVE_SGEN_GC) && !defined(HAVE_WRITE_BARRIERS)
173 #define HAVE_WRITE_BARRIERS
174 #endif
176 /* Start configure HAVE_DEFINES picked up from cygconfig.h or other external source, if available */
177 /* @HAVE_DEFINES@ */
178 /* End configure HAVE_DEFINES picked up from cygconfig.h or other external source, if available */
180 /* No HAVE_DEFINES below this point */
182 /* This platform does not support symlinks */
183 #define HOST_NO_SYMLINKS 1
185 /* Host Platform is Win32 */
186 #define HOST_WIN32 1
188 /* The architecture this is running on */
189 #if defined(_M_IA64)
190 #define MONO_ARCHITECTURE "ia64"
191 #elif defined(_M_AMD64)
192 #define MONO_ARCHITECTURE "amd64"
193 #elif defined(_M_IX86)
194 #define MONO_ARCHITECTURE "x86"
195 #else
196 #error Unknown architecture
197 #endif
199 /* Version of the corlib-runtime interface */
200 #define MONO_CORLIB_VERSION "#MONO_CORLIB_VERSION#"
202 /* Have __thread keyword */
203 #define MONO_KEYWORD_THREAD __declspec (thread)
205 /* Length of zero length arrays */
206 #define MONO_ZERO_LEN_ARRAY 1
208 /* Name of /dev/random */
209 #define NAME_DEV_RANDOM ""
211 /* Name of package */
212 #define PACKAGE "mono"
214 /* Define to the address where bug reports for this package should be sent. */
215 #define PACKAGE_BUGREPORT "https://github.com/mono/mono/issues/new"
217 /* Define to the full name of this package. */
218 #define PACKAGE_NAME "mono"
220 /* Define to the full name and version of this package. */
221 #define PACKAGE_STRING "mono #MONO_VERSION#"
223 /* Define to the one symbol short name of this package. */
224 #define PACKAGE_TARNAME "mono"
226 /* Define to the home page for this package. */
227 #define PACKAGE_URL ""
229 /* Define to the version of this package. */
230 #define PACKAGE_VERSION "#MONO_VERSION#"
232 /* The size of `int', as computed by sizeof. */
233 #define SIZEOF_INT 4
235 /* The size of `long', as computed by sizeof. */
236 #define SIZEOF_LONG 4
238 /* The size of `long long', as computed by sizeof. */
239 #define SIZEOF_LONG_LONG 8
241 /* size of target machine integer registers */
242 #ifdef _WIN64
243 #define SIZEOF_REGISTER 8
244 #else
245 #define SIZEOF_REGISTER 4
246 #endif
248 /* The size of `void *', as computed by sizeof. */
249 #ifdef _WIN64
250 #define SIZEOF_VOID_P 8
251 #else
252 #define SIZEOF_VOID_P 4
253 #endif
255 /* Define to 1 if you have the ANSI C header files. */
256 #define STDC_HEADERS 1
258 #ifdef _WIN64
259 #define TARGET_AMD64 1
260 #define HOST_AMD64 1
261 #else
262 #define TARGET_X86 1
263 #define HOST_X86 1
264 #endif
266 /* byte order of target */
267 #define TARGET_BYTE_ORDER G_BYTE_ORDER
269 /* wordsize of target */
270 #define TARGET_SIZEOF_VOID_P SIZEOF_VOID_P
272 /* Platform is Win32 */
273 #define TARGET_WIN32 1
275 /* Version number of package */
276 #define VERSION "#MONO_VERSION#"
278 #else
280 /* Not building under MSVC, use autogen.sh generated config.h */
281 #include "cygconfig.h"
283 #endif
285 #if defined(ENABLE_LLVM) && defined(HOST_WIN32) && defined(TARGET_WIN32) && (!defined(TARGET_AMD64) || !defined(_MSC_VER))
286 #error LLVM for host=Windows and target=Windows is only supported on x64 MSVC build.
287 #endif