/* config.h.in.  Generated from configure.ac by autoheader.  */

/* Define to 0 if the target shouldn't use #pragma weak */
#undef GTHREAD_USE_WEAK

/* Define to 1 if you have the `access' function. */
#undef HAVE_ACCESS

/* libm includes acos */
#undef HAVE_ACOS

/* libm includes acosf */
#undef HAVE_ACOSF

/* libm includes acosh */
#undef HAVE_ACOSH

/* libm includes acoshf */
#undef HAVE_ACOSHF

/* libm includes acoshl */
#undef HAVE_ACOSHL

/* libm includes acosl */
#undef HAVE_ACOSL

/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM

/* libm includes asin */
#undef HAVE_ASIN

/* libm includes asinf */
#undef HAVE_ASINF

/* libm includes asinh */
#undef HAVE_ASINH

/* libm includes asinhf */
#undef HAVE_ASINHF

/* libm includes asinhl */
#undef HAVE_ASINHL

/* libm includes asinl */
#undef HAVE_ASINL

/* libm includes atan */
#undef HAVE_ATAN

/* libm includes atan2 */
#undef HAVE_ATAN2

/* libm includes atan2f */
#undef HAVE_ATAN2F

/* libm includes atan2l */
#undef HAVE_ATAN2L

/* libm includes atanf */
#undef HAVE_ATANF

/* libm includes atanh */
#undef HAVE_ATANH

/* libm includes atanhf */
#undef HAVE_ATANHF

/* libm includes atanhl */
#undef HAVE_ATANHL

/* libm includes atanl */
#undef HAVE_ATANL

/* Define to 1 if the target supports __attribute__((alias(...))). */
#undef HAVE_ATTRIBUTE_ALIAS

/* Define to 1 if the target supports __attribute__((dllexport)). */
#undef HAVE_ATTRIBUTE_DLLEXPORT

/* Define to 1 if the target supports __attribute__((visibility(...))). */
#undef HAVE_ATTRIBUTE_VISIBILITY

/* Define to 1 if you have the `backtrace' function. */
#undef HAVE_BACKTRACE

/* Define to 1 if you have the `backtrace_symbols' function. */
#undef HAVE_BACKTRACE_SYMBOLS

/* Define if powf is broken. */
#undef HAVE_BROKEN_POWF

/* libm includes cabs */
#undef HAVE_CABS

/* libm includes cabsf */
#undef HAVE_CABSF

/* libm includes cabsl */
#undef HAVE_CABSL

/* libm includes cacos */
#undef HAVE_CACOS

/* libm includes cacosf */
#undef HAVE_CACOSF

/* libm includes cacosh */
#undef HAVE_CACOSH

/* libm includes cacoshf */
#undef HAVE_CACOSHF

/* libm includes cacoshl */
#undef HAVE_CACOSHL

/* libm includes cacosl */
#undef HAVE_CACOSL

/* libm includes carg */
#undef HAVE_CARG

/* libm includes cargf */
#undef HAVE_CARGF

/* libm includes cargl */
#undef HAVE_CARGL

/* libm includes casin */
#undef HAVE_CASIN

/* libm includes casinf */
#undef HAVE_CASINF

/* libm includes casinh */
#undef HAVE_CASINH

/* libm includes casinhf */
#undef HAVE_CASINHF

/* libm includes casinhl */
#undef HAVE_CASINHL

/* libm includes casinl */
#undef HAVE_CASINL

/* libm includes catan */
#undef HAVE_CATAN

/* libm includes catanf */
#undef HAVE_CATANF

/* libm includes catanh */
#undef HAVE_CATANH

/* libm includes catanhf */
#undef HAVE_CATANHF

/* libm includes catanhl */
#undef HAVE_CATANHL

/* libm includes catanl */
#undef HAVE_CATANL

/* libm includes ccos */
#undef HAVE_CCOS

/* libm includes ccosf */
#undef HAVE_CCOSF

/* libm includes ccosh */
#undef HAVE_CCOSH

/* libm includes ccoshf */
#undef HAVE_CCOSHF

/* libm includes ccoshl */
#undef HAVE_CCOSHL

/* libm includes ccosl */
#undef HAVE_CCOSL

/* libm includes ceil */
#undef HAVE_CEIL

/* libm includes ceilf */
#undef HAVE_CEILF

/* libm includes ceill */
#undef HAVE_CEILL

/* libm includes cexp */
#undef HAVE_CEXP

/* libm includes cexpf */
#undef HAVE_CEXPF

/* libm includes cexpl */
#undef HAVE_CEXPL

/* Define to 1 if you have the `chdir' function. */
#undef HAVE_CHDIR

/* Define to 1 if you have the `chsize' function. */
#undef HAVE_CHSIZE

/* Define to 1 if you have the `clock' function. */
#undef HAVE_CLOCK

/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME

/* libm includes clog */
#undef HAVE_CLOG

/* libm includes clog10 */
#undef HAVE_CLOG10

/* libm includes clog10f */
#undef HAVE_CLOG10F

/* libm includes clog10l */
#undef HAVE_CLOG10L

/* libm includes clogf */
#undef HAVE_CLOGF

/* libm includes clogl */
#undef HAVE_CLOGL

/* Define to 1 if you have the `close' function. */
#undef HAVE_CLOSE

/* complex.h exists */
#undef HAVE_COMPLEX_H

/* libm includes copysign */
#undef HAVE_COPYSIGN

/* libm includes copysignf */
#undef HAVE_COPYSIGNF

/* libm includes copysignl */
#undef HAVE_COPYSIGNL

/* libm includes cos */
#undef HAVE_COS

/* libm includes cosf */
#undef HAVE_COSF

/* libm includes cosh */
#undef HAVE_COSH

/* libm includes coshf */
#undef HAVE_COSHF

/* libm includes coshl */
#undef HAVE_COSHL

/* libm includes cosl */
#undef HAVE_COSL

/* libm includes cpow */
#undef HAVE_CPOW

/* libm includes cpowf */
#undef HAVE_CPOWF

/* libm includes cpowl */
#undef HAVE_CPOWL

/* Define if CRLF is line terminator. */
#undef HAVE_CRLF

/* libm includes csin */
#undef HAVE_CSIN

/* libm includes csinf */
#undef HAVE_CSINF

/* libm includes csinh */
#undef HAVE_CSINH

/* libm includes csinhf */
#undef HAVE_CSINHF

/* libm includes csinhl */
#undef HAVE_CSINHL

/* libm includes csinl */
#undef HAVE_CSINL

/* libm includes csqrt */
#undef HAVE_CSQRT

/* libm includes csqrtf */
#undef HAVE_CSQRTF

/* libm includes csqrtl */
#undef HAVE_CSQRTL

/* libm includes ctan */
#undef HAVE_CTAN

/* libm includes ctanf */
#undef HAVE_CTANF

/* libm includes ctanh */
#undef HAVE_CTANH

/* libm includes ctanhf */
#undef HAVE_CTANHF

/* libm includes ctanhl */
#undef HAVE_CTANHL

/* libm includes ctanl */
#undef HAVE_CTANL

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

/* Define to 1 if you have the `dup' function. */
#undef HAVE_DUP

/* Define to 1 if you have the `dup2' function. */
#undef HAVE_DUP2

/* libm includes erf */
#undef HAVE_ERF

/* libm includes erfc */
#undef HAVE_ERFC

/* libm includes erfcf */
#undef HAVE_ERFCF

/* libm includes erfcl */
#undef HAVE_ERFCL

/* libm includes erff */
#undef HAVE_ERFF

/* libm includes erfl */
#undef HAVE_ERFL

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

/* Define to 1 if you have the `execl' function. */
#undef HAVE_EXECL

/* Define to 1 if you have the `execvp' function. */
#undef HAVE_EXECVP

/* libm includes exp */
#undef HAVE_EXP

/* libm includes expf */
#undef HAVE_EXPF

/* libm includes expl */
#undef HAVE_EXPL

/* libm includes fabs */
#undef HAVE_FABS

/* libm includes fabsf */
#undef HAVE_FABSF

/* libm includes fabsl */
#undef HAVE_FABSL

/* Define to 1 if you have the `fdopen' function. */
#undef HAVE_FDOPEN

/* libm includes feenableexcept */
#undef HAVE_FEENABLEEXCEPT

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

/* Define if have a usable __float128 type. */
#undef HAVE_FLOAT128

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

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

/* libm includes floor */
#undef HAVE_FLOOR

/* libm includes floorf */
#undef HAVE_FLOORF

/* libm includes floorl */
#undef HAVE_FLOORL

/* libm includes fmod */
#undef HAVE_FMOD

/* libm includes fmodf */
#undef HAVE_FMODF

/* libm includes fmodl */
#undef HAVE_FMODL

/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK

/* Define if you have fpsetmask. */
#undef HAVE_FPSETMASK

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

/* fp_enable is present */
#undef HAVE_FP_ENABLE

/* fp_trap is present */
#undef HAVE_FP_TRAP

/* libm includes frexp */
#undef HAVE_FREXP

/* libm includes frexpf */
#undef HAVE_FREXPF

/* libm includes frexpl */
#undef HAVE_FREXPL

/* Define to 1 if you have the `fstat' function. */
#undef HAVE_FSTAT

/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE

/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD

/* libc includes geteuid */
#undef HAVE_GETEUID

/* libc includes getgid */
#undef HAVE_GETGID

/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME

/* Define to 1 if you have the `getlogin' function. */
#undef HAVE_GETLOGIN

/* libc includes getpid */
#undef HAVE_GETPID

/* libc includes getppid */
#undef HAVE_GETPPID

/* Define to 1 if you have the `getpwuid' function. */
#undef HAVE_GETPWUID

/* Define to 1 if you have the `getpwuid_r' function. */
#undef HAVE_GETPWUID_R

/* Define to 1 if you have the `getrlimit' function. */
#undef HAVE_GETRLIMIT

/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE

/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY

/* libc includes getuid */
#undef HAVE_GETUID

/* Define to 1 if you have the `gmtime_r' function. */
#undef HAVE_GMTIME_R

/* Define if the compiler has a thread header that is non single. */
#undef HAVE_GTHR_DEFAULT

/* libm includes hypot */
#undef HAVE_HYPOT

/* libm includes hypotf */
#undef HAVE_HYPOTF

/* libm includes hypotl */
#undef HAVE_HYPOTL

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

/* Define to 1 if the system has the type `intptr_t'. */
#undef HAVE_INTPTR_T

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

/* libm includes j0 */
#undef HAVE_J0

/* libm includes j0f */
#undef HAVE_J0F

/* libm includes j0l */
#undef HAVE_J0L

/* libm includes j1 */
#undef HAVE_J1

/* libm includes j1f */
#undef HAVE_J1F

/* libm includes j1l */
#undef HAVE_J1L

/* libm includes jn */
#undef HAVE_JN

/* libm includes jnf */
#undef HAVE_JNF

/* libm includes jnl */
#undef HAVE_JNL

/* Define to 1 if you have the `kill' function. */
#undef HAVE_KILL

/* libm includes ldexp */
#undef HAVE_LDEXP

/* libm includes ldexpf */
#undef HAVE_LDEXPF

/* libm includes ldexpl */
#undef HAVE_LDEXPL

/* libm includes lgamma */
#undef HAVE_LGAMMA

/* libm includes lgammaf */
#undef HAVE_LGAMMAF

/* libm includes lgammal */
#undef HAVE_LGAMMAL

/* Define to 1 if you have the `link' function. */
#undef HAVE_LINK

/* libm includes llround */
#undef HAVE_LLROUND

/* libm includes llroundf */
#undef HAVE_LLROUNDF

/* libm includes llroundl */
#undef HAVE_LLROUNDL

/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R

/* libm includes log */
#undef HAVE_LOG

/* libm includes log10 */
#undef HAVE_LOG10

/* libm includes log10f */
#undef HAVE_LOG10F

/* libm includes log10l */
#undef HAVE_LOG10L

/* libm includes logf */
#undef HAVE_LOGF

/* libm includes logl */
#undef HAVE_LOGL

/* libm includes lround */
#undef HAVE_LROUND

/* libm includes lroundf */
#undef HAVE_LROUNDF

/* libm includes lroundl */
#undef HAVE_LROUNDL

/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT

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

/* Define if you have __mingw_snprintf. */
#undef HAVE_MINGW_SNPRINTF

/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP

/* libm includes nextafter */
#undef HAVE_NEXTAFTER

/* libm includes nextafterf */
#undef HAVE_NEXTAFTERF

/* libm includes nextafterl */
#undef HAVE_NEXTAFTERL

/* Define to 1 if you have the `perror' function. */
#undef HAVE_PERROR

/* Define to 1 if you have the `pipe' function. */
#undef HAVE_PIPE

/* Define to 1 if we have POSIX getpwuid_r which takes 5 arguments. */
#undef HAVE_POSIX_GETPWUID_R

/* libm includes pow */
#undef HAVE_POW

/* libm includes powf */
#undef HAVE_POWF

/* libm includes powl */
#undef HAVE_POWL

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

/* libm includes round */
#undef HAVE_ROUND

/* libm includes roundf */
#undef HAVE_ROUNDF

/* libm includes roundl */
#undef HAVE_ROUNDL

/* libm includes scalbn */
#undef HAVE_SCALBN

/* libm includes scalbnf */
#undef HAVE_SCALBNF

/* libm includes scalbnl */
#undef HAVE_SCALBNL

/* Define to 1 if you have the `setmode' function. */
#undef HAVE_SETMODE

/* Define to 1 if you have the `signal' function. */
#undef HAVE_SIGNAL

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

/* libm includes sin */
#undef HAVE_SIN

/* libm includes sinf */
#undef HAVE_SINF

/* libm includes sinh */
#undef HAVE_SINH

/* libm includes sinhf */
#undef HAVE_SINHF

/* libm includes sinhl */
#undef HAVE_SINHL

/* libm includes sinl */
#undef HAVE_SINL

/* Define to 1 if you have the `sleep' function. */
#undef HAVE_SLEEP

/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF

/* libm includes sqrt */
#undef HAVE_SQRT

/* libm includes sqrtf */
#undef HAVE_SQRTF

/* libm includes sqrtl */
#undef HAVE_SQRTL

/* Define to 1 if you have the `stat' function. */
#undef HAVE_STAT

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

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

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

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

/* Define to 1 if you have the `strcasestr' function. */
#undef HAVE_STRCASESTR

/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR

/* Define to 1 if you have the `strerror_r' function. */
#undef HAVE_STRERROR_R

/* Define to 1 if you have the `strftime' function. */
#undef HAVE_STRFTIME

/* 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 `strtof' function. */
#undef HAVE_STRTOF

/* Define to 1 if you have the `strtold' function. */
#undef HAVE_STRTOLD

/* Define to 1 if `struct stat' is a member of `st_blksize'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE

/* Define to 1 if `struct stat' is a member of `st_blocks'. */
#undef HAVE_STRUCT_STAT_ST_BLOCKS

/* Define to 1 if `struct stat' is a member of `st_rdev'. */
#undef HAVE_STRUCT_STAT_ST_RDEV

/* Define to 1 if you have the `symlink' function. */
#undef HAVE_SYMLINK

/* Define to 1 if the target supports __sync_fetch_and_add */
#undef HAVE_SYNC_FETCH_AND_ADD

/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_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/times.h> header file. */
#undef HAVE_SYS_TIMES_H

/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_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 <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H

/* libm includes tan */
#undef HAVE_TAN

/* libm includes tanf */
#undef HAVE_TANF

/* libm includes tanh */
#undef HAVE_TANH

/* libm includes tanhf */
#undef HAVE_TANHF

/* libm includes tanhl */
#undef HAVE_TANHL

/* libm includes tanl */
#undef HAVE_TANL

/* libm includes tgamma */
#undef HAVE_TGAMMA

/* libm includes tgammaf */
#undef HAVE_TGAMMAF

/* libm includes tgammal */
#undef HAVE_TGAMMAL

/* Define to 1 if you have the `time' function. */
#undef HAVE_TIME

/* Define to 1 if you have the `times' function. */
#undef HAVE_TIMES

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

/* libm includes trunc */
#undef HAVE_TRUNC

/* libm includes truncf */
#undef HAVE_TRUNCF

/* libm includes truncl */
#undef HAVE_TRUNCL

/* Define to 1 if you have the `ttyname' function. */
#undef HAVE_TTYNAME

/* Define to 1 if you have the `ttyname_r' function. */
#undef HAVE_TTYNAME_R

/* Define to 1 if the system has the type `uintptr_t'. */
#undef HAVE_UINTPTR_T

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

/* Define if target can unlink open files. */
#undef HAVE_UNLINK_OPEN_FILE

/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF

/* Define to 1 if you have the `wait' function. */
#undef HAVE_WAIT

/* Define if target has a reliable stat. */
#undef HAVE_WORKING_STAT

/* libm includes y0 */
#undef HAVE_Y0

/* libm includes y0f */
#undef HAVE_Y0F

/* libm includes y0l */
#undef HAVE_Y0L

/* libm includes y1 */
#undef HAVE_Y1

/* libm includes y1f */
#undef HAVE_Y1F

/* libm includes y1l */
#undef HAVE_Y1L

/* libm includes yn */
#undef HAVE_YN

/* libm includes ynf */
#undef HAVE_YNF

/* libm includes ynl */
#undef HAVE_YNL

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

/* 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 home page for this package. */
#undef PACKAGE_URL

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

/* The size of `char', as computed by sizeof. */
#undef SIZEOF_CHAR

/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT

/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG

/* The size of `short', as computed by sizeof. */
#undef SIZEOF_SHORT

/* The size of `void *', as computed by sizeof. */
#undef SIZEOF_VOID_P

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

/* Define to 1 if the target supports #pragma weak */
#undef SUPPORTS_WEAK

/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME

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


/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS

/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES

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

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

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

/* Define to `long int' if <sys/types.h> does not define. */
#undef off_t
