/*=========================================================================

  Program:   Visualization Toolkit
  Module:    $RCSfile: vtkConfigure.h.in,v $
  Language:  C++
  Date:      $Date: 2003/09/25 21:23:02 $
  Version:   $Revision: 1.28 $

  Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
  All rights reserved.
  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.

     This software is distributed WITHOUT ANY WARRANTY; without even 
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
     PURPOSE.  See the above copyright notice for more information.

=========================================================================*/
#ifndef __vtkConfigure_h
#define __vtkConfigure_h

/* This header is configured by VTK's build process.  */

/*--------------------------------------------------------------------------*/
/* Platform Features                                                        */

/* Byte order.  */
#cmakedefine VTK_WORDS_BIGENDIAN

/* Threading system.  */
#cmakedefine VTK_USE_PTHREADS
#cmakedefine VTK_USE_SPROC
#cmakedefine VTK_HP_PTHREADS
#cmakedefine VTK_USE_WIN32_THREADS

/* Size of fundamental data types.  */
#define VTK_SIZEOF_CHAR   @VTK_SIZEOF_CHAR@
#define VTK_SIZEOF_DOUBLE @VTK_SIZEOF_DOUBLE@
#define VTK_SIZEOF_FLOAT  @VTK_SIZEOF_FLOAT@
#define VTK_SIZEOF_INT    @VTK_SIZEOF_INT@
#define VTK_SIZEOF_LONG   @VTK_SIZEOF_LONG@
#define VTK_SIZEOF_SHORT  @VTK_SIZEOF_SHORT@

/* Define size of "long long" only if the type exists.  */
#cmakedefine VTK_SIZEOF_LONG_LONG @VTK_SIZEOF_LONG_LONG@

/* Whether type "char" is signed (it may be signed or unsigned).  */
#define VTK_TYPE_CHAR_IS_SIGNED @VTK_TYPE_CHAR_IS_SIGNED@

/* Compiler features.  */
#cmakedefine VTK_NO_EXPLICIT_TEMPLATE_INSTANTIATION
#cmakedefine VTK_NO_ANSI_STRING_STREAM
#cmakedefine VTK_NO_STD_NAMESPACE
#cmakedefine VTK_COMPILER_HAS_BOOL

/*--------------------------------------------------------------------------*/
/* VTK Platform Configuration                                               */

/* Whether we are building shared libraries.  */
#cmakedefine VTK_BUILD_SHARED_LIBS

/* Whether vtkIdType is a 64-bit integer type (or a 32-bit integer type).  */
#cmakedefine VTK_USE_64BIT_IDS

/* Whether we are using ANSI C++ streams (or old-style streams).  */
#cmakedefine VTK_USE_ANSI_STDLIB

/* Whether VTK was built to support Carbon or Cocoa on the Mac.  */
#cmakedefine VTK_USE_CARBON
#cmakedefine VTK_USE_COCOA

/*--------------------------------------------------------------------------*/
/* VTK Versioning                                                           */

/* Version number.  */
#define VTK_MAJOR_VERSION @VTK_MAJOR_VERSION@
#define VTK_MINOR_VERSION @VTK_MINOR_VERSION@
#define VTK_BUILD_VERSION @VTK_BUILD_VERSION@
#define VTK_VERSION "@VTK_VERSION@"

/* C++ compiler used.  */
#define VTK_CXX_COMPILER "@CMAKE_CXX_COMPILER@"

/*--------------------------------------------------------------------------*/
/* Setup VTK based on platform features and configuration.                  */

/* Setup vtkstd, a portable namespace for std.  */
#ifndef VTK_NO_STD_NAMESPACE
# define vtkstd std
#else
# define vtkstd
#endif

/* Define a "vtkstd_bool" type.  This should be used as the
   return type of comparison operators to keep STL happy on all
   platforms.  It should not be used elsewhere.  */
#ifdef VTK_COMPILER_HAS_BOOL
typedef bool vtkstd_bool;
#else
typedef int vtkstd_bool;
#endif

#endif
