
/* Define if building pthread work queues from source */
#cmakedefine01 DISPATCH_USE_INTERNAL_WORKQUEUE

/* Enable usage of thread local storage via _Thread_local */
#cmakedefine01 DISPATCH_USE_THREAD_LOCAL_STORAGE

/* Define to 1 if you have the declaration of `CLOCK_MONOTONIC', and to 0 if
   you don't. */
#cmakedefine01 HAVE_DECL_CLOCK_MONOTONIC

/* Define to 1 if you have the declaration of `CLOCK_REALTIME', and to 0 if
   you don't. */
#cmakedefine01 HAVE_DECL_CLOCK_REALTIME

/* Define to 1 if you have the declaration of `CLOCK_UPTIME', and to 0 if you
   don't. */
#cmakedefine01 HAVE_DECL_CLOCK_UPTIME

/* Define to 1 if you have the declaration of `CLOCK_UPTIME_FAST', and to 0 if
   you don't. */
#cmakedefine01 HAVE_DECL_CLOCK_UPTIME_FAST

/* Define to 1 if you have the declaration of `CLOCK_MONOTONIC_COARSE', and to
   0 if you don't. */
#cmakedefine01 HAVE_CLOCK_MONOTONIC_COARSE

/* Define to 1 if you have the declaration of `FD_COPY', and to 0 if you
   don't. */
#cmakedefine01 HAVE_DECL_FD_COPY

/* Define to 1 if you have the declaration of `NOTE_LOWAT', and to 0 if you
   don't. */
#cmakedefine01 HAVE_DECL_NOTE_LOWAT

/* Define to 1 if you have the declaration of `NOTE_NONE', and to 0 if you
   don't. */
#cmakedefine01 HAVE_DECL_NOTE_NONE

/* Define to 1 if you have the declaration of `NOTE_REAP', and to 0 if you
   don't. */
#cmakedefine01 HAVE_DECL_NOTE_REAP

/* Define to 1 if you have the declaration of `NOTE_REVOKE', and to 0 if you
   don't. */
#cmakedefine01 HAVE_DECL_NOTE_REVOKE

/* Define to 1 if you have the declaration of `NOTE_SIGNAL', and to 0 if you
   don't. */
#cmakedefine01 HAVE_DECL_NOTE_SIGNAL

/* Define to 1 if you have the declaration of `POSIX_SPAWN_START_SUSPENDED',
   and to 0 if you don't. */
#cmakedefine01 HAVE_DECL_POSIX_SPAWN_START_SUSPENDED

/* Define to 1 if you have the declaration of `program_invocation_short_name',
   and to 0 if you don't. */
#cmakedefine01 HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME

/* Define to 1 if you have the declaration of `SIGEMT', and to 0 if you don't.
   */
#cmakedefine01 HAVE_DECL_SIGEMT

/* Define to 1 if you have the declaration of `VQ_DESIRED_DISK', and to 0 if
   you don't. */
#cmakedefine01 HAVE_DECL_VQ_DESIRED_DISK

/* Define to 1 if you have the declaration of `VQ_NEARLOWDISK', and to 0 if
   you don't. */
#cmakedefine01 HAVE_DECL_VQ_NEARLOWDISK

/* Define to 1 if you have the declaration of `VQ_QUOTA', and to 0 if you
   don't. */
#cmakedefine01 HAVE_DECL_VQ_QUOTA

/* Define to 1 if you have the declaration of `VQ_UPDATE', and to 0 if you
   don't. */
#cmakedefine01 HAVE_DECL_VQ_UPDATE

/* Define to 1 if you have the declaration of `VQ_VERYLOWDISK', and to 0 if
   you don't. */
#cmakedefine01 HAVE_DECL_VQ_VERYLOWDISK

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

/* Define to 1 if you have the <fcntl.h> header file. */
#cmakedefine01 HAVE_FCNTL_H

/* Define to 1 if you have the `getprogname' function. */
#cmakedefine01 HAVE_GETPROGNAME

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

/* Define if Apple leaks program is present */
#cmakedefine HAVE_LEAKS

/* Define to 1 if you have the <libkern/OSAtomic.h> header file. */
#cmakedefine HAVE_LIBKERN_OSATOMIC_H

/* Define to 1 if you have the <libkern/OSCrossEndian.h> header file. */
#cmakedefine HAVE_LIBKERN_OSCROSSENDIAN_H

/* Define to 1 if you have the <libproc_internal.h> header file. */
#cmakedefine HAVE_LIBPROC_INTERNAL_H

/* Define if mach is present */
#cmakedefine HAVE_MACH

/* Define to 1 if you have the `mach_absolute_time' function. */
#cmakedefine HAVE_MACH_ABSOLUTE_TIME

/* Define to 1 if you have the `mach_approximate_time' function. */
#cmakedefine HAVE_MACH_APPROXIMATE_TIME

/* Define to 1 if you have the `mach_port_construct' function. */
#cmakedefine HAVE_MACH_PORT_CONSTRUCT

/* Define to 1 if you have the `malloc_create_zone' function. */
#cmakedefine HAVE_MALLOC_CREATE_ZONE

/* Define to 1 if you have the <malloc/malloc.h> header file. */
#cmakedefine HAVE_MALLOC_MALLOC_H

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

/* Define if __builtin_trap marked noreturn */
#cmakedefine01 HAVE_NORETURN_BUILTIN_TRAP

/* Define if you have the Objective-C runtime */
#cmakedefine HAVE_OBJC

/* Define to 1 if you have the `pthread_key_init_np' function. */
#cmakedefine HAVE_PTHREAD_KEY_INIT_NP

/* Define to 1 if you have the <pthread_machdep.h> header file. */
#cmakedefine HAVE_PTHREAD_MACHDEP_H

/* Define to 1 if you have the `pthread_main_np' function. */
#cmakedefine01 HAVE_PTHREAD_MAIN_NP

/* Define to 1 if you have the <pthread_np.h> header file. */
#cmakedefine01 HAVE_PTHREAD_NP_H

/* Define to 1 if you have the <pthread/qos.h> header file. */
#cmakedefine HAVE_PTHREAD_QOS_H

/* Define if pthread work queues are present */
#cmakedefine01 HAVE_PTHREAD_WORKQUEUES

/* Define to 1 if you have the <pthread_workqueue.h> header file. */
#cmakedefine HAVE_PTHREAD_WORKQUEUE_H

/* Define to 1 if you have the <pthread/workqueue_private.h> header file. */
#cmakedefine HAVE_PTHREAD_WORKQUEUE_PRIVATE_H

/* Define to 1 if you have the `pthread_workqueue_setdispatch_np' function. */
#cmakedefine HAVE_PTHREAD_WORKQUEUE_SETDISPATCH_NP

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

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

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

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

/* Define to 1 if you have the `strlcpy' function. */
#cmakedefine01 HAVE_STRLCPY

/* Define if building for Swift */
#undef HAVE_SWIFT

/* Define to 1 if you have the `sysconf' function. */
#cmakedefine01 HAVE_SYSCONF

/* Define to 1 if you have the <sys/guarded.h> header file. */
#cmakedefine HAVE_SYS_GUARDED_H

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

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

/* Define to 1 if you have the <TargetConditionals.h> header file. */
#cmakedefine HAVE_TARGETCONDITIONALS_H

/* Define to 1 if you have the `_pthread_workqueue_init' function. */
#cmakedefine HAVE__PTHREAD_WORKQUEUE_INIT

/* Define to use non-portable pthread TSD optimizations for Mac OS X) */
#cmakedefine USE_APPLE_TSD_OPTIMIZATIONS

/* Define to tag libdispatch_init as a constructor */
#cmakedefine01 USE_LIBDISPATCH_INIT_CONSTRUCTOR

/* Define to use Mach semaphores */
#cmakedefine USE_MACH_SEM

/* Define to use POSIX semaphores */
#cmakedefine01 USE_POSIX_SEM

/* Enable extensions on AIX 3, Interix.  */
#ifndef _ALL_SOURCE
#cmakedefine01 _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them.  */
#ifndef _GNU_SOURCE
#cmakedefine _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris.  */
#ifndef _POSIX_PTHREAD_SEMANTICS
#cmakedefine01 _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop.  */
#ifndef _TANDEM_SOURCE
#cmakedefine01 _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris.  */
#ifndef __EXTENSIONS__
#cmakedefine01 __EXTENSIONS__
#endif


/* Version number of package */
#define VERSION "${PROJECT_VERSION}"

/* Define to 1 if on MINIX. */
#cmakedefine _MINIX

/* Define to 2 if the system does not provide POSIX.1 features except with
   this defined. */
#cmakedefine _POSIX_1_SOURCE

/* Define to 1 if you need to in order for `stat' and other things to work. */
#cmakedefine _POSIX_SOURCE

/* Define if using Darwin $NOCANCEL */
#cmakedefine __DARWIN_NON_CANCELABLE
