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: Xerces_autoconf_config.msvc.hpp 679467 2008-07-24 17:24:46Z borisk $ 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 #define XERCES_SIZEOF_INT 4 00074 #define XERCES_SIZEOF_LONG 4 00075 00076 #if (_MSC_VER >= 1300) 00077 # define XERCES_SIZEOF_INT64 8 00078 #else 00079 # define XERCES_SIZEOF_INT64 4 00080 #endif 00081 00082 #ifdef _NATIVE_WCHAR_T_DEFINED 00083 #define XERCES_XMLCH_T wchar_t 00084 #else 00085 #define XERCES_XMLCH_T unsigned short 00086 #endif 00087 00088 #define XERCES_SIZE_T SIZE_T 00089 #define XERCES_SSIZE_T SSIZE_T 00090 00091 #define XERCES_HAS_CPP_NAMESPACE 1 00092 #define XERCES_STD_NAMESPACE 1 00093 #define XERCES_NEW_IOSTREAMS 1 00094 #undef XERCES_NO_NATIVE_BOOL 00095 #define XERCES_LSTRSUPPORT 1 00096 00097 #ifdef XERCES_STATIC_LIBRARY 00098 #define XERCES_PLATFORM_EXPORT 00099 #define XERCES_PLATFORM_IMPORT 00100 #else 00101 #define XERCES_PLATFORM_EXPORT __declspec(dllexport) 00102 #define XERCES_PLATFORM_IMPORT __declspec(dllimport) 00103 #define DLL_EXPORT 00104 #endif 00105 00106 #define XERCES_MFC_SUPPORT 00107 00108 // --------------------------------------------------------------------------- 00109 // XMLSize_t is the unsigned integral type. 00110 // --------------------------------------------------------------------------- 00111 typedef XERCES_SIZE_T XMLSize_t; 00112 typedef XERCES_SSIZE_T XMLSSize_t; 00113 00114 // --------------------------------------------------------------------------- 00115 // Define our version of the XML character 00116 // --------------------------------------------------------------------------- 00117 typedef XERCES_XMLCH_T XMLCh; 00118 00119 // --------------------------------------------------------------------------- 00120 // Define unsigned 16, 32, and 64 bit integers 00121 // --------------------------------------------------------------------------- 00122 typedef XERCES_U16BIT_INT XMLUInt16; 00123 typedef XERCES_U32BIT_INT XMLUInt32; 00124 typedef XERCES_U64BIT_INT XMLUInt64; 00125 00126 // --------------------------------------------------------------------------- 00127 // Define signed 16, 32, and 64 bit integers 00128 // --------------------------------------------------------------------------- 00129 typedef XERCES_S16BIT_INT XMLInt16; 00130 typedef XERCES_S32BIT_INT XMLInt32; 00131 typedef XERCES_S64BIT_INT XMLInt64; 00132 00133 // --------------------------------------------------------------------------- 00134 // XMLFilePos is the type used to represent a file position. 00135 // --------------------------------------------------------------------------- 00136 typedef XMLUInt64 XMLFilePos; 00137 00138 // --------------------------------------------------------------------------- 00139 // XMLFileLoc is the type used to represent a file location (line/column). 00140 // --------------------------------------------------------------------------- 00141 typedef XMLUInt64 XMLFileLoc; 00142 00143 // --------------------------------------------------------------------------- 00144 // Force on the Xerces debug token if it is on in the build environment 00145 // --------------------------------------------------------------------------- 00146 #if defined(_DEBUG) 00147 #define XERCES_DEBUG 00148 #endif 00149 00150 #endif