5 /* The architecture this is running on */
7 #define MONO_ARCHITECTURE "ia64"
8 #elif defined(_M_AMD64)
9 #define MONO_ARCHITECTURE "amd64"
10 #elif defined(_M_IX86)
11 #define MONO_ARCHITECTURE "x86"
13 #error Unknown architecture
20 #include <SDKDDKVer.h>
22 #if _WIN32_WINNT < 0x0600
23 #error "Mono requires Windows Vista or later"
24 #endif /* _WIN32_WINNT < 0x0600 */
26 #ifndef HAVE_WINAPI_FAMILY_SUPPORT
28 #define HAVE_WINAPI_FAMILY_SUPPORT
30 /* WIN API Family support */
31 #include <winapifamily.h>
33 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
34 #define HAVE_CLASSIC_WINAPI_SUPPORT 1
35 #define HAVE_UWP_WINAPI_SUPPORT 0
36 #elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
37 #define HAVE_CLASSIC_WINAPI_SUPPORT 0
38 #define HAVE_UWP_WINAPI_SUPPORT 1
39 #ifndef HAVE_EXTERN_DEFINED_WINAPI_SUPPORT
40 #error Unsupported WINAPI family
43 #define HAVE_CLASSIC_WINAPI_SUPPORT 0
44 #define HAVE_UWP_WINAPI_SUPPORT 0
45 #ifndef HAVE_EXTERN_DEFINED_WINAPI_SUPPORT
46 #error Unsupported WINAPI family
53 * Features that are not required in the Windows port
55 #define DISABLE_PORTABILITY 1
57 /* Windows does not have symlinks */
58 #define HOST_NO_SYMLINKS 1
60 /* String of disabled features */
61 #define DISABLED_FEATURES "none"
63 /* Disable AOT support */
64 /* #undef DISABLE_AOT */
66 /* Disable COM support */
67 /* #undef DISABLE_COM */
69 /* Disable runtime debugging support */
70 /* #undef DISABLE_DEBUG */
72 /* Disable System.Decimal support */
73 /* #undef DISABLE_DECIMAL */
75 /* Disable generics support */
76 /* #undef DISABLE_GENERICS */
78 /* Disable support for huge assemblies */
79 /* #undef DISABLE_LARGE_CODE */
81 /* Disable support debug logging */
82 /* #undef DISABLE_LOGGING */
84 /* Disable P/Invoke support */
85 /* #undef DISABLE_PINVOKE */
87 /* Disable default profiler support */
88 /* #undef DISABLE_PROFILER */
90 /* Disable reflection emit support */
91 /* #undef DISABLE_REFLECTION_EMIT */
93 /* Disable advanced SSA JIT optimizations */
94 /* #undef DISABLE_SSA */
96 /* Disable interpreter */
97 /* #undef DISABLE_INTERPRETER */
99 /* Some VES is available at runtime */
100 #define ENABLE_ILGEN 1
102 /* Enable DTrace probes */
103 /* #undef ENABLE_DTRACE */
105 /* Has the 'aintl' function */
106 /* #undef HAVE_AINTL */
108 /* Supports C99 array initialization */
109 /* #undef HAVE_ARRAY_ELEM_INIT */
111 /* Define to 1 if you have the <attr/xattr.h> header file. */
112 /* #undef HAVE_ATTR_XATTR_H */
114 /* Define to 1 if you have the `backtrace_symbols' function. */
115 /* #undef HAVE_BACKTRACE_SYMBOLS */
117 /* Define to 1 if the system has the type `blkcnt_t'. */
118 /* #undef HAVE_BLKCNT_T */
120 /* Define to 1 if the system has the type `blksize_t'. */
121 /* #undef HAVE_BLKSIZE_T */
124 /* #define HAVE_BOEHM_GC 1 */
126 /* Define to 1 if you have the <checklist.h> header file. */
127 /* #undef HAVE_CHECKLIST_H */
129 /* Define to 1 if you have the <complex.h> header file. */
130 #define HAVE_COMPLEX_H 1
132 /* Define to 1 if you have the `system' function. */
133 #if HAVE_WINAPI_FAMILY_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
134 #define HAVE_SYSTEM 1
138 /* Have /dev/random */
139 #define HAVE_CRYPT_RNG 1
141 /* Define to 1 if you have the <curses.h> header file. */
142 /* #undef HAVE_CURSES_H */
144 /* Define to 1 if you have the declaration of `InterlockedAdd',
145 and to 0 if you don't. */
146 #define HAVE_DECL_INTERLOCKEDADD 1
148 /* Define to 1 if you have the declaration of `InterlockedAdd64',
149 and to 0 if you don't. */
150 #define HAVE_DECL_INTERLOCKEDADD64 1
152 /* Define to 1 if you have the declaration of `InterlockedCompareExchange64',
153 and to 0 if you don't. */
154 #define HAVE_DECL_INTERLOCKEDCOMPAREEXCHANGE64 1
156 /* Define to 1 if you have the declaration of `InterlockedDecrement64',
157 and to 0 if you don't. */
158 #define HAVE_DECL_INTERLOCKEDDECREMENT64 1
160 /* Define to 1 if you have the declaration of `InterlockedExchange64',
161 and to 0 if you don't. */
162 #define HAVE_DECL_INTERLOCKEDEXCHANGE64 1
164 /* Define to 1 if you have the declaration of `InterlockedIncrement64',
165 and to 0 if you don't. */
166 #define HAVE_DECL_INTERLOCKEDINCREMENT64 1
168 /* Define to 1 if you have the declaration of `__readfsdword',
169 and to 0 if you don't. */
170 #define HAVE_DECL___READFSDWORD 1
172 /* Define to 1 if you have the <dirent.h> header file. */
173 /* #define HAVE_DIRENT_H 1 */
175 /* Define to 1 if you have the <dlfcn.h> header file. */
176 /* #undef HAVE_DLFCN_H */
178 /* dlopen-based dynamic loader available */
179 /* #undef HAVE_DL_LOADER */
181 /* Define to 1 if you have the <elf.h> header file. */
182 /* #undef HAVE_ELF_H */
184 /* epoll supported */
185 /* #undef HAVE_EPOLL */
187 /* Define to 1 if you have the `epoll_ctl' function. */
188 /* #undef HAVE_EPOLL_CTL */
190 /* Define to 1 if you have the <execinfo.h> header file. */
191 /* #undef HAVE_EXECINFO_H */
193 /* Define to 1 if you have the `fgetgrent' function. */
194 /* #undef HAVE_FGETGRENT */
196 /* Define to 1 if you have the `fgetpwent' function. */
197 /* #undef HAVE_FGETPWENT */
199 /* Define to 1 if you have the `finite' function. */
200 /* #undef HAVE_FINITE */
202 /* Define to 1 if you have the <fstab.h> header file. */
203 /* #undef HAVE_FSTAB_H */
205 /* Define to 1 if you have the `fstatfs' function. */
206 /* #undef HAVE_FSTATFS */
208 /* Define to 1 if you have the `fstatvfs' function. */
209 /* #undef HAVE_FSTATVFS */
211 /* Define to 1 if you have the `getaddrinfo' function. */
212 #define HAVE_GETADDRINFO 1
214 /* Define to 1 if you have the `getnameinfo' function. */
215 #define HAVE_GETNAMEINFO 1
217 /* Define to 1 if you have the `getprotobyname' function. */
218 #define HAVE_GETPROTOBYNAME 1
220 /* Define to 1 if you have the `getdomainname' function. */
221 /* #undef HAVE_GETDOMAINNAME */
223 /* Define to 1 if you have the `getfsstat' function. */
224 /* #undef HAVE_GETFSSTAT */
226 /* Define to 1 if you have the `getgrgid_r' function. */
227 /* #undef HAVE_GETGRGID_R */
229 /* Define to 1 if you have the `getgrnam_r' function. */
230 /* #undef HAVE_GETGRNAM_R */
232 /* Have gethostbyname2_r */
233 /* #undef HAVE_GETHOSTBYNAME2_R */
235 /* Define to 1 if you have the `getpriority' function. */
236 /* #undef HAVE_GETPRIORITY */
238 /* Define to 1 if you have the `GetProcessId' function. */
239 #define HAVE_GETPROCESSID 1
241 /* Define to 1 if you have the `getpwnam_r' function. */
242 /* #undef HAVE_GETPWNAM_R */
244 /* Define to 1 if you have the `getpwuid_r' function. */
245 /* #undef HAVE_GETPWUID_R */
247 /* Define to 1 if you have the `getresuid' function. */
248 /* #undef HAVE_GETRESUID */
250 /* Define to 1 if you have the `getrusage' function. */
251 /* #undef HAVE_GETRUSAGE */
253 /* Define to 1 if you have the <grp.h> header file. */
254 /* #undef HAVE_GRP_H */
256 /* Define to 1 if you have the <ieeefp.h> header file. */
257 /* #undef HAVE_IEEEFP_H */
259 /* Define to 1 if you have the `inet_aton' function. */
260 /* #undef HAVE_INET_ATON */
262 /* Define to 1 if you have the `inet_pton' function. */
263 #define HAVE_INET_PTON 1
265 /* Define to 1 if you have the <inttypes.h> header file. */
266 #define HAVE_INTTYPES_H 1
268 /* Have IPV6_PKTINFO */
269 /* #undef HAVE_IPV6_PKTINFO */
271 /* Have IP_DONTFRAGMENT */
272 /* #undef HAVE_IP_DONTFRAGMENT */
274 /* Have IP_MTU_DISCOVER */
275 /* #undef HAVE_IP_MTU_DISCOVER */
277 /* Have IP_PKTINFO */
278 /* #undef HAVE_IP_PKTINFO */
280 /* Define to 1 if you have the `isfinite' function. */
281 /* #undef HAVE_ISFINITE */
283 /* isinf available */
286 /* Define to 1 if you have the `kqueue' function. */
287 /* #undef HAVE_KQUEUE */
289 /* Have __thread keyword */
290 /* #undef HAVE_KW_THREAD */
292 /* Have large file support */
293 /* #undef HAVE_LARGE_FILE_SUPPORT */
295 /* Define to 1 if you have the `unwind' library (-lunwind). */
296 /* #undef HAVE_LIBUNWIND */
298 /* Define to 1 if you have the <linux/rtc.h> header file. */
299 /* #undef HAVE_LINUX_RTC_H */
301 /* Define to 1 if you have the `lutimes' function. */
302 /* #undef HAVE_LUTIMES */
304 /* Define to 1 if you have the `madvise' function. */
305 /* #undef HAVE_MADVISE */
307 /* Define to 1 if you have the <memory.h> header file. */
308 #define HAVE_MEMORY_H 1
310 /* Define to 1 if you have the `mkstemp' function. */
311 /* #undef HAVE_MKSTEMP */
313 /* Define to 1 if you have the `mmap' function. */
314 /* #undef HAVE_MMAP */
316 /* The GC can move objects. */
317 /* #undef HAVE_MOVING_COLLECTOR */
319 /* Define to 1 if you have the `mremap' function. */
320 /* #undef HAVE_MREMAP */
322 /* Have MSG_NOSIGNAL */
323 /* #undef HAVE_MSG_NOSIGNAL */
325 /* Define to 1 if you have the <netdb.h> header file. */
326 /* #undef HAVE_NETDB_H */
328 /* Define to 1 if you have the <net/if.h> header file. */
329 /* #undef HAVE_NET_IF_H */
332 /* #undef HAVE_NULL_GC */
334 /* Define to 1 if you have the `poll' function. */
335 /* #undef HAVE_POLL */
337 /* Define to 1 if you have the <poll.h> header file. */
338 /* #undef HAVE_POLL_H */
340 /* Define to 1 if you have the `posix_fadvise' function. */
341 /* #undef HAVE_POSIX_FADVISE */
343 /* Define to 1 if you have the `posix_fallocate' function. */
344 /* #undef HAVE_POSIX_FALLOCATE */
346 /* Define to 1 if you have the `posix_madvise' function. */
347 /* #undef HAVE_POSIX_MADVISE */
349 /* Define to 1 if you have the `pthread_attr_getstack' function. */
350 /* #undef HAVE_PTHREAD_ATTR_GETSTACK */
352 /* Define to 1 if you have the `pthread_attr_get_np' function. */
353 /* #undef HAVE_PTHREAD_ATTR_GET_NP */
355 /* Define to 1 if you have the `pthread_attr_setstacksize' function. */
356 /* #undef HAVE_PTHREAD_ATTR_SETSTACKSIZE */
358 /* Define to 1 if you have the `pthread_getattr_np' function. */
359 /* #undef HAVE_PTHREAD_GETATTR_NP */
361 /* Define to 1 if you have the `pthread_get_stackaddr_np' function. */
362 /* #undef HAVE_PTHREAD_GET_STACKADDR_NP */
364 /* Define to 1 if you have the `pthread_get_stacksize_np' function. */
365 /* #undef HAVE_PTHREAD_GET_STACKSIZE_NP */
367 /* Define to 1 if you have the <pthread.h> header file. */
368 /* #undef HAVE_PTHREAD_H */
370 /* Define to 1 if you have the `pthread_mutex_timedlock' function. */
371 /* #undef HAVE_PTHREAD_MUTEX_TIMEDLOCK */
373 /* Define to 1 if you have the `remap_file_pages' function. */
374 /* #undef HAVE_REMAP_FILE_PAGES */
376 /* Define to 1 if you have the `sched_setaffinity' function. */
377 /* #undef HAVE_SCHED_SETAFFINITY */
379 /* Define to 1 if you have the <semaphore.h> header file. */
380 /* #undef HAVE_SEMAPHORE_H */
382 /* Define to 1 if you have the `sendfile' function. */
383 /* #undef HAVE_SENDFILE */
385 /* Define to 1 if you have the `setdomainname' function. */
386 /* #undef HAVE_SETDOMAINNAME */
388 /* Define to 1 if you have the `sethostid' function. */
389 /* #undef HAVE_SETHOSTID */
391 /* Define to 1 if you have the `setpriority' function. */
392 /* #undef HAVE_SETPRIORITY */
394 /* Define to 1 if you have the `setresuid' function. */
395 /* #undef HAVE_SETRESUID */
397 /* Using the simple generational GC. */
398 /* #undef HAVE_SGEN_GC */
401 #define HAVE_SIGNAL 1
403 /* Define to 1 if you have the <signal.h> header file. */
404 #define HAVE_SIGNAL_H 1
407 /* #undef HAVE_SIGNBIT */
409 /* Can get interface list */
410 /* #undef HAVE_SIOCGIFCONF */
412 /* sockaddr_in6 has sin6_len */
413 /* #undef HAVE_SOCKADDR_IN6_SIN_LEN */
415 /* sockaddr_in has sin_len */
416 /* #undef HAVE_SOCKADDR_IN_SIN_LEN */
419 /* #undef HAVE_SOCKLEN_T */
422 /* #undef HAVE_SOL_IP */
425 /* #undef HAVE_SOL_IPV6 */
428 /* #undef HAVE_SOL_TCP */
430 /* Define to 1 if you have the `statfs' function. */
431 /* #undef HAVE_STATFS */
433 /* Define to 1 if you have the `statvfs' function. */
434 /* #undef HAVE_STATVFS */
436 /* Define to 1 if you have the <stdint.h> header file. */
437 /* #define HAVE_STDINT_H 1 */
439 /* Define to 1 if you have the <stdlib.h> header file. */
440 #define HAVE_STDLIB_H 1
442 /* Define to 1 if you have the `stime' function. */
443 /* #undef HAVE_STIME */
445 /* Define to 1 if you have the `strerror_r' function. */
446 /* #undef HAVE_STRERROR_R */
448 /* Define to 1 if you have the <strings.h> header file. */
449 #define HAVE_STRINGS_H 1
451 /* Define to 1 if you have the <string.h> header file. */
452 #define HAVE_STRING_H 1
454 /* Define to 1 if `d_off' is member of `struct dirent'. */
455 /* #undef HAVE_STRUCT_DIRENT_D_OFF */
457 /* Define to 1 if `d_reclen' is member of `struct dirent'. */
458 /* #undef HAVE_STRUCT_DIRENT_D_RECLEN */
460 /* Define to 1 if `d_type' is member of `struct dirent'. */
461 /* #undef HAVE_STRUCT_DIRENT_D_TYPE */
463 /* Have struct ip_mreq */
464 #define HAVE_STRUCT_IP_MREQ 1
466 /* Have struct ip_mreqn */
467 /* #undef HAVE_STRUCT_IP_MREQN */
469 /* Define to 1 if the system has the type `struct pollfd'. */
470 /* #undef HAVE_STRUCT_POLLFD */
472 /* Define to 1 if the system has the type `struct stat'. */
473 /* #undef HAVE_STRUCT_STAT */
475 /* Define to 1 if the system has the type `struct timeval'. */
476 /* #undef HAVE_STRUCT_TIMEVAL */
478 /* Define to 1 if the system has the type `struct timezone'. */
479 /* #undef HAVE_STRUCT_TIMEZONE */
481 /* Define to 1 if the system has the type `struct utimbuf'. */
482 /* #undef HAVE_STRUCT_UTIMBUF */
484 /* Define to 1 if the system has the type `suseconds_t'. */
485 /* #undef HAVE_SUSECONDS_T */
487 /* Define to 1 if you have the <syslog.h> header file. */
488 /* #undef HAVE_SYSLOG_H */
490 /* Define to 1 if you have the <sys/epoll.h> header file. */
491 /* #undef HAVE_SYS_EPOLL_H */
493 /* Define to 1 if you have the <sys/extattr.h> header file. */
494 /* #undef HAVE_SYS_EXTATTR_H */
496 /* Define to 1 if you have the <sys/filio.h> header file. */
497 /* #undef HAVE_SYS_FILIO_H */
499 /* Define to 1 if you have the <sys/ioctl.h> header file. */
500 /* #undef HAVE_SYS_IOCTL_H */
502 /* Define to 1 if you have the <sys/mkdev.h> header file. */
503 /* #undef HAVE_SYS_MKDEV_H */
505 /* Define to 1 if you have the <sys/mman.h> header file. */
506 /* #undef HAVE_SYS_MMAN_H */
508 /* Define to 1 if you have the <sys/param.h> header file. */
509 /* #undef HAVE_SYS_PARAM_H */
511 /* Define to 1 if you have the <sys/poll.h> header file. */
512 /* #undef HAVE_SYS_POLL_H */
514 /* Define to 1 if you have the <sys/sdt.h> header file. */
515 /* #undef HAVE_SYS_SDT_H */
517 /* Define to 1 if you have the <sys/sendfile.h> header file. */
518 /* #undef HAVE_SYS_SENDFILE_H */
520 /* Define to 1 if you have the <sys/sockio.h> header file. */
521 /* #undef HAVE_SYS_SOCKIO_H */
523 /* Define to 1 if you have the <sys/statvfs.h> header file. */
524 /* #undef HAVE_SYS_STATVFS_H */
526 /* Define to 1 if you have the <sys/stat.h> header file. */
527 #define HAVE_SYS_STAT_H 1
529 /* Define to 1 if you have the <sys/syscall.h> header file. */
530 /* #undef HAVE_SYS_SYSCALL_H */
532 /* Define to 1 if you have the <sys/time.h> header file. */
533 /* #undef HAVE_SYS_TIME_H */
535 /* Define to 1 if you have the <sys/types.h> header file. */
536 #define HAVE_SYS_TYPES_H 1
538 /* Define to 1 if you have the <sys/un.h> header file. */
539 /* #undef HAVE_SYS_UN_H */
541 /* Define to 1 if you have the <sys/utime.h> header file. */
542 #define HAVE_SYS_UTIME_H 1
544 /* Define to 1 if you have the <sys/vfstab.h> header file. */
545 /* #undef HAVE_SYS_VFSTAB_H */
547 /* Define to 1 if you have the <sys/wait.h> header file. */
548 /* #undef HAVE_SYS_WAIT_H */
550 /* Define to 1 if you have the <sys/xattr.h> header file. */
551 /* #undef HAVE_SYS_XATTR_H */
553 /* Define to 1 if you have the <termios.h> header file. */
554 /* #undef HAVE_TERMIOS_H */
556 /* Define to 1 if you have the <term.h> header file. */
557 /* #undef HAVE_TERM_H */
559 /* Have timezone variable */
560 /* #undef HAVE_TIMEZONE */
562 /* tld_model available */
563 /* #undef HAVE_TLS_MODEL_ATTR */
566 /* #undef HAVE_TM_GMTOFF */
568 /* Define to 1 if you have the `trunc' function. */
571 /* Define to 1 if you have the `ttyname_r' function. */
572 /* #undef HAVE_TTYNAME_R */
574 /* Define to 1 if you have the <unistd.h> header file. */
575 /* #define HAVE_UNISTD_H 1 */
577 /* Define to 1 if you have the <utime.h> header file. */
578 /* #define HAVE_UTIME_H 1 */
580 /* Define to 1 if you have the <valgrind/memcheck.h> header file. */
581 /* #undef HAVE_VALGRIND_MEMCHECK_H */
583 /* Support for the visibility ("hidden") attribute */
584 /* #define HAVE_VISIBILITY_HIDDEN 1 */
586 /* Define to 1 if you have the `vsnprintf' function. */
587 /* #undef HAVE_VSNPRINTF */
589 /* Define to 1 if you have the <wchar.h> header file. */
590 #define HAVE_WCHAR_H 1
592 /* Define to 1 if you have IPv6 support. */
593 #define HAVE_STRUCT_SOCKADDR_IN6 1
595 /* Defined as strtok_s in eglib-config.hw */
596 #define HAVE_STRTOK_R 1
598 /* Define to 1 if you have the `access' function. */
599 #define HAVE_ACCESS 1
601 /* Have a working sigaltstack */
602 /* #undef HAVE_WORKING_SIGALTSTACK */
604 /* The GC needs write barriers. */
605 /* #undef HAVE_WRITE_BARRIERS */
607 /* Have system zlib */
608 /* #define HAVE_ZLIB 1 */
610 /* Architecture uses registers for Parameters */
611 /* #undef MONO_ARCH_REGPARMS */
613 /* Enable the allocation and indexing of arrays greater than Int32.MaxValue */
614 /* #undef MONO_BIG_ARRAYS */
616 /* Xen-specific behaviour */
617 /* #define MONO_XEN_OPT 1 */
619 /* Length of zero length arrays */
620 #define MONO_ZERO_LEN_ARRAY 1
622 /* Name of /dev/random */
623 #define NAME_DEV_RANDOM ""
625 /* Define if Unix sockets cannot be created in an anonymous namespace */
626 /* #undef NEED_LINK_UNLINK */
628 /* Name of package */
629 #define PACKAGE "mono"
631 /* Define to the address where bug reports for this package should be sent. */
632 #define PACKAGE_BUGREPORT "Hans_Boehm@hp.com"
634 /* Define to the full name of this package. */
635 #define PACKAGE_NAME "libgc-mono"
637 /* Define to the full name and version of this package. */
638 #define PACKAGE_STRING "libgc-mono 6.6"
640 /* Define to the one symbol short name of this package. */
641 #define PACKAGE_TARNAME "libgc-mono"
643 /* Define to the version of this package. */
644 #define PACKAGE_VERSION "6.6"
646 /* Platform is Win32 */
648 #define TARGET_WIN32 1
651 #define TARGET_AMD64 1
656 /* pthread_t is a pointer */
657 /* #undef PTHREAD_POINTER_ID */
659 /* The size of `size_t', as computed by sizeof. */
660 /* #undef SIZEOF_SIZE_T */
662 /* The size of a `void *', as computed by sizeof. */
664 #define SIZEOF_VOID_P 8
666 #define SIZEOF_VOID_P 4
669 #define SIZEOF_REGISTER SIZEOF_VOID_P
671 /* Define to 1 if you have the ANSI C header files. */
672 #define STDC_HEADERS 1
674 /* Use included libgc */
675 /* #define USE_INCLUDED_LIBGC 1 */
677 #define DEFAULT_GC_NAME "Included Boehm (with typed GC)"
680 /* #undef USE_MACH_SEMA */
682 /* Use mono_mutex_t */
683 /* #undef USE_MONO_MUTEX */
685 /* Version number of package */
686 #define VERSION "#MONO_VERSION#"
688 /* Version of the corlib-runtime interface */
689 #define MONO_CORLIB_VERSION #MONO_CORLIB_VERSION#