Disable DebuggerTests.Crash since it fails on Linux i386 in CI
[mono-project.git] / winconfig.h
blob7d429a86e8a989e9821db75254b6112e5e53da83
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 /* Windows MSVC builds defaults to preemptive suspend. Disable ENABLE_HYBRID_SUSPEND defines. */
24 #undef ENABLE_HYBRID_SUSPEND
26 /* No ENABLE_DEFINES below this point */
28 /* Keep in sync with netcore runtime-preset in configure.ac */
29 #ifdef ENABLE_NETCORE
30 #ifndef DISABLE_REMOTING
31 #define DISABLE_REMOTING 1
32 #endif
33 #ifndef DISABLE_SIMD
34 // FIXME: disable SIMD support for Windows, see https://github.com/dotnet/runtime/issues/1933
35 #define DISABLE_SIMD 1
36 #endif
37 #ifndef DISABLE_REFLECTION_EMIT_SAVE
38 #define DISABLE_REFLECTION_EMIT_SAVE 1
39 #endif
40 #ifndef DISABLE_APPDOMAINS
41 #define DISABLE_APPDOMAINS 1
42 #endif
43 #ifndef DISABLE_CLEANUP
44 #define DISABLE_CLEANUP 1
45 #endif
46 #ifndef DISABLE_DESKTOP_LOADER
47 #define DISABLE_DESKTOP_LOADER 1
48 #endif
49 #ifndef DISABLE_SECURITY
50 #define DISABLE_SECURITY 1
51 #endif
52 #ifndef DISABLE_MDB
53 #define DISABLE_MDB 1
54 #endif
55 #ifndef DISABLE_COM
56 #define DISABLE_COM 1
57 #endif
58 #ifndef DISABLE_GAC
59 #define DISABLE_GAC 1
60 #endif
61 #ifndef DISABLE_PERFCOUNTERS
62 #define DISABLE_PERFCOUNTERS 1
63 #endif
64 #ifndef DISABLE_ATTACH
65 #define DISABLE_ATTACH 1
66 #endif
67 #ifndef DISABLE_DLLMAP
68 #define DISABLE_DLLMAP 1
69 #endif
70 #ifndef DISABLE_CFGDIR_CONFIG
71 #define DISABLE_CFGDIR_CONFIG 1
72 #endif
73 #endif
75 /* Disable runtime state dumping */
76 #define DISABLE_CRASH_REPORTING 1
78 /* String of disabled features */
79 #define DISABLED_FEATURES "none"
81 /* Disables the IO portability layer */
82 #define DISABLE_PORTABILITY 1
84 /* Start configure DISABLE_DEFINES picked up from cygconfig.h or other external source, if available */
85 /* @DISABLE_DEFINES@ */
86 /* End configure DISABLE_DEFINES picked up from cygconfig.h or other external source, if available */
88 /* No DISABLE_DEFINES below this point */
90 /* Have access */
91 #define HAVE_ACCESS 1
93 /* Define to 1 if you have the `system' function. */
94 #if HAVE_WINAPI_FAMILY_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
95 #define HAVE_SYSTEM 1
96 #endif
98 /* Define to 1 if you have the <complex.h> header file. */
99 #define HAVE_COMPLEX_H 1
101 #if defined(HAVE_SGEN_GC) && !defined(HAVE_CONC_GC_AS_DEFAULT)
102 /* Defaults to concurrent GC */
103 #define HAVE_CONC_GC_AS_DEFAULT 1
104 #endif
106 /* Have /dev/random */
107 #define HAVE_CRYPT_RNG 1
109 /* Define to 1 if you have the `getaddrinfo' function. */
110 #define HAVE_GETADDRINFO 1
112 /* Define to 1 if you have the `getnameinfo' function. */
113 #define HAVE_GETNAMEINFO 1
115 /* Define to 1 if you have the `getprotobyname' function. */
116 #define HAVE_GETPROTOBYNAME 1
118 /* Have inet_ntop */
119 #define HAVE_INET_NTOP 1
121 /* Define to 1 if you have the `inet_pton' function. */
122 #define HAVE_INET_PTON 1
124 /* Define to 1 if you have the <inttypes.h> header file. */
125 #define HAVE_INTTYPES_H 1
127 /* Define to 1 if you have the <memory.h> header file. */
128 #define HAVE_MEMORY_H 1
130 #if defined(HAVE_SGEN_GC) && !defined(HAVE_MOVING_COLLECTOR)
131 /* Moving collector */
132 #define HAVE_MOVING_COLLECTOR 1
133 #endif
135 /* Define to 1 if you have the `signal' function. */
136 #define HAVE_SIGNAL 1
138 /* Define to 1 if you have the <signal.h> header file. */
139 #define HAVE_SIGNAL_H 1
141 /* Define to 1 if you have the <stdint.h> header file. */
142 #define HAVE_STDINT_H 1
144 /* Define to 1 if you have the <stdlib.h> header file. */
145 #define HAVE_STDLIB_H 1
147 /* Define to 1 if you have the <strings.h> header file. */
148 #define HAVE_STRINGS_H 1
150 /* Define to 1 if you have the <string.h> header file. */
151 #define HAVE_STRING_H 1
153 /* Define to 1 if you have the `strtok_r' function. */
154 #define HAVE_STRTOK_R 1
156 /* Have struct ip_mreq */
157 #define HAVE_STRUCT_IP_MREQ 1
159 /* Define to 1 if the system has the type `struct sockaddr_in6'. */
160 #define HAVE_STRUCT_SOCKADDR_IN6 1
162 /* Define to 1 if you have the <sys/stat.h> header file. */
163 #define HAVE_SYS_STAT_H 1
165 /* Define to 1 if you have the <sys/types.h> header file. */
166 #define HAVE_SYS_TYPES_H 1
168 /* Define to 1 if you have the <sys/utime.h> header file. */
169 #define HAVE_SYS_UTIME_H 1
171 /* Define to 1 if you have the <wchar.h> header file. */
172 #define HAVE_WCHAR_H 1
174 /* Define to 1 if you have the <winternl.h> header file. */
175 #define HAVE_WINTERNL_H 1
177 #if defined(HAVE_SGEN_GC) && !defined(HAVE_WRITE_BARRIERS)
178 #define HAVE_WRITE_BARRIERS
179 #endif
181 /* Start configure HAVE_DEFINES picked up from cygconfig.h or other external source, if available */
182 /* @HAVE_DEFINES@ */
183 /* End configure HAVE_DEFINES picked up from cygconfig.h or other external source, if available */
185 /* No HAVE_DEFINES below this point */
187 /* This platform does not support symlinks */
188 #define HOST_NO_SYMLINKS 1
190 /* Host Platform is Win32 */
191 #define HOST_WIN32 1
193 /* The architecture this is running on */
194 #if defined(_M_IA64)
195 #define MONO_ARCHITECTURE "ia64"
196 #elif defined(_M_AMD64)
197 #define MONO_ARCHITECTURE "amd64"
198 #elif defined(_M_IX86)
199 #define MONO_ARCHITECTURE "x86"
200 #else
201 #error Unknown architecture
202 #endif
204 /* Version of the corlib-runtime interface */
205 #define MONO_CORLIB_VERSION "#MONO_CORLIB_VERSION#"
207 /* Have __thread keyword */
208 #define MONO_KEYWORD_THREAD __declspec (thread)
210 /* Length of zero length arrays */
211 #define MONO_ZERO_LEN_ARRAY 1
213 /* Name of /dev/random */
214 #define NAME_DEV_RANDOM ""
216 /* Name of package */
217 #define PACKAGE "mono"
219 /* Define to the address where bug reports for this package should be sent. */
220 #define PACKAGE_BUGREPORT "https://github.com/mono/mono/issues/new"
222 /* Define to the full name of this package. */
223 #define PACKAGE_NAME "mono"
225 /* Define to the full name and version of this package. */
226 #define PACKAGE_STRING "mono #MONO_VERSION#"
228 /* Define to the one symbol short name of this package. */
229 #define PACKAGE_TARNAME "mono"
231 /* Define to the home page for this package. */
232 #define PACKAGE_URL ""
234 /* Define to the version of this package. */
235 #define PACKAGE_VERSION "#MONO_VERSION#"
237 /* The size of `int', as computed by sizeof. */
238 #define SIZEOF_INT 4
240 /* The size of `long', as computed by sizeof. */
241 #define SIZEOF_LONG 4
243 /* The size of `long long', as computed by sizeof. */
244 #define SIZEOF_LONG_LONG 8
246 /* size of target machine integer registers */
247 #ifdef _WIN64
248 #define SIZEOF_REGISTER 8
249 #else
250 #define SIZEOF_REGISTER 4
251 #endif
253 /* The size of `void *', as computed by sizeof. */
254 #ifdef _WIN64
255 #define SIZEOF_VOID_P 8
256 #else
257 #define SIZEOF_VOID_P 4
258 #endif
260 /* Define to 1 if you have the ANSI C header files. */
261 #define STDC_HEADERS 1
263 #ifdef _WIN64
264 #define TARGET_AMD64 1
265 #define HOST_AMD64 1
266 #else
267 #define TARGET_X86 1
268 #define HOST_X86 1
269 #endif
271 /* byte order of target */
272 #define TARGET_BYTE_ORDER G_BYTE_ORDER
274 /* wordsize of target */
275 #define TARGET_SIZEOF_VOID_P SIZEOF_VOID_P
277 /* Platform is Win32 */
278 #define TARGET_WIN32 1
280 /* Version number of package */
281 #define VERSION "#MONO_VERSION#"
283 #else
285 /* Not building under MSVC, use autogen.sh generated config.h */
286 #include "cygconfig.h"
288 #endif
290 #if defined(ENABLE_LLVM) && defined(HOST_WIN32) && defined(TARGET_WIN32) && (!defined(TARGET_AMD64) || !defined(_MSC_VER))
291 #error LLVM for host=Windows and target=Windows is only supported on x64 MSVC build.
292 #endif