/* Copyright (c) 1999 Stephen F. White (GPL)*/

#ifndef CONFIG_H
#define CONFIG_H

/* define if you want to able to open a X3D/XML file via a translator */
#define READ_XML 1

/* define if you want to able to save to a X3D/XML file via a translator */
#define WRITE_XML 1

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

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

/* Define if you have the expat Library */
#undef HAVE_LIBEXPAT

/* Define if you have the IL Library */
#undef HAVE_LIBIL

/* Define if you have the ILU Library  */
#undef HAVE_LIBILU

/* IL + ILU = DevIL */

#ifdef HAVE_LIBIL
# ifdef HAVE_LIBILU
#  define HAVE_LIBDEVIL 1
# endif
#endif

/* Define if you have the jpeg Library */
#undef HAVE_LIBJPEG

/* Define if you have the png Library  */
#undef HAVE_LIBPNG

/* Define if the link of the png Library fails cause of png_handle_unknown */
#undef HAVE_NO_PNG_HANDLE_UNKNOWN

/* Define if you want to use the gif loading routines */
#undef HAVE_GIF

/* Define if you have the z Library  */
#undef HAVE_LIBZ

/* define if you use the spaceball library */
#undef HAVE_LIBSBALL

/* define if you have the libusb library */
#ifndef __CYGWIN__
# undef HAVE_LIBUSB
#endif

/* define if you use the open dynamcis engine library */
#undef HAVE_LIBODE

/* define if you want to convert to The Nebula Device 3D engine ("sanddune") */
#undef HAVE_SAND

/* Define if you have snprintf.  */
#undef HAVE_SNPRINTF

#ifndef HAVE_SNPRINTF
#   define snprintf mysnprintf
#endif

/* Define if you have glDeleteTextures.  */
#undef HAVE_GLDELETETEXTURES

/* Define if you have glGenTextures.  */
#undef HAVE_GLGENTEXTURES

/* Define if you have glBindTexture.  */
#undef HAVE_GLBINDTEXTURE

/* Define if you have OSMesaCreateContext */
#undef HAVE_OSMESACREATECONTEXT

#ifdef HAVE_OSMESACREATECONTEXT
# define HAVE_MESA_OFF_SCREEN_RENDERING 1 
#endif

/* Define if you have OSMesaCreateContextExt */
#undef HAVE_OSMESACREATECONTEXTEXT

#ifdef HAVE_OSMESACREATECONTEXTEXT
# define HAVE_MESA_OFF_SCREEN_RENDERING 1 
#endif

/* Define if you have gluNewTess.  */
#undef HAVE_GLUNEWTESS

/* Define if you have _GLUfuncptr.  */
#undef HAVE_GLU_FUNC_PTR

#ifdef HAVE_GLU_FUNC_PTR
# define MY_GLU_CALLBACK_PTR _GLUfuncptr
#else
# define MY_GLU_CALLBACK_PTR GLvoid (*)()
#endif

/* Define if you have gettimeofday.  */
#undef HAVE_GETTIMEOFDAY

/* Define if you have powf. */
#undef HAVE_POWF

/* Define if you have powl. */
#undef HAVE_POWL

/* Define if you have rint. */
#undef HAVE_RINT

/* Define if you have atexit. */
#undef HAVE_ATEXIT

/* Define if you have _exit. */
#undef HAVE__EXIT

#ifdef HAVE_ATEXIT
# ifdef HAVE__EXIT
#  define EXIT_HANDLER
# endif
#endif

/* Define if you have stdarg.h */ 
#undef HAVE_STDARG_H

/* Define if you have varargs.h */ 
#undef HAVE_VARARGS_H

/* Define if you have signal_handler(int) */
#undef HAVE_SIGNAL_INT

#ifdef __CYGWIN__
# define HAVE_SIGNAL_INT 1 
#endif

/* Define if your computer is a OLPC ("one laptop per child") */
#undef HAVE_OLPC

/* Define if you want double size icons (automatically set on OLPC) */
#undef HAVE_ICON_SCALE_2

/* Define if your C++ compiler support "typename" */
#undef HAVE_TYPENAME

#ifdef HAVE_TYPENAME
# define TYPENAME typename
#else
# define TYPENAME
#endif

/* Define if you suspect a problem with a older motif/lesstif version */ 
#undef HAVE_OLD_MOTIF

/* 
   Define to disable the function, if file -> textedit do not return. 
   This has been occured in glXDestroyContext on a radeon graphics card 
   on FreeBSD 5.0-RELEASE. 
   This is possibly a bug in the file -> textedit implementation itself 8-(
*/
#undef HAVE_NO_TEXTEDIT

/* Define if you want euler angles instead of VRML like rotations */
#undef HAVE_EULER_ROT

/* define if ROUTE statements should be at the end of the VRML file */ 
#undef HAVE_ROUTE_AT_END

/* 
  command to switch into quadbuffer stereomode 
  e.g. "/usr/gfx/setmon -n 1024x768_96s"
  on some SGI IRIX systems
*/ 
#undef HAVE_STEREOCOMMAND

/* define if you do not have shutterglases */
#undef HAVE_NO_STEREO

/* define if you have a Joystick under Linux */
#undef LINUX_JOYSTICK

/* define if you have a Joystick under M$Windows */
#undef WINDOWS_JOYSTICK

/* define if you have a P5 data glove under M$Windows */
#undef HAVE_WINDOWS_P5

/* define if you have a space navigator device under M$Windows XP */
#undef WINDOWS_SPACEBALL

/* defined if a Joystick supported by the SDLjoystick directory was detected */
#undef HAVE_SDL_JOYSTICK

/* if libusb is available, nxtdials would work */
#ifdef HAVE_LIBUSB
# define HAVE_NXT_DIALS 1
#endif

/* define if you have a xinput device like magellan or spaceball */
#undef HAVE_XINPUT

/* undefine if you dont want support for a Ascention Flock of birds tracker */
#ifndef __CYGWIN__
# define HAVE_AFLOCK 1 /* now aways true */
#endif

/* define if you have c_ospeed in the termios struct */
#undef HAVE_C_OSPEED

/* define if you want to see debug messsages for update requests for the 
   different views/windows */
#undef HAVE_UPDATE_DEBUG

/* define if you want to see debug messsages for Ascention Flock of birds 
   tracker */
#undef HAVE_AFLOCK_DEBUG

/* define if you want the menu in german language */
#undef HAVE_MENU_GERMAN

/* where the java engine exist */
#undef JAVA_PATH

/*  
    switch off emergencysave signalhandling 
    Useful for testing, or if the signalhandling code do not match your system
 */
#undef HAVE_WANT_CORE

/* Define if you have _FPU_SETCW to enable fpu interrupts (i386 Linux) */
#undef HAVE_FPU_SETCW

#ifdef HAVE_FPU_SETCW
# define HAVE_FPU_ENABLE_INTERRUPTS 1
#endif

/* Define if you have handle_sigfpes to enable fpu interrupts (IRIX) */
#undef HAVE_HANDLE_SIGFPES

#ifdef HAVE_HANDLE_SIGFPES
# define HAVE_FPU_ENABLE_INTERRUPTS 1
#endif

/* Define if you need to define _XOPEN_SOURCE 600 to use fpclassify */
#undef HAVE_XOPEN_SOURCE_4_FPCLASSIFY

/* Define if you have fpclassify to test for floating point NAN and INFINITE */
#undef HAVE_FPCLASSIFY

/* Define if you have isless to test for floating point INFINITE or -INFINITE */
#undef HAVE_ISLESS

/* Define if you have a working C++ new handler */
#undef HAVE_NEW_HANDLER

/* Define if you have a working new style C++ new handler */
#undef HAVE_NEW_NEW_HANDLER

/* 
   add a extra submenu useful for teaching things
 */
#undef HAVE_TEACHER_MENU

/* 
   insert a extra menupoint for testing new things, look for 
   MainWindow::testInMenu() in MainWindow.cpp to see how to use this menupoint 
 */
#undef HAVE_TEST_IN_MENU

/* www browser to view html/vrml files*/
#undef HAVE_WWW_BROWSER

/* vrml browser to view vrml files*/
#undef HAVE_VRML_BROWSER

/* vrml browser to view vrml files with a remote command*/
#undef HAVE_VRML_REMOTE_BROWSER

/* object editor for bitmap (.png/.jpg/.gif) files */
#undef HAVE_IMAGE_EDITOR

/* easy object editor for bitmap (.png/.jpg/.gif) files for beginners */
#undef HAVE_IMAGE_EDITOR4KIDS

/* object editor for sound (.wav/.midi) files */
#undef HAVE_SOUND_EDITOR

/* object editor for movie (.mpeg) files */
#undef HAVE_MOVIE_EDITOR

/* 
  default non interactive of graphical checkin command of a revision control 
  system such as rcs, csv, svn etc.
*/
#undef HAVE_CHECK_IN_COMMAND

/* converter to convert from bitmap (.png/.jpg/.gif) files to bmp files for ac3d export*/
#undef HAVE_IMAGE_CONVERTER

/* Define if you want to set the URL of the helppages */
#undef HAVE_HELP_URL

/* Define if you want to set the URL of the vrml node list */
#undef HAVE_VRML_NODES_URL 

/* Define if you want to set the URL of the x3d standard (base url) */
#undef HAVE_X3D_URL 

/* Define if you want to try to get "edit -> cut" working */
#undef HAVE_CUT

/* Define if you want to use the nonstandard "mode" field in TextureImage */
#undef HAVE_TEXTUREIMAGE_MODE

/* Define if you want to use the deprecated "Wave" node of the cover browser */
#undef HAVE_COVER_WAVE

/* Define if you want to use the incomplete "TUIMap" node of the cover browser */
#undef HAVE_COVER_TUI_MAP

/* Define if opening a new file require a new window */
#undef HAVE_OPEN_IN_NEW_WINDOW

/* Define if you want to use the special component name "xj3d_RigidBodyPhysics" */
#undef HAVE_XJ3D_RIGID_BODY_PHYSICS_COMPONENT

/* 
   Define if you do not want to automatically replace "vrmlscript:" 
   (e.g. made by cosmoworlds 1.02)  with "javascript:" in URLs 
   ("vrmlscript" not recommended for VRML97 compatibility) 
*/
#undef HAVE_DONT_REPLACE_VRMLSCRIPT

/*  
   Define if you want to set the location where to find the PROTOs of the 
   VRML97 Amendment1 nodes 
*/
#undef HAVE_VRML97_AMENDMENT1_PROTO_URL

/*  
   Define if you want to set the location where to find the PROTOs of the 
   X3D nodes 
*/
#undef HAVE_X3D_PROTO_URL

/*  
   Define if you want to set the location where to find the PROTOs of the 
   nodes, which are implemented only via scripts
*/
#undef HAVE_SCRIPTED_NODES_PROTO_URL

/*  
   Define if you want to set the location where to find the PROTOs of the 
   nodes, which are placeholders for unportable Cover/Covise nodes
*/
#undef HAVE_COVER_NODES_PROTO_URL

/*
   Define if you want to set the location where to find the PROTOs of the
   nodes, which are placeholders for nodes used as container for data of
   exportable fileformat
*/
#undef HAVE_EXPORT_CONTAINER_PROTO_URL

/* 
   Define if you want to document the method to uninstall white_dune
*/
#undef HAVE_UNINSTALL_COMMENT

/* 
   Define command to start X11 (only important on the MacOS X desktop)
*/
#undef HAVE_X11STARTCOMMAND

/*
   Define command to convert .x3dv (ISO19776-2) files to .x3d (ISO19776-1) files
*/
#undef HAVE_X3DV_TO_X3D_COMMAND

#if ((__GNUC__!=2) || (__GNUC_MINOR__!=8))
# define HAVE_GNUC_ECGS_2_8 1
#endif

/*
   Define if the executable should only run with Windows XP and newer
 */
#undef HAVE_WINDOWS_XP

/*
   Define if the Compiler/M$Windows version supports
   Data Execution Prevention (DEP) / No eXecute (NX) 
*/
#undef HAVE_WINDOWS_NX

/*
   Define the serial device (for devices like flock of birds)
*/
#undef SERIAL_DEVICE

#ifndef SERIAL_DEVICE
# ifdef __linux__ 
#  define SERIAL_DEVICE "/dev/ttyS"
# else
#  ifdef IRIX
#   define SERIAL_DEVICE "/dev/ttyd"
#  else
#   ifdef AIX
#    define SERIAL_DEVICE "/dev/tty"
#   else
#    ifdef MACOSX
#     define SERIAL_DEVICE "/dev/tty.modem"
#    else
#     ifdef __FreeBSD__
#      define SERIAL_DEVICE "/dev/ttyd"
#     else
#      ifdef __sun
#       define SERIAL_DEVICE "/dev/term/a"
#      else
#       ifdef __sgi
#        define SERIAL_DEVICE "/dev/ttyd"
#       else
#        ifdef __OpenBSD__
#         define SERIAL_DEVICE "/dev/ttyd"
#        else
#         define SERIAL_DEVICE "/dev/tty"
#        endif
#       endif
#      endif
#     endif
#    endif
#   endif
#  endif
# endif
#endif

/*
   Define the offset of first available serial device
 */

#undef OFFSET_SERIAL_DEVICE
#undef HAVE_NO_OFFSET_SERIAL_DEVICE

#ifndef OFFSET_SERIAL_DEVICE
# ifdef __linux__ 
#  define OFFSET_SERIAL_DEVICE 0
# else
#  ifdef IRIX
#   define OFFSET_SERIAL_DEVICE 1
#  else
#   ifdef AIX
#    define OFFSET_SERIAL_DEVICE 0
#   else
#    ifdef MACOSX
#     define HAVE_NO_OFFSET_SERIAL_DEVICE 1
#    else
#     ifdef __FreeBSD__
#      define OFFSET_SERIAL_DEVICE 0
#     else
#      ifdef __sun
#       define HAVE_NO_OFFSET_SERIAL_DEVICE 1
#      else
#       ifdef __sgi
#        define OFFSET_SERIAL_DEVICE 1
#       else
#        ifdef __OpenBSD__
#         define OFFSET_SERIAL_DEVICE 0
#        else
#         define HAVE_NO_OFFSET_SERIAL_DEVICE 1
#        endif
#       endif
#      endif
#     endif
#    endif
#   endif
#  endif
# endif
#endif

#ifndef __CYGWIN__
# define HAS_MLOCK 1
#endif

#undef HAVE_DUNE_VERSION 

#endif /* !CONFIG_H */
