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
28 /* Whether ANSI C++ stream headers are to be used. */
29 #define @KWSYS_NAMESPACE@_IOS_USE_ANSI @KWSYS_IOS_USE_ANSI@
31 /* Whether ANSI C++ streams are in std namespace. */
32 #define @KWSYS_NAMESPACE@_IOS_HAVE_STD @KWSYS_IOS_HAVE_STD@
34 /* Whether ANSI C++ <sstream> header is to be used. */
35 #define @KWSYS_NAMESPACE@_IOS_USE_SSTREAM @KWSYS_IOS_USE_SSTREAM@
37 /* Whether old C++ <strstream.h> header is to be used. */
38 #define @KWSYS_NAMESPACE@_IOS_USE_STRSTREAM_H @KWSYS_IOS_USE_STRSTREAM_H@
40 /* Whether old C++ <strstrea.h> header is to be used. */
41 #define @KWSYS_NAMESPACE@_IOS_USE_STRSTREA_H @KWSYS_IOS_USE_STRSTREA_H@
43 /* Whether C++ streams support the ios::binary openmode. */
44 #define @KWSYS_NAMESPACE@_IOS_HAVE_BINARY @KWSYS_IOS_HAVE_BINARY@
46 /* Whether STL is in std namespace. */
47 #define @KWSYS_NAMESPACE@_STL_HAVE_STD @KWSYS_STL_HAVE_STD@
49 /* Whether the STL string has operator<< for ostream. */
50 #define @KWSYS_NAMESPACE@_STL_STRING_HAVE_OSTREAM @KWSYS_STL_STRING_HAVE_OSTREAM@
52 /* Whether the STL string has operator>> for istream. */
53 #define @KWSYS_NAMESPACE@_STL_STRING_HAVE_ISTREAM @KWSYS_STL_STRING_HAVE_ISTREAM@
55 /* Whether the STL string has operator!= for char*. */
56 #define @KWSYS_NAMESPACE@_STL_STRING_HAVE_NEQ_CHAR @KWSYS_STL_STRING_HAVE_NEQ_CHAR@
58 /* Define the stl namespace macro. */
59 #if @KWSYS_NAMESPACE@_STL_HAVE_STD
60 # define @KWSYS_NAMESPACE@_stl std
62 # define @KWSYS_NAMESPACE@_stl
65 /* Define the ios namespace macro. */
66 #if @KWSYS_NAMESPACE@_IOS_HAVE_STD
67 # define @KWSYS_NAMESPACE@_ios_namespace std
69 # define @KWSYS_NAMESPACE@_ios_namespace
71 #if @KWSYS_NAMESPACE@_IOS_USE_SSTREAM
72 # define @KWSYS_NAMESPACE@_ios @KWSYS_NAMESPACE@_ios_namespace
74 # define @KWSYS_NAMESPACE@_ios @KWSYS_NAMESPACE@_ios
77 /* Define the ios::binary openmode macro. */
78 #if @KWSYS_NAMESPACE@_IOS_HAVE_BINARY
79 # define @KWSYS_NAMESPACE@_ios_binary @KWSYS_NAMESPACE@_ios::ios::binary
81 # define @KWSYS_NAMESPACE@_ios_binary 0
84 /* Whether the cstddef header is available. */
85 #define @KWSYS_NAMESPACE@_CXX_HAS_CSTDDEF @KWSYS_CXX_HAS_CSTDDEF@
87 /* Whether the compiler supports null template arguments. */
88 #define @KWSYS_NAMESPACE@_CXX_HAS_NULL_TEMPLATE_ARGS @KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS@
90 /* Define the null template arguments macro. */
91 #if @KWSYS_NAMESPACE@_CXX_HAS_NULL_TEMPLATE_ARGS
92 # define @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS <>
94 # define @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS
97 /* Whether the compiler supports member templates. */
98 #define @KWSYS_NAMESPACE@_CXX_HAS_MEMBER_TEMPLATES @KWSYS_CXX_HAS_MEMBER_TEMPLATES@
100 /* Whether the compiler supports argument dependent lookup. */
101 #define @KWSYS_NAMESPACE@_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP @KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP@
103 /* Whether the compiler supports standard full specialization syntax. */
104 #define @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION @KWSYS_CXX_HAS_FULL_SPECIALIZATION@
106 /* Define the specialization definition macro. */
107 #if @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION
108 # define @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION template <>
110 # define @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
113 /* Define typename keyword macro for use in declarations. */
114 #if defined(_MSC_VER) && _MSC_VER < 1300
115 # define @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME
117 # define @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME typename
120 /* Whether the stl has iterator_traits. */
121 #define @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_TRAITS @KWSYS_STL_HAS_ITERATOR_TRAITS@
123 /* Whether the stl has iterator_category. */
124 #define @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_CATEGORY @KWSYS_STL_HAS_ITERATOR_CATEGORY@
126 /* Whether the stl has __iterator_category. */
127 #define @KWSYS_NAMESPACE@_STL_HAS___ITERATOR_CATEGORY @KWSYS_STL_HAS___ITERATOR_CATEGORY@
129 /* Whether the stl allocator is the standard template. */
130 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_TEMPLATE @KWSYS_STL_HAS_ALLOCATOR_TEMPLATE@
132 /* Whether the stl allocator is not a template. */
133 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_NONTEMPLATE @KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE@
135 /* Whether the stl allocator has rebind. */
136 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_REBIND @KWSYS_STL_HAS_ALLOCATOR_REBIND@
138 /* Whether the stl allocator has a size argument for max_size. */
139 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT @KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT@
141 /* Whether the stl containers support allocator objects. */
142 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_OBJECTS @KWSYS_STL_HAS_ALLOCATOR_OBJECTS@
144 /* Whether struct stat has the st_mtim member for high resolution times. */
145 #define @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM @KWSYS_STAT_HAS_ST_MTIM@
147 /* If building a C++ file in kwsys itself, give the source file
148 access to the macros without a configured namespace. */
149 #if defined(KWSYS_NAMESPACE)
150 # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
151 # define kwsys_stl @KWSYS_NAMESPACE@_stl
152 # define kwsys_ios @KWSYS_NAMESPACE@_ios
153 # define kwsys @KWSYS_NAMESPACE@
154 # define kwsys_ios_binary @KWSYS_NAMESPACE@_ios_binary
156 # define KWSYS_NAME_IS_KWSYS @KWSYS_NAMESPACE@_NAME_IS_KWSYS
157 # define KWSYS_STL_HAVE_STD @KWSYS_NAMESPACE@_STL_HAVE_STD
158 # define KWSYS_IOS_HAVE_STD @KWSYS_NAMESPACE@_IOS_HAVE_STD
159 # define KWSYS_IOS_USE_ANSI @KWSYS_NAMESPACE@_IOS_USE_ANSI
160 # define KWSYS_IOS_USE_SSTREAM @KWSYS_NAMESPACE@_IOS_USE_SSTREAM
161 # define KWSYS_IOS_USE_STRSTREAM_H @KWSYS_NAMESPACE@_IOS_USE_STRSTREAM_H
162 # define KWSYS_IOS_USE_STRSTREA_H @KWSYS_NAMESPACE@_IOS_USE_STRSTREA_H
163 # define KWSYS_IOS_HAVE_BINARY @KWSYS_NAMESPACE@_IOS_HAVE_BINARY
164 # define KWSYS_STAT_HAS_ST_MTIM @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM
165 # define KWSYS_CXX_HAS_CSTDDEF @KWSYS_NAMESPACE@_CXX_HAS_CSTDDEF
166 # define KWSYS_STL_STRING_HAVE_OSTREAM @KWSYS_NAMESPACE@_STL_STRING_HAVE_OSTREAM
167 # define KWSYS_STL_STRING_HAVE_ISTREAM @KWSYS_NAMESPACE@_STL_STRING_HAVE_ISTREAM
168 # define KWSYS_STL_STRING_HAVE_NEQ_CHAR @KWSYS_NAMESPACE@_STL_STRING_HAVE_NEQ_CHAR
169 # define KWSYS_CXX_NULL_TEMPLATE_ARGS @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS
170 # define KWSYS_CXX_HAS_MEMBER_TEMPLATES @KWSYS_NAMESPACE@_CXX_HAS_MEMBER_TEMPLATES
171 # define KWSYS_CXX_HAS_FULL_SPECIALIZATION @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION
172 # define KWSYS_CXX_DEFINE_SPECIALIZATION @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
173 # define KWSYS_CXX_DECL_TYPENAME @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME
174 # define KWSYS_STL_HAS_ALLOCATOR_REBIND @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_REBIND
175 # define KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT
176 # define KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP @KWSYS_NAMESPACE@_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP
177 # define KWSYS_STL_HAS_ITERATOR_TRAITS @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_TRAITS
178 # define KWSYS_STL_HAS_ITERATOR_CATEGORY @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_CATEGORY
179 # define KWSYS_STL_HAS___ITERATOR_CATEGORY @KWSYS_NAMESPACE@_STL_HAS___ITERATOR_CATEGORY
180 # define KWSYS_STL_HAS_ALLOCATOR_TEMPLATE @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_TEMPLATE
181 # define KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_NONTEMPLATE
182 # define KWSYS_STL_HAS_ALLOCATOR_OBJECTS @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_OBJECTS