00001 /* 00002 * Licensed to the Apache Software Foundation (ASF) under one or more 00003 * contributor license agreements. See the NOTICE file distributed with 00004 * this work for additional information regarding copyright ownership. 00005 * The ASF licenses this file to You under the Apache License, Version 2.0 00006 * (the "License"); you may not use this file except in compliance with 00007 * the License. You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 00018 /* 00019 * $Id$ 00020 */ 00021 00022 #if !defined(XERCESC_INCLUDE_GUARD_XERCES_AUTOCONFIG_CONFIG_HPP) 00023 #define XERCESC_INCLUDE_GUARD_XERCES_AUTOCONFIG_CONFIG_HPP 00024 00025 // 00026 // There are two primary xerces configuration header files: 00027 // 00028 // Xerces_autoconf_config.hpp 00029 // 00030 // For configuration of items that must be accessable 00031 // through public headers. This file has limited information 00032 // and carefully works to avoid collision of macro names, etc. 00033 // 00034 // This file is included by XercesDefs.h. 00035 // This version of the file is specific for Microsoft Visual C++ 00036 // family of compilers 00037 // 00038 // config.h 00039 // 00040 // This file is not used with Microsoft Visual C++; the macros 00041 // it would specify are instead hardcoded in the makefiles 00042 // 00043 00044 #include <basetsd.h> 00045 00046 // silence the warning "while compiling class-template member function xxxx : identifier was truncated to '255' 00047 // characters in the browser information" 00048 #pragma warning( disable: 4786 ) 00049 00050 // --------------------------------------------------------------------------- 00051 // These defines have been hardcoded for the Microsoft Visual C++ compilers 00052 // --------------------------------------------------------------------------- 00053 #undef XERCES_AUTOCONF 00054 #undef XERCES_HAVE_SYS_TYPES_H 00055 #undef XERCES_HAVE_INTTYPES_H 00056 00057 #define XERCES_S16BIT_INT signed short 00058 #define XERCES_U16BIT_INT unsigned short 00059 #define XERCES_S32BIT_INT INT32 00060 #define XERCES_U32BIT_INT UINT32 00061 00062 // While VC6 has 64-bit int, there is no support in the libraries 00063 // (e.g., iostream). So we are going to stick to 32-bit ints. 00064 // 00065 #if (_MSC_VER >= 1300) 00066 # define XERCES_S64BIT_INT INT64 00067 # define XERCES_U64BIT_INT UINT64 00068 #else 00069 # define XERCES_S64BIT_INT INT32 00070 # define XERCES_U64BIT_INT UINT32 00071 #endif 00072 00073 #ifdef _NATIVE_WCHAR_T_DEFINED 00074 # define XERCES_XMLCH_T wchar_t 00075 #else 00076 # define XERCES_XMLCH_T unsigned short 00077 #endif 00078 00079 #define XERCES_SIZE_T SIZE_T 00080 #define XERCES_SSIZE_T SSIZE_T 00081 00082 #define XERCES_HAS_CPP_NAMESPACE 1 00083 #define XERCES_STD_NAMESPACE 1 00084 #define XERCES_NEW_IOSTREAMS 1 00085 #undef XERCES_NO_NATIVE_BOOL 00086 #define XERCES_LSTRSUPPORT 1 00087 00088 #ifdef XERCES_STATIC_LIBRARY 00089 # define XERCES_PLATFORM_EXPORT 00090 # define XERCES_PLATFORM_IMPORT 00091 #else 00092 # define XERCES_PLATFORM_EXPORT __declspec(dllexport) 00093 # define XERCES_PLATFORM_IMPORT __declspec(dllimport) 00094 # define DLL_EXPORT 00095 #endif 00096 00097 #define XERCES_MFC_SUPPORT 00098 00099 #if (_MSC_VER >= 1400) 00100 # define XERCES_HAVE_INTRIN_H 1 00101 # define XERCES_HAVE_EMMINTRIN_H 1 00102 # define XERCES_HAVE_CPUID_INTRINSIC 00103 # define XERCES_HAVE_SSE2_INTRINSIC 00104 #endif 00105 00106 // --------------------------------------------------------------------------- 00107 // XMLSize_t is the unsigned integral type. 00108 // --------------------------------------------------------------------------- 00109 typedef XERCES_SIZE_T XMLSize_t; 00110 typedef XERCES_SSIZE_T XMLSSize_t; 00111 00112 // --------------------------------------------------------------------------- 00113 // Define our version of the XML character 00114 // --------------------------------------------------------------------------- 00115 typedef XERCES_XMLCH_T XMLCh; 00116 00117 // --------------------------------------------------------------------------- 00118 // Define unsigned 16, 32, and 64 bit integers 00119 // --------------------------------------------------------------------------- 00120 typedef XERCES_U16BIT_INT XMLUInt16; 00121 typedef XERCES_U32BIT_INT XMLUInt32; 00122 typedef XERCES_U64BIT_INT XMLUInt64; 00123 00124 // --------------------------------------------------------------------------- 00125 // Define signed 16, 32, and 64 bit integers 00126 // --------------------------------------------------------------------------- 00127 typedef XERCES_S16BIT_INT XMLInt16; 00128 typedef XERCES_S32BIT_INT XMLInt32; 00129 typedef XERCES_S64BIT_INT XMLInt64; 00130 00131 // --------------------------------------------------------------------------- 00132 // XMLFilePos is the type used to represent a file position. 00133 // --------------------------------------------------------------------------- 00134 typedef XMLUInt64 XMLFilePos; 00135 00136 // --------------------------------------------------------------------------- 00137 // XMLFileLoc is the type used to represent a file location (line/column). 00138 // --------------------------------------------------------------------------- 00139 typedef XMLUInt64 XMLFileLoc; 00140 00141 // --------------------------------------------------------------------------- 00142 // Force on the Xerces debug token if it is on in the build environment 00143 // --------------------------------------------------------------------------- 00144 #if defined(_DEBUG) 00145 # define XERCES_DEBUG 00146 #endif 00147 00148 #endif