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

/* 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 <dirent.h> header file. */
#undef HAVE_DIRENT_H

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

/* Define if EBADMSG exists. */
#undef HAVE_EBADMSG

/* Define if ECANCELED exists. */
#undef HAVE_ECANCELED

/* Define if ECHILD exists. */
#undef HAVE_ECHILD

/* Define if EIDRM exists. */
#undef HAVE_EIDRM

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

/* Define if ENODATA exists. */
#undef HAVE_ENODATA

/* Define if ENOLINK exists. */
#undef HAVE_ENOLINK

/* Define if ENOSPC exists. */
#undef HAVE_ENOSPC

/* Define if ENOSR exists. */
#undef HAVE_ENOSR

/* Define if ENOSTR exists. */
#undef HAVE_ENOSTR

/* Define if ENOTRECOVERABLE exists. */
#undef HAVE_ENOTRECOVERABLE

/* Define if ENOTSUP exists. */
#undef HAVE_ENOTSUP

/* Define if EOVERFLOW exists. */
#undef HAVE_EOVERFLOW

/* Define if EOWNERDEAD exists. */
#undef HAVE_EOWNERDEAD

/* Define if EPERM exists. */
#undef HAVE_EPERM

/* Define if EPROTO exists. */
#undef HAVE_EPROTO

/* Define if ETIME exists. */
#undef HAVE_ETIME

/* Define if ETIMEDOUT exists. */
#undef HAVE_ETIMEDOUT

/* Define if ETXTBSY exists. */
#undef HAVE_ETXTBSY

/* Define if EWOULDBLOCK exists. */
#undef HAVE_EWOULDBLOCK

/* 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 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 _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 if int64_t is available in <stdint.h>. */
#undef HAVE_INT64_T

/* Define if int64_t is a long. */
#undef HAVE_INT64_T_LONG

/* Define if int64_t is a long long. */
#undef HAVE_INT64_T_LONG_LONG

/* 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 futex syscall is available. */
#undef HAVE_LINUX_FUTEX

/* 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 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 poll is available in <poll.h>. */
#undef HAVE_POLL

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

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

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

/* 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 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/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/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 the target supports thread-local storage. */
#undef HAVE_TLS

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

/* 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 `_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 `__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

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

/* 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 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 __int128 is supported on this host. */
#undef _GLIBCXX_USE_INT128

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

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

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

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