1 /*=========================================================================
3 Program: KWSys - Kitware System Library
4 Module: $RCSfile: Configure.hxx.in,v $
6 Copyright (c) Kitware, Inc., Insight Consortium. All rights reserved.
7 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notices for more information.
13 =========================================================================*/
14 #ifndef @KWSYS_NAMESPACE@_Configure_hxx
15 #define @KWSYS_NAMESPACE@_Configure_hxx
17 /* Include C configuration. */
18 #include <@KWSYS_NAMESPACE@/Configure.h>
20 /* Disable cleanup of putenv memory for issues with GCOV */
21 #if @KWSYS_DO_NOT_CLEAN_PUTENV@
22 #define KWSYS_DO_NOT_CLEAN_PUTENV
24 #undef KWSYS_DO_NOT_CLEAN_PUTENV
29 /* Whether ANSI C++ stream headers are to be used. */
30 #define @KWSYS_NAMESPACE@_IOS_USE_ANSI @KWSYS_IOS_USE_ANSI@
32 /* Whether ANSI C++ streams are in std namespace. */
33 #define @KWSYS_NAMESPACE@_IOS_HAVE_STD @KWSYS_IOS_HAVE_STD@
35 /* Whether ANSI C++ <sstream> header is to be used. */
36 #define @KWSYS_NAMESPACE@_IOS_USE_SSTREAM @KWSYS_IOS_USE_SSTREAM@
38 /* Whether old C++ <strstream.h> header is to be used. */
39 #define @KWSYS_NAMESPACE@_IOS_USE_STRSTREAM_H @KWSYS_IOS_USE_STRSTREAM_H@
41 /* Whether old C++ <strstrea.h> header is to be used. */
42 #define @KWSYS_NAMESPACE@_IOS_USE_STRSTREA_H @KWSYS_IOS_USE_STRSTREA_H@
44 /* Whether C++ streams support the ios::binary openmode. */
45 #define @KWSYS_NAMESPACE@_IOS_HAVE_BINARY @KWSYS_IOS_HAVE_BINARY@
47 /* Whether STL is in std namespace. */
48 #define @KWSYS_NAMESPACE@_STL_HAVE_STD @KWSYS_STL_HAVE_STD@
50 /* Whether the STL string has operator<< for ostream. */
51 #define @KWSYS_NAMESPACE@_STL_STRING_HAVE_OSTREAM @KWSYS_STL_STRING_HAVE_OSTREAM@
53 /* Whether the STL string has operator>> for istream. */
54 #define @KWSYS_NAMESPACE@_STL_STRING_HAVE_ISTREAM @KWSYS_STL_STRING_HAVE_ISTREAM@
56 /* Whether the STL string has operator!= for char*. */
57 #define @KWSYS_NAMESPACE@_STL_STRING_HAVE_NEQ_CHAR @KWSYS_STL_STRING_HAVE_NEQ_CHAR@
59 /* Define the stl namespace macro. */
60 #if @KWSYS_NAMESPACE@_STL_HAVE_STD
61 # define @KWSYS_NAMESPACE@_stl std
63 # define @KWSYS_NAMESPACE@_stl
66 /* Define the ios namespace macro. */
67 #if @KWSYS_NAMESPACE@_IOS_HAVE_STD
68 # define @KWSYS_NAMESPACE@_ios_namespace std
70 # define @KWSYS_NAMESPACE@_ios_namespace
72 #if @KWSYS_NAMESPACE@_IOS_USE_SSTREAM
73 # define @KWSYS_NAMESPACE@_ios @KWSYS_NAMESPACE@_ios_namespace
75 # define @KWSYS_NAMESPACE@_ios @KWSYS_NAMESPACE@_ios
78 /* Define the ios::binary openmode macro. */
79 #if @KWSYS_NAMESPACE@_IOS_HAVE_BINARY
80 # define @KWSYS_NAMESPACE@_ios_binary @KWSYS_NAMESPACE@_ios::ios::binary
82 # define @KWSYS_NAMESPACE@_ios_binary 0
85 /* Whether the cstddef header is available. */
86 #define @KWSYS_NAMESPACE@_CXX_HAS_CSTDDEF @KWSYS_CXX_HAS_CSTDDEF@
88 /* Whether the compiler supports null template arguments. */
89 #define @KWSYS_NAMESPACE@_CXX_HAS_NULL_TEMPLATE_ARGS @KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS@
91 /* Define the null template arguments macro. */
92 #if @KWSYS_NAMESPACE@_CXX_HAS_NULL_TEMPLATE_ARGS
93 # define @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS <>
95 # define @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS
98 /* Whether the compiler supports member templates. */
99 #define @KWSYS_NAMESPACE@_CXX_HAS_MEMBER_TEMPLATES @KWSYS_CXX_HAS_MEMBER_TEMPLATES@
101 /* Whether the compiler supports argument dependent lookup. */
102 #define @KWSYS_NAMESPACE@_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP @KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP@
104 /* Whether the compiler supports standard full specialization syntax. */
105 #define @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION @KWSYS_CXX_HAS_FULL_SPECIALIZATION@
107 /* Define the specialization definition macro. */
108 #if @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION
109 # define @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION template <>
111 # define @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
114 /* Define typename keyword macro for use in declarations. */
115 #if defined(_MSC_VER) && _MSC_VER < 1300
116 # define @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME
118 # define @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME typename
121 /* Whether the stl has iterator_traits. */
122 #define @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_TRAITS @KWSYS_STL_HAS_ITERATOR_TRAITS@
124 /* Whether the stl has iterator_category. */
125 #define @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_CATEGORY @KWSYS_STL_HAS_ITERATOR_CATEGORY@
127 /* Whether the stl has __iterator_category. */
128 #define @KWSYS_NAMESPACE@_STL_HAS___ITERATOR_CATEGORY @KWSYS_STL_HAS___ITERATOR_CATEGORY@
130 /* Whether the stl allocator is the standard template. */
131 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_TEMPLATE @KWSYS_STL_HAS_ALLOCATOR_TEMPLATE@
133 /* Whether the stl allocator is not a template. */
134 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_NONTEMPLATE @KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE@
136 /* Whether the stl allocator has rebind. */
137 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_REBIND @KWSYS_STL_HAS_ALLOCATOR_REBIND@
139 /* Whether the stl allocator has a size argument for max_size. */
140 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT @KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT@
142 /* Whether the stl containers support allocator objects. */
143 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_OBJECTS @KWSYS_STL_HAS_ALLOCATOR_OBJECTS@
145 /* Whether struct stat has the st_mtim member for high resolution times. */
146 #define @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM @KWSYS_STAT_HAS_ST_MTIM@
148 /* If building a C++ file in kwsys itself, give the source file
149 access to the macros without a configured namespace. */
150 #if defined(KWSYS_NAMESPACE)
151 # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
152 # define kwsys_stl @KWSYS_NAMESPACE@_stl
153 # define kwsys_ios @KWSYS_NAMESPACE@_ios
154 # define kwsys @KWSYS_NAMESPACE@
155 # define kwsys_ios_binary @KWSYS_NAMESPACE@_ios_binary
157 # define KWSYS_NAME_IS_KWSYS @KWSYS_NAMESPACE@_NAME_IS_KWSYS
158 # define KWSYS_STL_HAVE_STD @KWSYS_NAMESPACE@_STL_HAVE_STD
159 # define KWSYS_IOS_HAVE_STD @KWSYS_NAMESPACE@_IOS_HAVE_STD
160 # define KWSYS_IOS_USE_ANSI @KWSYS_NAMESPACE@_IOS_USE_ANSI
161 # define KWSYS_IOS_USE_SSTREAM @KWSYS_NAMESPACE@_IOS_USE_SSTREAM
162 # define KWSYS_IOS_USE_STRSTREAM_H @KWSYS_NAMESPACE@_IOS_USE_STRSTREAM_H
163 # define KWSYS_IOS_USE_STRSTREA_H @KWSYS_NAMESPACE@_IOS_USE_STRSTREA_H
164 # define KWSYS_IOS_HAVE_BINARY @KWSYS_NAMESPACE@_IOS_HAVE_BINARY
165 # define KWSYS_STAT_HAS_ST_MTIM @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM
166 # define KWSYS_CXX_HAS_CSTDDEF @KWSYS_NAMESPACE@_CXX_HAS_CSTDDEF
167 # define KWSYS_STL_STRING_HAVE_OSTREAM @KWSYS_NAMESPACE@_STL_STRING_HAVE_OSTREAM
168 # define KWSYS_STL_STRING_HAVE_ISTREAM @KWSYS_NAMESPACE@_STL_STRING_HAVE_ISTREAM
169 # define KWSYS_STL_STRING_HAVE_NEQ_CHAR @KWSYS_NAMESPACE@_STL_STRING_HAVE_NEQ_CHAR
170 # define KWSYS_CXX_NULL_TEMPLATE_ARGS @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS
171 # define KWSYS_CXX_HAS_MEMBER_TEMPLATES @KWSYS_NAMESPACE@_CXX_HAS_MEMBER_TEMPLATES
172 # define KWSYS_CXX_HAS_FULL_SPECIALIZATION @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION
173 # define KWSYS_CXX_DEFINE_SPECIALIZATION @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
174 # define KWSYS_CXX_DECL_TYPENAME @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME
175 # define KWSYS_STL_HAS_ALLOCATOR_REBIND @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_REBIND
176 # define KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT
177 # define KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP @KWSYS_NAMESPACE@_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP
178 # define KWSYS_STL_HAS_ITERATOR_TRAITS @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_TRAITS
179 # define KWSYS_STL_HAS_ITERATOR_CATEGORY @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_CATEGORY
180 # define KWSYS_STL_HAS___ITERATOR_CATEGORY @KWSYS_NAMESPACE@_STL_HAS___ITERATOR_CATEGORY
181 # define KWSYS_STL_HAS_ALLOCATOR_TEMPLATE @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_TEMPLATE
182 # define KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_NONTEMPLATE
183 # define KWSYS_STL_HAS_ALLOCATOR_OBJECTS @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_OBJECTS