/* fficonfig.h.in.  Generated automatically from configure.in by autoheader.  */

/* Define if using alloca.c.  */
#undef C_ALLOCA

/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
   This function is required for alloca.c support on those systems.  */
#undef CRAY_STACKSEG_END

/* Define if you have alloca, as a function or macro.  */
#undef HAVE_ALLOCA

/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
#undef HAVE_ALLOCA_H

/* If using the C implementation of alloca, define if you know the
   direction of stack growth for your system; otherwise it will be
   automatically deduced at run-time.
 STACK_DIRECTION > 0 => grows toward higher addresses
 STACK_DIRECTION < 0 => grows toward lower addresses
 STACK_DIRECTION = 0 => direction of growth unknown
 */
#undef STACK_DIRECTION

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

/* Define if you have the memcpy function.  */
#undef HAVE_MEMCPY

/* Define if read-only mmap of a plain file works. */
#undef HAVE_MMAP_FILE

/* Define if mmap of /dev/zero works. */
#undef HAVE_MMAP_DEV_ZERO

/* Define if mmap with MAP_ANON(YMOUS) works. */
#undef HAVE_MMAP_ANON

/* The number of bytes in type double */
#undef SIZEOF_DOUBLE

/* The number of bytes in type long double */
#undef SIZEOF_LONG_DOUBLE

/* Define if you have the long double type and it is bigger than a double */
#undef HAVE_LONG_DOUBLE

/* whether byteorder is bigendian */
#undef WORDS_BIGENDIAN

/* Define if the host machine stores words of multi-word integers in
   big-endian order. */
#undef HOST_WORDS_BIG_ENDIAN

/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
#undef BYTEORDER

/* Define if your assembler and linker support unaligned PC relative relocs. */
#undef HAVE_AS_SPARC_UA_PCREL

/* Define if your assembler supports .register. */
#undef HAVE_AS_REGISTER_PSEUDO_OP

/* Define if .eh_frame sections should be read-only. */
#undef HAVE_RO_EH_FRAME

/* Define to the flags needed for the .section .eh_frame directive. */
#undef EH_FRAME_FLAGS

/* Define to the flags needed for the .section .eh_frame directive. */
#undef EH_FRAME_FLAGS

/* Define this if you want extra debugging. */
#undef FFI_DEBUG

/* Define this is you do not want support for aggregate types. */
#undef FFI_NO_STRUCTS

/* Define this is you do not want support for the raw API. */
#undef FFI_NO_RAW_API

/* Define this if you are using Purify and want to suppress spurious messages. */
#undef USING_PURIFY

