VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkConfigure.h.in 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 #ifndef vtkConfigure_h 00016 #define vtkConfigure_h 00017 00018 /* This header is configured by VTK's build process. */ 00019 00020 /*--------------------------------------------------------------------------*/ 00021 /* Platform Features */ 00022 00023 /* Byte order. */ 00024 /* All compilers that support Mac OS X define either __BIG_ENDIAN__ or 00025 __LITTLE_ENDIAN__ to match the endianness of the architecture being 00026 compiled for. This is not necessarily the same as the architecture of the 00027 machine doing the building. In order to support Universal Binaries on 00028 Mac OS X, we prefer those defines to decide the endianness. 00029 On other platforms we use the result of the TRY_RUN. */ 00030 #if !defined(__APPLE__) 00031 /* #undef VTK_WORDS_BIGENDIAN */ 00032 #elif defined(__BIG_ENDIAN__) 00033 # define VTK_WORDS_BIGENDIAN 00034 #endif 00035 00036 /* Threading system. */ 00037 #define VTK_USE_PTHREADS 00038 /* #undef VTK_USE_SPROC */ 00039 /* #undef VTK_HP_PTHREADS */ 00040 /* #undef VTK_USE_WIN32_THREADS */ 00041 # define VTK_MAX_THREADS 64 00042 00043 /* Atomic operations */ 00044 #define VTK_HAVE_SYNC_BUILTINS 00045 #if defined(WIN32) 00046 /* #undef VTK_HAS_INTERLOCKEDADD */ 00047 #endif 00048 00049 /* Size of fundamental data types. */ 00050 /* Mac OS X uses two data models, ILP32 (in which integers, long integers, 00051 and pointers are 32-bit quantities) and LP64 (in which integers are 32-bit 00052 quantities and long integers and pointers are 64-bit quantities). In order 00053 to support Universal Binaries on Mac OS X, we rely on this knowledge 00054 instead of testing the sizes of the building machine. 00055 On other platforms we use the result of the TRY_RUN. */ 00056 #if !defined(__APPLE__) 00057 # define VTK_SIZEOF_CHAR 1 00058 # define VTK_SIZEOF_SHORT 2 00059 # define VTK_SIZEOF_INT 4 00060 # define VTK_SIZEOF_LONG 8 00061 # define VTK_SIZEOF_FLOAT 4 00062 # define VTK_SIZEOF_DOUBLE 8 00063 # define VTK_SIZEOF_VOID_P 8 00064 #else 00065 # define VTK_SIZEOF_CHAR 1 00066 # define VTK_SIZEOF_SHORT 2 00067 # define VTK_SIZEOF_INT 4 00068 # if defined(__LP64__) && __LP64__ 00069 # define VTK_SIZEOF_LONG 8 00070 # define VTK_SIZEOF_VOID_P 8 00071 # else 00072 # define VTK_SIZEOF_LONG 4 00073 # define VTK_SIZEOF_VOID_P 4 00074 # endif 00075 # define VTK_SIZEOF_FLOAT 4 00076 # define VTK_SIZEOF_DOUBLE 8 00077 #endif 00078 00079 /* Define size of long long and/or __int64 bit integer type only if the type 00080 exists. */ 00081 #if !defined(__APPLE__) 00082 #define VTK_SIZEOF_LONG_LONG 8 00083 #else 00084 #define VTK_SIZEOF_LONG_LONG 8 00085 #endif 00086 /* #undef VTK_SIZEOF___INT64 */ 00087 00088 /* Whether types "long long" and "__int64" are enabled. If a type is 00089 enabled then it is a unique fundamental type. */ 00090 #define VTK_TYPE_USE_LONG_LONG 00091 /* #undef VTK_TYPE_USE___INT64 */ 00092 00093 /* Some properties of the available types. */ 00094 /* #undef VTK_TYPE_SAME_LONG_AND___INT64 */ 00095 /* #undef VTK_TYPE_SAME_LONG_LONG_AND___INT64 */ 00096 /* #undef VTK_TYPE_CONVERT_UI64_TO_DOUBLE */ 00097 00098 /* Whether type "char" is signed (it may be signed or unsigned). */ 00099 #define VTK_TYPE_CHAR_IS_SIGNED 1 00100 00101 /* Compiler features. */ 00102 /* #undef VTK_NO_EXPLICIT_TEMPLATE_INSTANTIATION */ 00103 /* #undef VTK_NO_FULL_TEMPLATE_SPECIALIZATION */ 00104 /* #undef VTK_NO_ANSI_STRING_STREAM */ 00105 #define VTK_ISTREAM_SUPPORTS_LONG_LONG 00106 #define VTK_OSTREAM_SUPPORTS_LONG_LONG 00107 #define VTK_STREAM_EOF_SEVERITY 0 00108 #define VTK_HAVE_GETSOCKNAME_WITH_SOCKLEN_T 00109 #define VTK_HAVE_SO_REUSEADDR 00110 00111 /* Whether we require large files support. */ 00112 #define VTK_REQUIRE_LARGE_FILE_SUPPORT 00113 00114 /* Whether reverse const iterator's have comparison operators. */ 00115 #define VTK_CONST_REVERSE_ITERATOR_COMPARISON 00116 00117 /*--------------------------------------------------------------------------*/ 00118 /* VTK Platform Configuration */ 00119 00120 /* Whether the target platform supports shared libraries. */ 00121 /* #undef VTK_TARGET_SUPPORTS_SHARED_LIBS */ 00122 00123 /* Whether we are building shared libraries. */ 00124 #define VTK_BUILD_SHARED_LIBS 00125 00126 /* Whether vtkIdType is a 64-bit integer type (or a 32-bit integer type). */ 00127 #define VTK_USE_64BIT_IDS 00128 00129 #include "vtkVersionMacros.h" // removed by VTK_LEGACY_REMOVE 00130 00131 /* C++ compiler used. */ 00132 #define VTK_CXX_COMPILER "/usr/bin/c++" 00133 00134 /* Compatibility settings. */ 00135 /* #undef VTK_LEGACY_REMOVE */ 00136 /* #undef VTK_LEGACY_SILENT */ 00137 00138 /* Debug leaks support. */ 00139 #define VTK_DEBUG_LEAKS 00140 00141 /* Should all New methods use the object factory override. */ 00142 /* #undef VTK_ALL_NEW_OBJECT_FACTORY */ 00143 00144 /*--------------------------------------------------------------------------*/ 00145 /* Setup VTK based on platform features and configuration. */ 00146 00147 /* We now always use standard streams. */ 00148 #ifndef VTK_LEGACY_REMOVE 00149 # define VTK_USE_ANSI_STDLIB 00150 #endif 00151 00152 /* Setup vtkstd, a portable namespace for std. */ 00153 #ifndef VTK_LEGACY_REMOVE 00154 # define vtkstd std 00155 #endif 00156 00157 /* Define a "vtkstd_bool" for backwards compatibility. Only use bool 00158 if this file is included by a c++ file. */ 00159 #ifndef VTK_LEGACY_REMOVE 00160 # if defined(__cplusplus) 00161 typedef bool vtkstd_bool; 00162 # else 00163 typedef int vtkstd_bool; 00164 # endif 00165 #endif 00166 00167 /* Define a macro to help define template specializations. Skip if 00168 compiling a windows resource file because the resource compiler 00169 warns about truncating the long symbol. */ 00170 #if !defined(RC_INVOKED) 00171 # if defined(VTK_NO_FULL_TEMPLATE_SPECIALIZATION) 00172 # define VTK_TEMPLATE_SPECIALIZE 00173 # else 00174 # define VTK_TEMPLATE_SPECIALIZE template <> 00175 # endif 00176 #endif 00177 00178 /* Provide missing streaming operators. */ 00179 #if defined(VTK_SIZEOF_LONG_LONG) 00180 # if !defined(VTK_OSTREAM_SUPPORTS_LONG_LONG) 00181 # define VTK_IOSTREAM_NEED_OPERATORS_LL 00182 # elif !defined(VTK_ISTREAM_SUPPORTS_LONG_LONG) 00183 # define VTK_IOSTREAM_NEED_OPERATORS_LL 00184 # endif 00185 # if defined(VTK_IOSTREAM_NEED_OPERATORS_LL) 00186 typedef long long vtkIOStreamSLL; 00187 typedef unsigned long long vtkIOStreamULL; 00188 # endif 00189 #elif defined(VTK_SIZEOF___INT64) 00190 # if defined(_MSC_VER) && (_MSC_VER < 1300) 00191 # define VTK_IOSTREAM_NEED_OPERATORS_LL 00192 typedef __int64 vtkIOStreamSLL; 00193 typedef unsigned __int64 vtkIOStreamULL; 00194 # endif 00195 #endif 00196 00197 #endif