Skip to content
Snippets Groups Projects
Xerces_autoconf_config.msvc.hpp 4.38 KiB
Newer Older
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id$
 */

#if !defined(XERCESC_INCLUDE_GUARD_XERCES_AUTOCONFIG_CONFIG_HPP)
#define XERCESC_INCLUDE_GUARD_XERCES_AUTOCONFIG_CONFIG_HPP

//
// There are two primary xerces configuration header files:
//
//	Xerces_autoconf_config.hpp	--  For configuration of items that must be accessable
//									through public headers. This file has limited information
//									and carefully works to avoid collision of macro names, etc.
//
//									This file is included by XercesDefs.h.
//									This version of the file is specific for Microsoft Visual C++
//									family of compilers
//
//	config.h					--  This file is not used with Microsoft Visual C++; the macros
//									it would specify are instead hardcoded in the makefiles
//

// silence the warning "while compiling class-template member function xxxx : identifier was truncated to '255' 
// characters in the browser information"
#pragma warning( disable: 4786 )
// ---------------------------------------------------------------------------
//  These defines have been hardcoded for the Microsoft Visual C++ compilers
// ---------------------------------------------------------------------------
#undef XERCES_AUTOCONF
#undef XERCES_HAVE_SYS_TYPES_H
#undef XERCES_HAVE_INTTYPES_H

#define XERCES_S16BIT_INT   signed short
#define XERCES_U16BIT_INT   unsigned short
#define XERCES_S32BIT_INT   INT32
#define XERCES_U32BIT_INT   UINT32
Alberto Massari's avatar
Alberto Massari committed
#define XERCES_U64BIT_INT   UINT64

#ifdef _NATIVE_WCHAR_T_DEFINED 
#define XERCES_XMLCH_T      wchar_t
#else
#define XERCES_SIZE_T       SIZE_T
#define XERCES_SSIZE_T      SSIZE_T

#define XERCES_HAS_CPP_NAMESPACE    1
#define XERCES_STD_NAMESPACE        1
#define XERCES_NEW_IOSTREAMS        1
#undef XERCES_NO_NATIVE_BOOL
#define XERCES_LSTRSUPPORT          1

#ifdef XERCES_STATIC_LIBRARY
#define XERCES_PLATFORM_EXPORT
#define XERCES_PLATFORM_IMPORT
#else
#define XERCES_PLATFORM_EXPORT __declspec(dllexport)
#define XERCES_PLATFORM_IMPORT __declspec(dllimport)
#define DLL_EXPORT
#endif

// ---------------------------------------------------------------------------
//  XMLSize_t is the unsigned integral type.
// ---------------------------------------------------------------------------
typedef XERCES_SIZE_T				XMLSize_t;
typedef XERCES_SSIZE_T				XMLSSize_t;

// ---------------------------------------------------------------------------
//  Define our version of the XML character
// ---------------------------------------------------------------------------
typedef XERCES_XMLCH_T				XMLCh;

// ---------------------------------------------------------------------------
//  Define unsigned 16 and 32 bit integers
// ---------------------------------------------------------------------------
typedef XERCES_U16BIT_INT			XMLUInt16;
typedef XERCES_U32BIT_INT			XMLUInt32;

// ---------------------------------------------------------------------------
//  Define signed 32 bit integers
// ---------------------------------------------------------------------------

// ---------------------------------------------------------------------------
//  XMLFilePos is the type used to represent a file position.
// ---------------------------------------------------------------------------
Alberto Massari's avatar
Alberto Massari committed
typedef XERCES_U64BIT_INT			XMLFilePos;

// ---------------------------------------------------------------------------
//  Force on the Xerces debug token if it is on in the build environment
// ---------------------------------------------------------------------------
#if defined(_DEBUG)
#define XERCES_DEBUG
#endif

#endif