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 /* Whether kwsys namespace is "kwsys". */
21 #define @KWSYS_NAMESPACE@_NAME_IS_KWSYS @KWSYS_NAME_IS_KWSYS@
23 /* Whether ANSI C++ stream headers are to be used. */
24 #define @KWSYS_NAMESPACE@_IOS_USE_ANSI @KWSYS_IOS_USE_ANSI@
26 /* Whether ANSI C++ streams are in std namespace. */
27 #define @KWSYS_NAMESPACE@_IOS_HAVE_STD @KWSYS_IOS_HAVE_STD@
29 /* Whether ANSI C++ <sstream> header is to be used. */
30 #define @KWSYS_NAMESPACE@_IOS_USE_SSTREAM @KWSYS_IOS_USE_SSTREAM@
32 /* Whether old C++ <strstream.h> header is to be used. */
33 #define @KWSYS_NAMESPACE@_IOS_USE_STRSTREAM_H @KWSYS_IOS_USE_STRSTREAM_H@
35 /* Whether old C++ <strstrea.h> header is to be used. */
36 #define @KWSYS_NAMESPACE@_IOS_USE_STRSTREA_H @KWSYS_IOS_USE_STRSTREA_H@
38 /* Whether STL is in std namespace. */
39 #define @KWSYS_NAMESPACE@_STL_HAVE_STD @KWSYS_STL_HAVE_STD@
41 /* Whether the STL string has operator<< for ostream. */
42 #define @KWSYS_NAMESPACE@_STL_STRING_HAVE_OSTREAM @KWSYS_STL_STRING_HAVE_OSTREAM@
44 /* Whether the STL string has operator>> for istream. */
45 #define @KWSYS_NAMESPACE@_STL_STRING_HAVE_ISTREAM @KWSYS_STL_STRING_HAVE_ISTREAM@
47 /* Whether the STL string has operator!= for char*. */
48 #define @KWSYS_NAMESPACE@_STL_STRING_HAVE_NEQ_CHAR @KWSYS_STL_STRING_HAVE_NEQ_CHAR@
50 /* Define the stl namespace macro. */
51 #if @KWSYS_NAMESPACE@_STL_HAVE_STD
52 # define @KWSYS_NAMESPACE@_stl std
54 # define @KWSYS_NAMESPACE@_stl
57 /* Define the ios namespace macro. */
58 #if @KWSYS_NAMESPACE@_IOS_HAVE_STD
59 # define @KWSYS_NAMESPACE@_ios_namespace std
61 # define @KWSYS_NAMESPACE@_ios_namespace
63 #if @KWSYS_NAMESPACE@_IOS_USE_SSTREAM
64 # define @KWSYS_NAMESPACE@_ios @KWSYS_NAMESPACE@_ios_namespace
66 # define @KWSYS_NAMESPACE@_ios @KWSYS_NAMESPACE@_ios
69 /* Whether the cstddef header is available. */
70 #define @KWSYS_NAMESPACE@_CXX_HAS_CSTDDEF @KWSYS_CXX_HAS_CSTDDEF@
72 /* Whether the compiler supports null template arguments. */
73 #define @KWSYS_NAMESPACE@_CXX_HAS_NULL_TEMPLATE_ARGS @KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS@
75 /* Define the null template arguments macro. */
76 #if @KWSYS_NAMESPACE@_CXX_HAS_NULL_TEMPLATE_ARGS
77 # define @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS <>
79 # define @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS
82 /* Whether the compiler supports member templates. */
83 #define @KWSYS_NAMESPACE@_CXX_HAS_MEMBER_TEMPLATES @KWSYS_CXX_HAS_MEMBER_TEMPLATES@
85 /* Whether the compiler supports argument dependent lookup. */
86 #define @KWSYS_NAMESPACE@_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP @KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP@
88 /* Whether the compiler supports standard full specialization syntax. */
89 #define @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION @KWSYS_CXX_HAS_FULL_SPECIALIZATION@
91 /* Define the specialization definition macro. */
92 #if @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION
93 # define @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION template <>
95 # define @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
98 /* Define typename keyword macro for use in declarations. */
99 #if defined(_MSC_VER) && _MSC_VER < 1300
100 # define @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME
102 # define @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME typename
105 /* Whether the stl has iterator_traits. */
106 #define @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_TRAITS @KWSYS_STL_HAS_ITERATOR_TRAITS@
108 /* Whether the stl has iterator_category. */
109 #define @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_CATEGORY @KWSYS_STL_HAS_ITERATOR_CATEGORY@
111 /* Whether the stl has __iterator_category. */
112 #define @KWSYS_NAMESPACE@_STL_HAS___ITERATOR_CATEGORY @KWSYS_STL_HAS___ITERATOR_CATEGORY@
114 /* Whether the stl allocator is the standard template. */
115 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_TEMPLATE @KWSYS_STL_HAS_ALLOCATOR_TEMPLATE@
117 /* Whether the stl allocator is not a template. */
118 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_NONTEMPLATE @KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE@
120 /* Whether the stl allocator has rebind. */
121 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_REBIND @KWSYS_STL_HAS_ALLOCATOR_REBIND@
123 /* Whether the stl allocator has a size argument for max_size. */
124 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT @KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT@
126 /* Whether the stl containers support allocator objects. */
127 #define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_OBJECTS @KWSYS_STL_HAS_ALLOCATOR_OBJECTS@
129 /* Whether struct stat has the st_mtim member for high resolution times. */
130 #define @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM @KWSYS_STAT_HAS_ST_MTIM@
132 /* If building a C++ file in kwsys itself, give the source file
133 access to the macros without a configured namespace. */
134 #if defined(KWSYS_NAMESPACE)
135 # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
136 # define kwsys_stl @KWSYS_NAMESPACE@_stl
137 # define kwsys_ios @KWSYS_NAMESPACE@_ios
138 # define kwsys @KWSYS_NAMESPACE@
140 # define KWSYS_NAME_IS_KWSYS @KWSYS_NAMESPACE@_NAME_IS_KWSYS
141 # define KWSYS_STL_HAVE_STD @KWSYS_NAMESPACE@_STL_HAVE_STD
142 # define KWSYS_IOS_HAVE_STD @KWSYS_NAMESPACE@_IOS_HAVE_STD
143 # define KWSYS_IOS_USE_ANSI @KWSYS_NAMESPACE@_IOS_USE_ANSI
144 # define KWSYS_IOS_USE_SSTREAM @KWSYS_NAMESPACE@_IOS_USE_SSTREAM
145 # define KWSYS_IOS_USE_STRSTREAM_H @KWSYS_NAMESPACE@_IOS_USE_STRSTREAM_H
146 # define KWSYS_IOS_USE_STRSTREA_H @KWSYS_NAMESPACE@_IOS_USE_STRSTREA_H
147 # define KWSYS_STAT_HAS_ST_MTIM @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM
148 # define KWSYS_CXX_HAS_CSTDDEF @KWSYS_NAMESPACE@_CXX_HAS_CSTDDEF
149 # define KWSYS_STL_STRING_HAVE_OSTREAM @KWSYS_NAMESPACE@_STL_STRING_HAVE_OSTREAM
150 # define KWSYS_STL_STRING_HAVE_ISTREAM @KWSYS_NAMESPACE@_STL_STRING_HAVE_ISTREAM
151 # define KWSYS_STL_STRING_HAVE_NEQ_CHAR @KWSYS_NAMESPACE@_STL_STRING_HAVE_NEQ_CHAR
152 # define KWSYS_CXX_NULL_TEMPLATE_ARGS @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS
153 # define KWSYS_CXX_HAS_MEMBER_TEMPLATES @KWSYS_NAMESPACE@_CXX_HAS_MEMBER_TEMPLATES
154 # define KWSYS_CXX_HAS_FULL_SPECIALIZATION @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION
155 # define KWSYS_CXX_DEFINE_SPECIALIZATION @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
156 # define KWSYS_CXX_DECL_TYPENAME @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME
157 # define KWSYS_STL_HAS_ALLOCATOR_REBIND @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_REBIND
158 # define KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT
159 # define KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP @KWSYS_NAMESPACE@_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP
160 # define KWSYS_STL_HAS_ITERATOR_TRAITS @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_TRAITS
161 # define KWSYS_STL_HAS_ITERATOR_CATEGORY @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_CATEGORY
162 # define KWSYS_STL_HAS___ITERATOR_CATEGORY @KWSYS_NAMESPACE@_STL_HAS___ITERATOR_CATEGORY
163 # define KWSYS_STL_HAS_ALLOCATOR_TEMPLATE @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_TEMPLATE
164 # define KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_NONTEMPLATE
165 # define KWSYS_STL_HAS_ALLOCATOR_OBJECTS @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_OBJECTS