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

/* Define to 1 if you have the `acosf' function. */
#undef HAVE_ACOSF

/* Define to 1 if you have the `acosl' function. */
#undef HAVE_ACOSL

/* Define to 1 if you have the `aligned_alloc' function. */
#undef HAVE_ALIGNED_ALLOC

/* Define if arc4random is available in <stdlib.h>. */
#undef HAVE_ARC4RANDOM

/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H

/* Define to 1 if you have the `asinf' function. */
#undef HAVE_ASINF

/* Define to 1 if you have the `asinl' function. */
#undef HAVE_ASINL

/* Define to 1 if the target assembler supports .symver directive. */
#undef HAVE_AS_SYMVER_DIRECTIVE

/* Define to 1 if you have the `atan2f' function. */
#undef HAVE_ATAN2F

/* Define to 1 if you have the `atan2l' function. */
#undef HAVE_ATAN2L

/* Define to 1 if you have the `atanf' function. */
#undef HAVE_ATANF

/* Define to 1 if you have the `atanl' function. */
#undef HAVE_ATANL

/* Defined if shared_ptr reference counting should use atomic operations. */
#undef HAVE_ATOMIC_LOCK_POLICY

/* Define to 1 if you have the `at_quick_exit' function. */
#undef HAVE_AT_QUICK_EXIT

/* Define to 1 if the target assembler supports thread-local storage. */
#undef HAVE_CC_TLS

/* Define to 1 if you have the `ceilf' function. */
#undef HAVE_CEILF

/* Define to 1 if you have the `ceill' function. */
#undef HAVE_CEILL

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

/* Define to 1 if you have the `cosf' function. */
#undef HAVE_COSF

/* Define to 1 if you have the `coshf' function. */
#undef HAVE_COSHF

/* Define to 1 if you have the `coshl' function. */
#undef HAVE_COSHL

/* Define to 1 if you have the `cosl' function. */
#undef HAVE_COSL

/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
   don't. */
#undef HAVE_DECL_STRNLEN

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

/* Define if dirfd is available in <dirent.h>. */
#undef HAVE_DIRFD

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

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

/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */
#undef HAVE_EXCEPTION_PTR_SINCE_GCC46

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

/* Define to 1 if you have the `expf' function. */
#undef HAVE_EXPF

/* Define to 1 if you have the `expl' function. */
#undef HAVE_EXPL

/* Define to 1 if you have the `fabsf' function. */
#undef HAVE_FABSF

/* Define to 1 if you have the `fabsl' function. */
#undef HAVE_FABSL

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

/* Define if fdopendir is available in <dirent.h>. */
#undef HAVE_FDOPENDIR

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

/* Define to 1 if you have the `finite' function. */
#undef HAVE_FINITE

/* Define to 1 if you have the `finitef' function. */
#undef HAVE_FINITEF

/* Define to 1 if you have the `finitel' function. */
#undef HAVE_FINITEL

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

/* Define to 1 if you have the `floorf' function. */
#undef HAVE_FLOORF

/* Define to 1 if you have the `floorl' function. */
#undef HAVE_FLOORL

/* Define to 1 if you have the `fmodf' function. */
#undef HAVE_FMODF

/* Define to 1 if you have the `fmodl' function. */
#undef HAVE_FMODL

/* Define to 1 if you have the `fpclass' function. */
#undef HAVE_FPCLASS

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

/* Define to 1 if you have the `frexpf' function. */
#undef HAVE_FREXPF

/* Define to 1 if you have the `frexpl' function. */
#undef HAVE_FREXPL

/* Define if getentropy is available in <unistd.h>. */
#undef HAVE_GETENTROPY

/* Define if _Unwind_GetIPInfo is available. */
#undef HAVE_GETIPINFO

/* Define if gets is available in <stdio.h> before C++14. */
#undef HAVE_GETS

/* Define to 1 if you have the `hypot' function. */
#undef HAVE_HYPOT

/* Define to 1 if you have the `hypotf' function. */
#undef HAVE_HYPOTF

/* Define to 1 if you have the `hypotl' function. */
#undef HAVE_HYPOTL

/* Define if you have the iconv() function. */
#undef HAVE_ICONV

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

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

/* Define to 1 if you have the `isinf' function. */
#undef HAVE_ISINF

/* Define to 1 if you have the `isinff' function. */
#undef HAVE_ISINFF

/* Define to 1 if you have the `isinfl' function. */
#undef HAVE_ISINFL

/* Define to 1 if you have the `isnan' function. */
#undef HAVE_ISNAN

/* Define to 1 if you have the `isnanf' function. */
#undef HAVE_ISNANF

/* Define to 1 if you have the `isnanl' function. */
#undef HAVE_ISNANL

/* Defined if iswblank exists. */
#undef HAVE_ISWBLANK

/* Define if LC_MESSAGES is available in <locale.h>. */
#undef HAVE_LC_MESSAGES

/* Define to 1 if you have the `ldexpf' function. */
#undef HAVE_LDEXPF

/* Define to 1 if you have the `ldexpl' function. */
#undef HAVE_LDEXPL

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

/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_LIMIT_AS

/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_LIMIT_DATA

/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_LIMIT_FSIZE

/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_LIMIT_RSS

/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_LIMIT_VMEM

/* Define if link is available in <unistd.h>. */
#undef HAVE_LINK

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

/* Define if futex syscall is available. */
#undef HAVE_LINUX_FUTEX

/* Define to 1 if you have the <linux/random.h> header file. */
#undef HAVE_LINUX_RANDOM_H

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

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

/* Define to 1 if you have the `log10f' function. */
#undef HAVE_LOG10F

/* Define to 1 if you have the `log10l' function. */
#undef HAVE_LOG10L

/* Define to 1 if you have the `logf' function. */
#undef HAVE_LOGF

/* Define to 1 if you have the `logl' function. */
#undef HAVE_LOGL

/* Define to 1 if you have the <machine/endian.h> header file. */
#undef HAVE_MACHINE_ENDIAN_H

/* Define to 1 if you have the <machine/param.h> header file. */
#undef HAVE_MACHINE_PARAM_H

/* Define if mbstate_t exists in wchar.h. */
#undef HAVE_MBSTATE_T

/* Define to 1 if you have the `memalign' function. */
#undef HAVE_MEMALIGN

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

/* Define to 1 if you have the `modf' function. */
#undef HAVE_MODF

/* Define to 1 if you have the `modff' function. */
#undef HAVE_MODFF

/* Define to 1 if you have the `modfl' function. */
#undef HAVE_MODFL

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

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

/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H

/* Define to 1 if you have the <netinet/tcp.h> header file. */
#undef HAVE_NETINET_TCP_H

/* Define if <math.h> defines obsolete isinf function. */
#undef HAVE_OBSOLETE_ISINF

/* Define if <math.h> defines obsolete isnan function. */
#undef HAVE_OBSOLETE_ISNAN

/* Define if openat is available in <fcntl.h>. */
#undef HAVE_OPENAT

/* Define if poll is available in <poll.h>. */
#undef HAVE_POLL

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

/* Define to 1 if you have the `posix_memalign' function. */
#undef HAVE_POSIX_MEMALIGN

/* Define to 1 if POSIX Semaphores with sem_timedwait are available in
   <semaphore.h>. */
#undef HAVE_POSIX_SEMAPHORE

/* Define to 1 if you have the `powf' function. */
#undef HAVE_POWF

/* Define to 1 if you have the `powl' function. */
#undef HAVE_POWL

/* Define to 1 if you have the `qfpclass' function. */
#undef HAVE_QFPCLASS

/* Define to 1 if you have the `quick_exit' function. */
#undef HAVE_QUICK_EXIT

/* Define if readlink is available in <unistd.h>. */
#undef HAVE_READLINK

/* Define to 1 if you have the `secure_getenv' function. */
#undef HAVE_SECURE_GETENV

/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV

/* Define to 1 if you have the `sincos' function. */
#undef HAVE_SINCOS

/* Define to 1 if you have the `sincosf' function. */
#undef HAVE_SINCOSF

/* Define to 1 if you have the `sincosl' function. */
#undef HAVE_SINCOSL

/* Define to 1 if you have the `sinf' function. */
#undef HAVE_SINF

/* Define to 1 if you have the `sinhf' function. */
#undef HAVE_SINHF

/* Define to 1 if you have the `sinhl' function. */
#undef HAVE_SINHL

/* Define to 1 if you have the `sinl' function. */
#undef HAVE_SINL

/* Defined if sleep exists. */
#undef HAVE_SLEEP

/* Define to 1 if you have the `sockatmark' function. */
#undef HAVE_SOCKATMARK

/* Define to 1 if you have the `sqrtf' function. */
#undef HAVE_SQRTF

/* Define to 1 if you have the `sqrtl' function. */
#undef HAVE_SQRTL

/* Define if the <stacktrace> header is supported. */
#undef HAVE_STACKTRACE

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

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

/* 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 if strerror_l is available in <string.h>. */
#undef HAVE_STRERROR_L

/* Define if strerror_r is available in <string.h>. */
#undef HAVE_STRERROR_R

/* 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 `d_type' is a member of `struct dirent'. */
#undef HAVE_STRUCT_DIRENT_D_TYPE

/* Define if strxfrm_l is available in <string.h>. */
#undef HAVE_STRXFRM_L

/* Define if symlink is available in <unistd.h>. */
#undef HAVE_SYMLINK

/* Define to 1 if the target runtime linker supports binding the same symbol
   to different versions. */
#undef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT

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

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

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

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

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

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

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

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

/* Define to 1 if you have a suitable <sys/sdt.h> header file */
#undef HAVE_SYS_SDT_H

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

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

/* Define to 1 if you have the <sys/statvfs.h> header file. */
#undef HAVE_SYS_STATVFS_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/sysinfo.h> header file. */
#undef HAVE_SYS_SYSINFO_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/uio.h> header file. */
#undef HAVE_SYS_UIO_H

/* Define if S_IFREG is available in <sys/stat.h>. */
#undef HAVE_S_IFREG

/* Define if S_ISREG is available in <sys/stat.h>. */
#undef HAVE_S_ISREG

/* Define to 1 if you have the `tanf' function. */
#undef HAVE_TANF

/* Define to 1 if you have the `tanhf' function. */
#undef HAVE_TANHF

/* Define to 1 if you have the `tanhl' function. */
#undef HAVE_TANHL

/* Define to 1 if you have the `tanl' function. */
#undef HAVE_TANL

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

/* Define to 1 if you have the `timespec_get' function. */
#undef HAVE_TIMESPEC_GET

/* Define to 1 if the target supports thread-local storage. */
#undef HAVE_TLS

/* Define if truncate is available in <unistd.h>. */
#undef HAVE_TRUNCATE

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

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

/* Define if unlinkat is available in <fcntl.h>. */
#undef HAVE_UNLINKAT

/* Define to 1 if you have the `uselocale' function. */
#undef HAVE_USELOCALE

/* Defined if usleep exists. */
#undef HAVE_USLEEP

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

/* Defined if vfwscanf exists. */
#undef HAVE_VFWSCANF

/* Defined if vswscanf exists. */
#undef HAVE_VSWSCANF

/* Defined if vwscanf exists. */
#undef HAVE_VWSCANF

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

/* Defined if wcstof exists. */
#undef HAVE_WCSTOF

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

/* Defined if Sleep exists. */
#undef HAVE_WIN32_SLEEP

/* Define if writev is available in <sys/uio.h>. */
#undef HAVE_WRITEV

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

/* Define to 1 if you have the `_acosf' function. */
#undef HAVE__ACOSF

/* Define to 1 if you have the `_acosl' function. */
#undef HAVE__ACOSL

/* Define to 1 if you have the `_aligned_malloc' function. */
#undef HAVE__ALIGNED_MALLOC

/* Define to 1 if you have the `_asinf' function. */
#undef HAVE__ASINF

/* Define to 1 if you have the `_asinl' function. */
#undef HAVE__ASINL

/* Define to 1 if you have the `_atan2f' function. */
#undef HAVE__ATAN2F

/* Define to 1 if you have the `_atan2l' function. */
#undef HAVE__ATAN2L

/* Define to 1 if you have the `_atanf' function. */
#undef HAVE__ATANF

/* Define to 1 if you have the `_atanl' function. */
#undef HAVE__ATANL

/* Define to 1 if you have the `_ceilf' function. */
#undef HAVE__CEILF

/* Define to 1 if you have the `_ceill' function. */
#undef HAVE__CEILL

/* Define to 1 if you have the `_cosf' function. */
#undef HAVE__COSF

/* Define to 1 if you have the `_coshf' function. */
#undef HAVE__COSHF

/* Define to 1 if you have the `_coshl' function. */
#undef HAVE__COSHL

/* Define to 1 if you have the `_cosl' function. */
#undef HAVE__COSL

/* Define to 1 if you have the `_expf' function. */
#undef HAVE__EXPF

/* Define to 1 if you have the `_expl' function. */
#undef HAVE__EXPL

/* Define to 1 if you have the `_fabsf' function. */
#undef HAVE__FABSF

/* Define to 1 if you have the `_fabsl' function. */
#undef HAVE__FABSL

/* Define to 1 if you have the `_finite' function. */
#undef HAVE__FINITE

/* Define to 1 if you have the `_finitef' function. */
#undef HAVE__FINITEF

/* Define to 1 if you have the `_finitel' function. */
#undef HAVE__FINITEL

/* Define to 1 if you have the `_floorf' function. */
#undef HAVE__FLOORF

/* Define to 1 if you have the `_floorl' function. */
#undef HAVE__FLOORL

/* Define to 1 if you have the `_fmodf' function. */
#undef HAVE__FMODF

/* Define to 1 if you have the `_fmodl' function. */
#undef HAVE__FMODL

/* Define to 1 if you have the `_fpclass' function. */
#undef HAVE__FPCLASS

/* Define to 1 if you have the `_frexpf' function. */
#undef HAVE__FREXPF

/* Define to 1 if you have the `_frexpl' function. */
#undef HAVE__FREXPL

/* Define to 1 if you have the `_hypot' function. */
#undef HAVE__HYPOT

/* Define to 1 if you have the `_hypotf' function. */
#undef HAVE__HYPOTF

/* Define to 1 if you have the `_hypotl' function. */
#undef HAVE__HYPOTL

/* Define to 1 if you have the `_isinf' function. */
#undef HAVE__ISINF

/* Define to 1 if you have the `_isinff' function. */
#undef HAVE__ISINFF

/* Define to 1 if you have the `_isinfl' function. */
#undef HAVE__ISINFL

/* Define to 1 if you have the `_isnan' function. */
#undef HAVE__ISNAN

/* Define to 1 if you have the `_isnanf' function. */
#undef HAVE__ISNANF

/* Define to 1 if you have the `_isnanl' function. */
#undef HAVE__ISNANL

/* Define to 1 if you have the `_ldexpf' function. */
#undef HAVE__LDEXPF

/* Define to 1 if you have the `_ldexpl' function. */
#undef HAVE__LDEXPL

/* Define to 1 if you have the `_log10f' function. */
#undef HAVE__LOG10F

/* Define to 1 if you have the `_log10l' function. */
#undef HAVE__LOG10L

/* Define to 1 if you have the `_logf' function. */
#undef HAVE__LOGF

/* Define to 1 if you have the `_logl' function. */
#undef HAVE__LOGL

/* Define to 1 if you have the `_modf' function. */
#undef HAVE__MODF

/* Define to 1 if you have the `_modff' function. */
#undef HAVE__MODFF

/* Define to 1 if you have the `_modfl' function. */
#undef HAVE__MODFL

/* Define to 1 if you have the `_powf' function. */
#undef HAVE__POWF

/* Define to 1 if you have the `_powl' function. */
#undef HAVE__POWL

/* Define to 1 if you have the `_qfpclass' function. */
#undef HAVE__QFPCLASS

/* Define to 1 if you have the `_sincos' function. */
#undef HAVE__SINCOS

/* Define to 1 if you have the `_sincosf' function. */
#undef HAVE__SINCOSF

/* Define to 1 if you have the `_sincosl' function. */
#undef HAVE__SINCOSL

/* Define to 1 if you have the `_sinf' function. */
#undef HAVE__SINF

/* Define to 1 if you have the `_sinhf' function. */
#undef HAVE__SINHF

/* Define to 1 if you have the `_sinhl' function. */
#undef HAVE__SINHL

/* Define to 1 if you have the `_sinl' function. */
#undef HAVE__SINL

/* Define to 1 if you have the `_sqrtf' function. */
#undef HAVE__SQRTF

/* Define to 1 if you have the `_sqrtl' function. */
#undef HAVE__SQRTL

/* Define to 1 if you have the `_tanf' function. */
#undef HAVE__TANF

/* Define to 1 if you have the `_tanhf' function. */
#undef HAVE__TANHF

/* Define to 1 if you have the `_tanhl' function. */
#undef HAVE__TANHL

/* Define to 1 if you have the `_tanl' function. */
#undef HAVE__TANL

/* Define to 1 if you have the `_wfopen' function. */
#undef HAVE__WFOPEN

/* Define to 1 if you have the `__cxa_thread_atexit' function. */
#undef HAVE___CXA_THREAD_ATEXIT

/* Define to 1 if you have the `__cxa_thread_atexit_impl' function. */
#undef HAVE___CXA_THREAD_ATEXIT_IMPL

/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST

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

/* Name of package */
#undef PACKAGE

/* 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

/* Version number of package */
#undef VERSION

/* Enable large inode numbers on Mac OS X 10.5.  */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif

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

/* Define if C99 functions in <complex.h> should be used in <complex> for
   C++11. Using compiler builtins for these functions requires corresponding
   C99 library functions to be present. */
#undef _GLIBCXX11_USE_C99_COMPLEX

/* Define if C99 functions or macros in <math.h> should be imported in <cmath>
   in namespace std for C++11. */
#undef _GLIBCXX11_USE_C99_MATH

/* Define if C99 functions or macros in <stdio.h> should be imported in
   <cstdio> in namespace std for C++11. */
#undef _GLIBCXX11_USE_C99_STDIO

/* Define if C99 functions or macros in <stdlib.h> should be imported in
   <cstdlib> in namespace std for C++11. */
#undef _GLIBCXX11_USE_C99_STDLIB

/* Define if C99 functions or macros in <wchar.h> should be imported in
   <cwchar> in namespace std for C++11. */
#undef _GLIBCXX11_USE_C99_WCHAR

/* Define if C99 functions in <complex.h> should be used in <complex> for
   C++98. Using compiler builtins for these functions requires corresponding
   C99 library functions to be present. */
#undef _GLIBCXX98_USE_C99_COMPLEX

/* Define if C99 functions or macros in <math.h> should be imported in <cmath>
   in namespace std for C++98. */
#undef _GLIBCXX98_USE_C99_MATH

/* Define if C99 functions or macros in <stdio.h> should be imported in
   <cstdio> in namespace std for C++98. */
#undef _GLIBCXX98_USE_C99_STDIO

/* Define if C99 functions or macros in <stdlib.h> should be imported in
   <cstdlib> in namespace std for C++98. */
#undef _GLIBCXX98_USE_C99_STDLIB

/* Define if C99 functions or macros in <wchar.h> should be imported in
   <cwchar> in namespace std for C++98. */
#undef _GLIBCXX98_USE_C99_WCHAR

/* Define if the compiler supports C++11 atomics. */
#undef _GLIBCXX_ATOMIC_BUILTINS

/* Define to use concept checking code from the boost libraries. */
#undef _GLIBCXX_CONCEPT_CHECKS

/* Define to 1 if a fully dynamic basic_string is wanted, 0 to disable,
   undefined for platform defaults */
#undef _GLIBCXX_FULLY_DYNAMIC_STRING

/* Define if gthreads library is available. */
#undef _GLIBCXX_HAS_GTHREADS

/* Define to 1 if a full hosted library is built, or 0 if freestanding. */
#undef _GLIBCXX_HOSTED

/* Define if compatibility should be provided for alternative 128-bit long
   double formats. */
#undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT

/* Define if compatibility should be provided for -mlong-double-64. */
#undef _GLIBCXX_LONG_DOUBLE_COMPAT

/* Define to the letter to which size_t is mangled. */
#undef _GLIBCXX_MANGLE_SIZE_T

/* Define if C99 llrint and llround functions are missing from <math.h>. */
#undef _GLIBCXX_NO_C99_ROUNDING_FUNCS

/* Defined if no way to sleep is available. */
#undef _GLIBCXX_NO_SLEEP

/* Define if ptrdiff_t is int. */
#undef _GLIBCXX_PTRDIFF_T_IS_INT

/* Define if using setrlimit to set resource limits during "make check" */
#undef _GLIBCXX_RES_LIMITS

/* Define if size_t is unsigned int. */
#undef _GLIBCXX_SIZE_T_IS_UINT

/* Define to the value of the EOF integer constant. */
#undef _GLIBCXX_STDIO_EOF

/* Define to the value of the SEEK_CUR integer constant. */
#undef _GLIBCXX_STDIO_SEEK_CUR

/* Define to the value of the SEEK_END integer constant. */
#undef _GLIBCXX_STDIO_SEEK_END

/* Define to use symbol versioning in the shared library. */
#undef _GLIBCXX_SYMVER

/* Define to use darwin versioning in the shared library. */
#undef _GLIBCXX_SYMVER_DARWIN

/* Define to use GNU versioning in the shared library. */
#undef _GLIBCXX_SYMVER_GNU

/* Define to use GNU namespace versioning in the shared library. */
#undef _GLIBCXX_SYMVER_GNU_NAMESPACE

/* Define to use Sun versioning in the shared library. */
#undef _GLIBCXX_SYMVER_SUN

/* Define if C11 functions in <uchar.h> should be imported into namespace std
   in <cuchar>. */
#undef _GLIBCXX_USE_C11_UCHAR_CXX11

/* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>,
   <stdio.h>, and <stdlib.h> can be used or exposed. */
#undef _GLIBCXX_USE_C99

/* Define if C99 functions in <complex.h> should be used in <tr1/complex>.
   Using compiler builtins for these functions requires corresponding C99
   library functions to be present. */
#undef _GLIBCXX_USE_C99_COMPLEX_TR1

/* Define if C99 functions in <ctype.h> should be imported in <tr1/cctype> in
   namespace std::tr1. */
#undef _GLIBCXX_USE_C99_CTYPE_TR1

/* Define if C99 functions in <fenv.h> should be imported in <tr1/cfenv> in
   namespace std::tr1. */
#undef _GLIBCXX_USE_C99_FENV_TR1

/* Define if C99 functions in <inttypes.h> should be imported in
   <tr1/cinttypes> in namespace std::tr1. */
#undef _GLIBCXX_USE_C99_INTTYPES_TR1

/* Define if wchar_t C99 functions in <inttypes.h> should be imported in
   <tr1/cinttypes> in namespace std::tr1. */
#undef _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1

/* Define if C99 functions or macros in <math.h> should be imported in
   <tr1/cmath> in namespace std::tr1. */
#undef _GLIBCXX_USE_C99_MATH_TR1

/* Define if C99 types in <stdint.h> should be imported in <tr1/cstdint> in
   namespace std::tr1. */
#undef _GLIBCXX_USE_C99_STDINT_TR1

/* Defined if clock_gettime syscall has monotonic and realtime clock support.
   */
#undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL

/* Defined if clock_gettime has monotonic clock support. */
#undef _GLIBCXX_USE_CLOCK_MONOTONIC

/* Defined if clock_gettime has realtime clock support. */
#undef _GLIBCXX_USE_CLOCK_REALTIME

/* Define if ISO/IEC TR 24733 decimal floating point types are supported on
   this host. */
#undef _GLIBCXX_USE_DECIMAL_FLOAT

/* Define if /dev/random and /dev/urandom are available for
   std::random_device. */
#undef _GLIBCXX_USE_DEV_RANDOM

/* Define if fchmod is available in <sys/stat.h>. */
#undef _GLIBCXX_USE_FCHMOD

/* Define if fchmodat is available in <sys/stat.h>. */
#undef _GLIBCXX_USE_FCHMODAT

/* Defined if gettimeofday is available. */
#undef _GLIBCXX_USE_GETTIMEOFDAY

/* Define if get_nprocs is available in <sys/sysinfo.h>. */
#undef _GLIBCXX_USE_GET_NPROCS

/* Define if LFS support is available. */
#undef _GLIBCXX_USE_LFS

/* Define if code specialized for long long should be used. */
#undef _GLIBCXX_USE_LONG_LONG

/* Define if lstat is available in <sys/stat.h>. */
#undef _GLIBCXX_USE_LSTAT

/* Defined if nanosleep is available. */
#undef _GLIBCXX_USE_NANOSLEEP

/* Define if NLS translations are to be used. */
#undef _GLIBCXX_USE_NLS

/* Define if pthreads_num_processors_np is available in <pthread.h>. */
#undef _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP

/* Define if pthread_cond_clockwait is available in <pthread.h>. */
#undef _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT

/* Define if pthread_mutex_clocklock is available in <pthread.h>. */
#undef _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK

/* Define if pthread_rwlock_clockrdlock and pthread_rwlock_clockwrlock are
   available in <pthread.h>. */
#undef _GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK

/* Define if POSIX read/write locks are available in <gthr.h>. */
#undef _GLIBCXX_USE_PTHREAD_RWLOCK_T

/* Define if /dev/random and /dev/urandom are available for the random_device
   of TR1 (Chapter 5.1). */
#undef _GLIBCXX_USE_RANDOM_TR1

/* Define if usable realpath is available in <stdlib.h>. */
#undef _GLIBCXX_USE_REALPATH

/* Defined if sched_yield is available. */
#undef _GLIBCXX_USE_SCHED_YIELD

/* Define if _SC_NPROCESSORS_ONLN is available in <unistd.h>. */
#undef _GLIBCXX_USE_SC_NPROCESSORS_ONLN

/* Define if _SC_NPROC_ONLN is available in <unistd.h>. */
#undef _GLIBCXX_USE_SC_NPROC_ONLN

/* Define if sendfile is available in <sys/sendfile.h>. */
#undef _GLIBCXX_USE_SENDFILE

/* Define to restrict std::__basic_file<> to stdio APIs. */
#undef _GLIBCXX_USE_STDIO_PURE

/* Define if struct stat has timespec members. */
#undef _GLIBCXX_USE_ST_MTIM

/* Define if sysctl(), CTL_HW and HW_NCPU are available in <sys/sysctl.h>. */
#undef _GLIBCXX_USE_SYSCTL_HW_NCPU

/* Define if obsolescent tmpnam is available in <stdio.h>. */
#undef _GLIBCXX_USE_TMPNAM

/* Define if c8rtomb and mbrtoc8 functions in <uchar.h> should be imported
   into namespace std in <cuchar> for C++20. */
#undef _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20

/* Define if c8rtomb and mbrtoc8 functions in <uchar.h> should be imported
   into namespace std in <cuchar> for -fchar8_t. */
#undef _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_FCHAR8_T

/* Define if utime is available in <utime.h>. */
#undef _GLIBCXX_USE_UTIME

/* Define if utimensat and UTIME_OMIT are available in <sys/stat.h> and
   AT_FDCWD in <fcntl.h>. */
#undef _GLIBCXX_USE_UTIMENSAT

/* Define if code specialized for wchar_t should be used. */
#undef _GLIBCXX_USE_WCHAR_T

/* Define to 1 if a verbose library is built, or 0 otherwise. */
#undef _GLIBCXX_VERBOSE

/* Defined if as can handle rdrand. */
#undef _GLIBCXX_X86_RDRAND

/* Defined if as can handle rdseed. */
#undef _GLIBCXX_X86_RDSEED

/* Define to 1 if mutex_timedlock is available. */
#undef _GTHREAD_USE_MUTEX_TIMEDLOCK

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

/* Define if all C++11 floating point overloads are available in <math.h>.  */
#if __cplusplus >= 201103L
#undef __CORRECT_ISO_CPP11_MATH_H_PROTO_FP
#endif

/* Define if all C++11 integral type overloads are available in <math.h>.  */
#if __cplusplus >= 201103L
#undef __CORRECT_ISO_CPP11_MATH_H_PROTO_INT
#endif

#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF)
# define HAVE_ACOSF 1
# define acosf _acosf
#endif

#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL)
# define HAVE_ACOSL 1
# define acosl _acosl
#endif

#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF)
# define HAVE_ASINF 1
# define asinf _asinf
#endif

#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL)
# define HAVE_ASINL 1
# define asinl _asinl
#endif

#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F)
# define HAVE_ATAN2F 1
# define atan2f _atan2f
#endif

#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L)
# define HAVE_ATAN2L 1
# define atan2l _atan2l
#endif

#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF)
# define HAVE_ATANF 1
# define atanf _atanf
#endif

#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL)
# define HAVE_ATANL 1
# define atanl _atanl
#endif

#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF)
# define HAVE_CEILF 1
# define ceilf _ceilf
#endif

#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL)
# define HAVE_CEILL 1
# define ceill _ceill
#endif

#if defined (HAVE__COSF) && ! defined (HAVE_COSF)
# define HAVE_COSF 1
# define cosf _cosf
#endif

#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF)
# define HAVE_COSHF 1
# define coshf _coshf
#endif

#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL)
# define HAVE_COSHL 1
# define coshl _coshl
#endif

#if defined (HAVE__COSL) && ! defined (HAVE_COSL)
# define HAVE_COSL 1
# define cosl _cosl
#endif

#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF)
# define HAVE_EXPF 1
# define expf _expf
#endif

#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL)
# define HAVE_EXPL 1
# define expl _expl
#endif

#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF)
# define HAVE_FABSF 1
# define fabsf _fabsf
#endif

#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL)
# define HAVE_FABSL 1
# define fabsl _fabsl
#endif

#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE)
# define HAVE_FINITE 1
# define finite _finite
#endif

#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF)
# define HAVE_FINITEF 1
# define finitef _finitef
#endif

#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL)
# define HAVE_FINITEL 1
# define finitel _finitel
#endif

#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF)
# define HAVE_FLOORF 1
# define floorf _floorf
#endif

#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL)
# define HAVE_FLOORL 1
# define floorl _floorl
#endif

#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF)
# define HAVE_FMODF 1
# define fmodf _fmodf
#endif

#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL)
# define HAVE_FMODL 1
# define fmodl _fmodl
#endif

#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS)
# define HAVE_FPCLASS 1
# define fpclass _fpclass
#endif

#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF)
# define HAVE_FREXPF 1
# define frexpf _frexpf
#endif

#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL)
# define HAVE_FREXPL 1
# define frexpl _frexpl
#endif

#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT)
# define HAVE_HYPOT 1
# define hypot _hypot
#endif

#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF)
# define HAVE_HYPOTF 1
# define hypotf _hypotf
#endif

#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL)
# define HAVE_HYPOTL 1
# define hypotl _hypotl
#endif

#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF)
# define HAVE_ISINF 1
# define isinf _isinf
#endif

#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF)
# define HAVE_ISINFF 1
# define isinff _isinff
#endif

#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL)
# define HAVE_ISINFL 1
# define isinfl _isinfl
#endif

#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN)
# define HAVE_ISNAN 1
# define isnan _isnan
#endif

#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF)
# define HAVE_ISNANF 1
# define isnanf _isnanf
#endif

#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL)
# define HAVE_ISNANL 1
# define isnanl _isnanl
#endif

#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF)
# define HAVE_LDEXPF 1
# define ldexpf _ldexpf
#endif

#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL)
# define HAVE_LDEXPL 1
# define ldexpl _ldexpl
#endif

#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F)
# define HAVE_LOG10F 1
# define log10f _log10f
#endif

#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L)
# define HAVE_LOG10L 1
# define log10l _log10l
#endif

#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF)
# define HAVE_LOGF 1
# define logf _logf
#endif

#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL)
# define HAVE_LOGL 1
# define logl _logl
#endif

#if defined (HAVE__MODF) && ! defined (HAVE_MODF)
# define HAVE_MODF 1
# define modf _modf
#endif

#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF)
# define HAVE_MODFF 1
# define modff _modff
#endif

#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL)
# define HAVE_MODFL 1
# define modfl _modfl
#endif

#if defined (HAVE__POWF) && ! defined (HAVE_POWF)
# define HAVE_POWF 1
# define powf _powf
#endif

#if defined (HAVE__POWL) && ! defined (HAVE_POWL)
# define HAVE_POWL 1
# define powl _powl
#endif

#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS)
# define HAVE_QFPCLASS 1
# define qfpclass _qfpclass
#endif

#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS)
# define HAVE_SINCOS 1
# define sincos _sincos
#endif

#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF)
# define HAVE_SINCOSF 1
# define sincosf _sincosf
#endif

#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL)
# define HAVE_SINCOSL 1
# define sincosl _sincosl
#endif

#if defined (HAVE__SINF) && ! defined (HAVE_SINF)
# define HAVE_SINF 1
# define sinf _sinf
#endif

#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF)
# define HAVE_SINHF 1
# define sinhf _sinhf
#endif

#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL)
# define HAVE_SINHL 1
# define sinhl _sinhl
#endif

#if defined (HAVE__SINL) && ! defined (HAVE_SINL)
# define HAVE_SINL 1
# define sinl _sinl
#endif

#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF)
# define HAVE_SQRTF 1
# define sqrtf _sqrtf
#endif

#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL)
# define HAVE_SQRTL 1
# define sqrtl _sqrtl
#endif

#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF)
# define HAVE_STRTOF 1
# define strtof _strtof
#endif

#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD)
# define HAVE_STRTOLD 1
# define strtold _strtold
#endif

#if defined (HAVE__TANF) && ! defined (HAVE_TANF)
# define HAVE_TANF 1
# define tanf _tanf
#endif

#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF)
# define HAVE_TANHF 1
# define tanhf _tanhf
#endif

#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL)
# define HAVE_TANHL 1
# define tanhl _tanhl
#endif

#if defined (HAVE__TANL) && ! defined (HAVE_TANL)
# define HAVE_TANL 1
# define tanl _tanl
#endif
