/* include/gc_config.h.in.  Generated from configure.ac by autoheader.  */

/* allows all pointers to the interior of objects to be recognized */
#undef ALL_INTERIOR_POINTERS

/* include code for GC_malloc_atomic_uncollectable */
#undef ATOMIC_UNCOLLECTABLE

/* No description */
#undef DATASTART_IS_ETEXT

/* Make sure that all objects have debug headers */
#undef DBG_HDRS_ALL

/* No description */
#undef DGUX_THREADS

/* Target is ECOS */
#undef ECOS

/* support AIX threads */
#undef GC_AIX_THREADS

/* support for Mac OS X pthreads */
#undef GC_DARWIN_THREADS

/* support for DB/UX on I386 threads */
#undef GC_DGUX386_THREADS

/* support FreeBSD threads */
#undef GC_FREEBSD_THREADS

/* include support for gcj */
#undef GC_GCJ_SUPPORT

/* enables support for HP/UX 11 pthreads */
#undef GC_HPUX_THREADS

/* support for Irix pthreads */
#undef GC_IRIX_THREADS

/* support for Xavier Leroy's Linux threads */
#undef GC_LINUX_THREADS

/* support for Tru64 pthreads */
#undef GC_OSF1_THREADS

/* support for Solaris pthreads */
#undef GC_SOLARIS_PTHREADS

/* support for win32 threads */
#undef GC_WIN32_THREADS

/* ppc_thread_state64_t has field r0 */
#undef HAS_PPC_THREAD_STATE64_R0

/* ppc_thread_state64_t has field __r0 */
#undef HAS_PPC_THREAD_STATE64___R0

/* ppc_thread_state_t has field r0 */
#undef HAS_PPC_THREAD_STATE_R0

/* ppc_thread_state_t has field __r0 */
#undef HAS_PPC_THREAD_STATE___R0

/* x86_thread_state32_t has field eax */
#undef HAS_X86_THREAD_STATE32_EAX

/* x86_thread_state32_t has field __eax */
#undef HAS_X86_THREAD_STATE32___EAX

/* x86_thread_state64_t has field rax */
#undef HAS_X86_THREAD_STATE64_RAX

/* x86_thread_state64_t has field __rax */
#undef HAS_X86_THREAD_STATE64___RAX

/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* Define to 1 if you have the `pthread_getattr_np' function. */
#undef HAVE_PTHREAD_GETATTR_NP

/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H

/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H

/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H

/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H

/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H

/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* make it somewhat safer to finalize objects out of order */
#undef JAVA_FINALIZATION

/* Add code to save back pointers */
#undef KEEP_BACK_PTRS

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#undef LT_OBJDIR

/* Enable GC_PRINT_BACK_HEIGHT environment variable */
#undef MAKE_BACK_GRAPH

/* cause some or all of the heap to not have execute permission */
#undef NO_EXECUTE_PERMISSION

/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O

/* does not disable signals */
#undef NO_SIGNALS

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* allow the marker to run in multiple threads */
#undef PARALLEL_MARK

/* number of call frames saved with objects allocated through the debugging
   interface */
#undef SAVE_CALL_COUNT

/* disables statistics printing */
#undef SILENT

/* PROC_VDB in Solaris 2.5 gives wrong values for dirty bits */
#undef SOLARIS25_PROC_VDB_BUG_FIXED

/* No description */
#undef STACKBASE

/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS

/* Avoid Solaris 5.3 dynamic library bug */
#undef SUNOS53_SHARED_LIB

/* define GC_local_malloc() & GC_local_malloc_atomic() */
#undef THREAD_LOCAL_ALLOC

/* use tls for boehm */
#undef USE_COMPILER_TLS

/* use MMAP instead of sbrk to get new memory */
#undef USE_MMAP

/* POSIX version of C Source */
#undef _POSIX_C_SOURCE

/* Required define if using POSIX threads */
#undef _REENTRANT
