VTK
vtkConfigure.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkConfigure.h.in
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 #ifndef vtkConfigure_h
16 #define vtkConfigure_h
17 
18 /* This header is configured by VTK's build process. */
19 
20 /*--------------------------------------------------------------------------*/
21 /* Compiler backend */
22 /* Be careful modifying this -- order is important. */
23 #if defined(_MSC_VER)
24 /* MSVC 2015+ can use a clang frontend, so we want to label it only as MSVC
25  * and not MSVC and clang. */
26 #define VTK_COMPILER_MSVC
27 
28 #elif defined(__INTEL_COMPILER)
29 /* Intel 14+ on OSX uses a clang frontend, so again we want to label them as
30  * intel only, and not intel and clang. */
31 #define VTK_COMPILER_ICC
32 
33 #elif defined(__PGI)
34 /* PGI reports as GNUC as it generates the same ABI, so we need to check for
35  * it before gcc. */
36 #define VTK_COMPILER_PGI
37 
38 #elif defined(__clang__)
39 /* Check for clang before GCC, as clang says it is GNUC since it has ABI
40  * compliance and supports many of the same extensions. */
41 #define VTK_COMPILER_CLANG
42 
43 #elif defined(__GNUC__)
44 /* Several compilers pretend to be GCC but have minor differences. To
45  * compensate for that, we checked for those compilers first above. */
46 #define VTK_COMPILER_GCC
47 #define VTK_COMPILER_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + \
48  __GNUC_PATCHLEVEL__)
49 #endif
50 
51 /*--------------------------------------------------------------------------*/
52 /* Platform Features */
53 
54 /* Byte order. */
55 /* All compilers that support Mac OS X define either __BIG_ENDIAN__ or
56  __LITTLE_ENDIAN__ to match the endianness of the architecture being
57  compiled for. This is not necessarily the same as the architecture of the
58  machine doing the building. In order to support Universal Binaries on
59  Mac OS X, we prefer those defines to decide the endianness.
60  On other platforms we use the result of the TRY_RUN. */
61 #if !defined(__APPLE__)
62 /* #undef VTK_WORDS_BIGENDIAN */
63 #elif defined(__BIG_ENDIAN__)
64 # define VTK_WORDS_BIGENDIAN
65 #endif
66 
67 /* Threading system. */
68 #define VTK_USE_PTHREADS
69 /* #undef VTK_USE_WIN32_THREADS */
70 # define VTK_MAX_THREADS 64
71 
72 /* Atomic operations */
73 #define VTK_HAVE_SYNC_BUILTINS
74 #if defined(_WIN32)
75 /* #undef VTK_HAS_INTERLOCKEDADD */
76 #endif
77 
78 /* vtkSMPTools back-end */
79 #define VTK_SMP_Sequential
80 #define VTK_SMP_BACKEND "Sequential"
81 
82 /* Compiler features. */
83 #define VTK_HAVE_GETSOCKNAME_WITH_SOCKLEN_T
84 #define VTK_HAVE_SO_REUSEADDR
85 
86 /* Whether we require large files support. */
87 #define VTK_REQUIRE_LARGE_FILE_SUPPORT
88 
89 /* Whether reverse const iterator's have comparison operators. */
90 #define VTK_CONST_REVERSE_ITERATOR_COMPARISON
91 
92 /*--------------------------------------------------------------------------*/
93 /* VTK Platform Configuration */
94 
95 /* Whether the target platform supports shared libraries. */
96 /* #undef VTK_TARGET_SUPPORTS_SHARED_LIBS */
97 
98 /* Whether we are building shared libraries. */
99 #define VTK_BUILD_SHARED_LIBS
100 
101 /* Whether vtkIdType is a 64-bit integer type (or a 32-bit integer type). */
102 #define VTK_USE_64BIT_IDS
103 
104 /* Whether MTime should use a 64-bit integer type on 32 bit builds. */
105 /* #undef VTK_USE_64BIT_TIMESTAMPS */
106 
107 #include "vtkVersionMacros.h" // removed by VTK_LEGACY_REMOVE
108 
109 /* C++ compiler used. */
110 #define VTK_CXX_COMPILER "/usr/bin/c++"
111 
112 /* Compatibility settings. */
113 /* #undef VTK_LEGACY_REMOVE */
114 /* #undef VTK_LEGACY_SILENT */
115 
116 /* Debug leaks support. */
117 /* #undef VTK_DEBUG_LEAKS */
118 
119 /* Print warning on vtkArrayDispatch failure. */
120 /* #undef VTK_WARN_ON_DISPATCH_FAILURE */
121 
122 /* Should all New methods use the object factory override. */
123 /* #undef VTK_ALL_NEW_OBJECT_FACTORY */
124 
125 /*--------------------------------------------------------------------------*/
126 /* Setup VTK based on platform features and configuration. */
127 
128 /* We now always use standard streams. */
129 #ifndef VTK_LEGACY_REMOVE
130 # define VTK_USE_ANSI_STDLIB
131 #endif
132 
133 /* Define a "vtkstd_bool" for backwards compatibility. Only use bool
134  if this file is included by a c++ file. */
135 #ifndef VTK_LEGACY_REMOVE
136 # if defined(__cplusplus)
137  typedef bool vtkstd_bool;
138 # else
139  typedef int vtkstd_bool;
140 # endif
141 #endif
142 
143 /* The maximum length of a file name in bytes including the
144  * terminating null.
145  */
146 #if defined(PATH_MAX) // Usually defined on Windows
147 # define VTK_MAXPATH PATH_MAX
148 #elif defined(MAXPATHLEN) // Usually defined on linux
149 # define VTK_MAXPATH MAXPATHLEN
150 #else
151 # define VTK_MAXPATH 32767 // Possible with Windows "extended paths"
152 #endif
153 
154 #if (__cplusplus >= 201103L) || ( defined(_MSC_VER) && _MSC_VER >= 1700 )
155 # define VTK_OVERRIDE override
156 # define VTK_FINAL final
157 #else
158 # define VTK_OVERRIDE
159 # define VTK_FINAL
160 #endif
161 
162 #if (__cplusplus >= 201103L) || ( defined(_MSC_VER) && _MSC_VER >= 1800 )
163 # define VTK_DELETE_FUNCTION =delete
164 #else
165 # define VTK_DELETE_FUNCTION
166 #endif
167 
170 #if ((__cplusplus >= 201103L) || (defined(_MSC_VER) && _MSC_VER >= 1700)) && !defined(__MINGW32__)
171 #define VTK_USE_EXTERN_TEMPLATE
172 #endif
173 
177 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >=1700)\
178  || (defined(_CPPLIB_VER) && _CPPLIB_VER >= 520)
179 # define VTK_HAS_STD_UNIQUE_PTR
180 #endif
181 
182 /* MS Visual Studio 2015 finally supports C99/C++11's snprintf but
183  * for older versions, use _snprintf instead. Annoyingly, its semantics
184  * are slightly different, but still better than using sprintf.
185  */
186 #if defined(_MSC_VER) && (_MSC_VER < 1900)
187 # define snprintf _snprintf
188 #endif
189 
190 #endif // vtkConfigure_h
int vtkstd_bool
Definition: vtkConfigure.h:139