/* include/config.h.in.  Generated automatically from configure.in by autoheader.  */

/* Define to empty if the keyword does not work.  */
#undef const

/* Define to `unsigned' if <sys/types.h> doesn't define.  */
#undef size_t

/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
#undef STAT_MACROS_BROKEN

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

/* Define if the X Window System is missing or not being used.  */
#undef X_DISPLAY_MISSING

/* Define if symbols declared in assembly code need an underscore prefix */
#undef NEED_UNDERSCORE_PREFIX

/* Define to use .string instead of .ascii */
#undef HAVE_ASM_STRING

/* Define if union semun is defined in sys/sem.h */
#undef HAVE_UNION_SEMUN

/* Define if struct msghdr contains msg_accrights */
#undef HAVE_MSGHDR_ACCRIGHTS

/* Define if you have the Xxf86dga library (-lXxf86dga).  */
#undef HAVE_LIBXXF86DGA

/* Define if you have the X Shm extension */
#undef HAVE_LIBXXSHM

/* Define if you have the Xxf86vm library */
#undef HAVE_LIBXXF86VM

/* Define if you have the Open Sound system.  */
#undef HAVE_OSS

/* Define if X libraries are not reentrant (compiled without -D_REENTRANT).  */
#undef NO_REENTRANT_X11

/* Define if libc is not reentrant  */
#undef NO_REENTRANT_LIBC

/* Define if all debug messages are to be compiled out */
#undef NO_DEBUG_MSGS

/* Define if TRACE messages are to be compiled out */
#undef NO_TRACE_MSGS

/* Define if the struct statfs has the member bavail */
#undef STATFS_HAS_BAVAIL

/* Define if the struct statfs has the member bfree */
#undef STATFS_HAS_BFREE

/* Define if we have a working sigaltstack */
#undef HAVE_WORKING_SIGALTSTACK

/* Define if the struct statfs is defined by <sys/vfs.h> */
#undef STATFS_DEFINED_BY_SYS_VFS

/* Define if the struct statfs is defined by <sys/statfs.h> */
#undef STATFS_DEFINED_BY_SYS_STATFS

/* Define if the struct statfs is defined by <sys/mount.h> */
#undef STATFS_DEFINED_BY_SYS_MOUNT

/* Define if ncurses have the new resizeterm function */
#undef HAVE_RESIZETERM

/* Define if IPX should use netipx/ipx.h from libc */
#undef HAVE_IPX_GNU

/* Define if IPX includes are taken from Linux kernel */
#undef HAVE_IPX_LINUX

/* Define if Mesa is present on the system or not */
#undef HAVE_MESAGL

/* The number of bytes in a long long.  */
#undef SIZEOF_LONG_LONG

/* Define if you have the clone function.  */
#undef HAVE_CLONE

/* Define if you have the gethostbyname function.  */
#undef HAVE_GETHOSTBYNAME

/* Define if you have the getpagesize function.  */
#undef HAVE_GETPAGESIZE

/* Define if you have the memmove function.  */
#undef HAVE_MEMMOVE

/* Define if you have the sendmsg function.  */
#undef HAVE_SENDMSG

/* Define if you have the sigaltstack function.  */
#undef HAVE_SIGALTSTACK

/* Define if you have the strerror function.  */
#undef HAVE_STRERROR

/* Define if you have the stricmp function.  */
#undef HAVE_STRICMP

/* Define if you have the tcgetattr function.  */
#undef HAVE_TCGETATTR

/* Define if you have the timegm function.  */
#undef HAVE_TIMEGM

/* Define if you have the usleep function.  */
#undef HAVE_USLEEP

/* Define if you have the vfscanf function.  */
#undef HAVE_VFSCANF

/* Define if you have the wait4 function.  */
#undef HAVE_WAIT4

/* Define if you have the waitpid function.  */
#undef HAVE_WAITPID

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

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

/* Define if you have the <linux/cdrom.h> header file.  */
#undef HAVE_LINUX_CDROM_H

/* Define if you have the <linux/ucdrom.h> header file.  */
#undef HAVE_LINUX_UCDROM_H

/* Define if you have the <machine/soundcard.h> header file.  */
#undef HAVE_MACHINE_SOUNDCARD_H

/* Define if you have the <net/if.h> header file.  */
#undef HAVE_NET_IF_H

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

/* Define if you have the <soundcard.h> header file.  */
#undef HAVE_SOUNDCARD_H

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

/* Define if you have the <sys/cdio.h> header file.  */
#undef HAVE_SYS_CDIO_H

/* Define if you have the <sys/file.h> header file.  */
#undef HAVE_SYS_FILE_H

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

/* Define if you have the <sys/modem.h> header file.  */
#undef HAVE_SYS_MODEM_H

/* Define if you have the <sys/mount.h> header file.  */
#undef HAVE_SYS_MOUNT_H

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

/* Define if you have the <sys/sockio.h> header file.  */
#undef HAVE_SYS_SOCKIO_H

/* Define if you have the <sys/soundcard.h> header file.  */
#undef HAVE_SYS_SOUNDCARD_H

/* Define if you have the <sys/statfs.h> header file.  */
#undef HAVE_SYS_STATFS_H

/* Define if you have the <sys/strtio.h> header file.  */
#undef HAVE_SYS_STRTIO_H

/* Define if you have the <sys/syscall.h> header file.  */
#undef HAVE_SYS_SYSCALL_H

/* Define if you have the <sys/vfs.h> header file.  */
#undef HAVE_SYS_VFS_H

/* Define if you have the <syscall.h> header file.  */
#undef HAVE_SYSCALL_H

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

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

/* Define if you have the curses library (-lcurses).  */
#undef HAVE_LIBCURSES

/* Define if you have the dl library (-ldl).  */
#undef HAVE_LIBDL

/* Define if you have the i386 library (-li386).  */
#undef HAVE_LIBI386

/* Define if you have the ncurses library (-lncurses).  */
#undef HAVE_LIBNCURSES

/* Define if you have the nsl library (-lnsl).  */
#undef HAVE_LIBNSL

/* Define if you have the ossaudio library (-lossaudio).  */
#undef HAVE_LIBOSSAUDIO

/* Define if you have the socket library (-lsocket).  */
#undef HAVE_LIBSOCKET

/* Define if you have the w library (-lw).  */
#undef HAVE_LIBW

/* Define if you have the xpg4 library (-lxpg4).  */
#undef HAVE_LIBXPG4
