19d11e2a1f
All KWSys C symbol names begin with the KWSYS_NAMESPACE defined at configuration time. For ease of editing we write canonical names with the prefix 'kwsys' and use macros to map them to the configured prefix at preprocessing time. In the case of standalone KWSys, the prefix is 'kwsys', so the macros were previously defined to their own names. We now skip defining the macros in the identity case so that the final symbol names are never themselves macros. This will allow the symbols to be further transformed behind the scenes to help linkers in special cases on some platforms.
166 lines
7.4 KiB
C++
166 lines
7.4 KiB
C++
/*=========================================================================
|
|
|
|
Program: KWSys - Kitware System Library
|
|
Module: $RCSfile$
|
|
|
|
Copyright (c) Kitware, Inc., Insight Consortium. All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notices for more information.
|
|
|
|
=========================================================================*/
|
|
#ifndef @KWSYS_NAMESPACE@_Configure_hxx
|
|
#define @KWSYS_NAMESPACE@_Configure_hxx
|
|
|
|
/* Include C configuration. */
|
|
#include <@KWSYS_NAMESPACE@/Configure.h>
|
|
|
|
/* Whether ANSI C++ stream headers are to be used. */
|
|
#define @KWSYS_NAMESPACE@_IOS_USE_ANSI @KWSYS_IOS_USE_ANSI@
|
|
|
|
/* Whether ANSI C++ streams are in std namespace. */
|
|
#define @KWSYS_NAMESPACE@_IOS_HAVE_STD @KWSYS_IOS_HAVE_STD@
|
|
|
|
/* Whether ANSI C++ <sstream> header is to be used. */
|
|
#define @KWSYS_NAMESPACE@_IOS_USE_SSTREAM @KWSYS_IOS_USE_SSTREAM@
|
|
|
|
/* Whether old C++ <strstream.h> header is to be used. */
|
|
#define @KWSYS_NAMESPACE@_IOS_USE_STRSTREAM_H @KWSYS_IOS_USE_STRSTREAM_H@
|
|
|
|
/* Whether old C++ <strstrea.h> header is to be used. */
|
|
#define @KWSYS_NAMESPACE@_IOS_USE_STRSTREA_H @KWSYS_IOS_USE_STRSTREA_H@
|
|
|
|
/* Whether STL is in std namespace. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAVE_STD @KWSYS_STL_HAVE_STD@
|
|
|
|
/* Whether the STL string has operator<< for ostream. */
|
|
#define @KWSYS_NAMESPACE@_STL_STRING_HAVE_OSTREAM @KWSYS_STL_STRING_HAVE_OSTREAM@
|
|
|
|
/* Whether the STL string has operator>> for istream. */
|
|
#define @KWSYS_NAMESPACE@_STL_STRING_HAVE_ISTREAM @KWSYS_STL_STRING_HAVE_ISTREAM@
|
|
|
|
/* Whether the STL string has operator!= for char*. */
|
|
#define @KWSYS_NAMESPACE@_STL_STRING_HAVE_NEQ_CHAR @KWSYS_STL_STRING_HAVE_NEQ_CHAR@
|
|
|
|
/* Define the stl namespace macro. */
|
|
#if @KWSYS_NAMESPACE@_STL_HAVE_STD
|
|
# define @KWSYS_NAMESPACE@_stl std
|
|
#else
|
|
# define @KWSYS_NAMESPACE@_stl
|
|
#endif
|
|
|
|
/* Define the ios namespace macro. */
|
|
#if @KWSYS_NAMESPACE@_IOS_HAVE_STD
|
|
# define @KWSYS_NAMESPACE@_ios_namespace std
|
|
#else
|
|
# define @KWSYS_NAMESPACE@_ios_namespace
|
|
#endif
|
|
#if @KWSYS_NAMESPACE@_IOS_USE_SSTREAM
|
|
# define @KWSYS_NAMESPACE@_ios @KWSYS_NAMESPACE@_ios_namespace
|
|
#else
|
|
# define @KWSYS_NAMESPACE@_ios @KWSYS_NAMESPACE@_ios
|
|
#endif
|
|
|
|
/* Whether the cstddef header is available. */
|
|
#define @KWSYS_NAMESPACE@_CXX_HAS_CSTDDEF @KWSYS_CXX_HAS_CSTDDEF@
|
|
|
|
/* Whether the compiler supports null template arguments. */
|
|
#define @KWSYS_NAMESPACE@_CXX_HAS_NULL_TEMPLATE_ARGS @KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS@
|
|
|
|
/* Define the null template arguments macro. */
|
|
#if @KWSYS_NAMESPACE@_CXX_HAS_NULL_TEMPLATE_ARGS
|
|
# define @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS <>
|
|
#else
|
|
# define @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS
|
|
#endif
|
|
|
|
/* Whether the compiler supports member templates. */
|
|
#define @KWSYS_NAMESPACE@_CXX_HAS_MEMBER_TEMPLATES @KWSYS_CXX_HAS_MEMBER_TEMPLATES@
|
|
|
|
/* Whether the compiler supports argument dependent lookup. */
|
|
#define @KWSYS_NAMESPACE@_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP @KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP@
|
|
|
|
/* Whether the compiler supports standard full specialization syntax. */
|
|
#define @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION @KWSYS_CXX_HAS_FULL_SPECIALIZATION@
|
|
|
|
/* Define the specialization definition macro. */
|
|
#if @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION
|
|
# define @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION template <>
|
|
#else
|
|
# define @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
|
|
#endif
|
|
|
|
/* Define typename keyword macro for use in declarations. */
|
|
#if defined(_MSC_VER) && _MSC_VER < 1300
|
|
# define @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME
|
|
#else
|
|
# define @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME typename
|
|
#endif
|
|
|
|
/* Whether the stl has iterator_traits. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_TRAITS @KWSYS_STL_HAS_ITERATOR_TRAITS@
|
|
|
|
/* Whether the stl has iterator_category. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_CATEGORY @KWSYS_STL_HAS_ITERATOR_CATEGORY@
|
|
|
|
/* Whether the stl has __iterator_category. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAS___ITERATOR_CATEGORY @KWSYS_STL_HAS___ITERATOR_CATEGORY@
|
|
|
|
/* Whether the stl allocator is the standard template. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_TEMPLATE @KWSYS_STL_HAS_ALLOCATOR_TEMPLATE@
|
|
|
|
/* Whether the stl allocator is not a template. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_NONTEMPLATE @KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE@
|
|
|
|
/* Whether the stl allocator has rebind. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_REBIND @KWSYS_STL_HAS_ALLOCATOR_REBIND@
|
|
|
|
/* Whether the stl allocator has a size argument for max_size. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT @KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT@
|
|
|
|
/* Whether the stl containers support allocator objects. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_OBJECTS @KWSYS_STL_HAS_ALLOCATOR_OBJECTS@
|
|
|
|
/* Whether struct stat has the st_mtim member for high resolution times. */
|
|
#define @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM @KWSYS_STAT_HAS_ST_MTIM@
|
|
|
|
/* If building a C++ file in kwsys itself, give the source file
|
|
access to the macros without a configured namespace. */
|
|
#if defined(KWSYS_NAMESPACE)
|
|
# if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
# define kwsys_stl @KWSYS_NAMESPACE@_stl
|
|
# define kwsys_ios @KWSYS_NAMESPACE@_ios
|
|
# define kwsys @KWSYS_NAMESPACE@
|
|
# endif
|
|
# define KWSYS_NAME_IS_KWSYS @KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
# define KWSYS_STL_HAVE_STD @KWSYS_NAMESPACE@_STL_HAVE_STD
|
|
# define KWSYS_IOS_HAVE_STD @KWSYS_NAMESPACE@_IOS_HAVE_STD
|
|
# define KWSYS_IOS_USE_ANSI @KWSYS_NAMESPACE@_IOS_USE_ANSI
|
|
# define KWSYS_IOS_USE_SSTREAM @KWSYS_NAMESPACE@_IOS_USE_SSTREAM
|
|
# define KWSYS_IOS_USE_STRSTREAM_H @KWSYS_NAMESPACE@_IOS_USE_STRSTREAM_H
|
|
# define KWSYS_IOS_USE_STRSTREA_H @KWSYS_NAMESPACE@_IOS_USE_STRSTREA_H
|
|
# define KWSYS_STAT_HAS_ST_MTIM @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM
|
|
# define KWSYS_CXX_HAS_CSTDDEF @KWSYS_NAMESPACE@_CXX_HAS_CSTDDEF
|
|
# define KWSYS_STL_STRING_HAVE_OSTREAM @KWSYS_NAMESPACE@_STL_STRING_HAVE_OSTREAM
|
|
# define KWSYS_STL_STRING_HAVE_ISTREAM @KWSYS_NAMESPACE@_STL_STRING_HAVE_ISTREAM
|
|
# define KWSYS_STL_STRING_HAVE_NEQ_CHAR @KWSYS_NAMESPACE@_STL_STRING_HAVE_NEQ_CHAR
|
|
# define KWSYS_CXX_NULL_TEMPLATE_ARGS @KWSYS_NAMESPACE@_CXX_NULL_TEMPLATE_ARGS
|
|
# define KWSYS_CXX_HAS_MEMBER_TEMPLATES @KWSYS_NAMESPACE@_CXX_HAS_MEMBER_TEMPLATES
|
|
# define KWSYS_CXX_HAS_FULL_SPECIALIZATION @KWSYS_NAMESPACE@_CXX_HAS_FULL_SPECIALIZATION
|
|
# define KWSYS_CXX_DEFINE_SPECIALIZATION @KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
|
|
# define KWSYS_CXX_DECL_TYPENAME @KWSYS_NAMESPACE@_CXX_DECL_TYPENAME
|
|
# define KWSYS_STL_HAS_ALLOCATOR_REBIND @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_REBIND
|
|
# define KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT
|
|
# define KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP @KWSYS_NAMESPACE@_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP
|
|
# define KWSYS_STL_HAS_ITERATOR_TRAITS @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_TRAITS
|
|
# define KWSYS_STL_HAS_ITERATOR_CATEGORY @KWSYS_NAMESPACE@_STL_HAS_ITERATOR_CATEGORY
|
|
# define KWSYS_STL_HAS___ITERATOR_CATEGORY @KWSYS_NAMESPACE@_STL_HAS___ITERATOR_CATEGORY
|
|
# define KWSYS_STL_HAS_ALLOCATOR_TEMPLATE @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_TEMPLATE
|
|
# define KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_NONTEMPLATE
|
|
# define KWSYS_STL_HAS_ALLOCATOR_OBJECTS @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_OBJECTS
|
|
#endif
|
|
|
|
#endif
|