Xerces-C++: AutoSense.hpp Source File

| API Docs for SAX and DOM |
| Main Page Classes Files Related Pages # AutoSense.hpp Go to the documentation of this file.
    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: AutoSense.hpp 568078 2007-08-21 11:43:25Z amassari $
    00020  */
    00021
    00022 #ifndef AUTOSENSE_HPP
    00023 #define AUTOSENSE_HPP
    00024
    00025 // ---------------------------------------------------------------------------
    00026 //  This section attempts to auto detect the operating system. It will set
    00027 //  up XercesC specific defines that are used by the rest of the code.
    00028 // ---------------------------------------------------------------------------
    00029 #if defined(_AIX)
    00030     #define XML_AIX
    00031     #define XML_UNIX
    00032     #if defined(_AIXVERSION_430)
    00033         #define XML_AIX43  // for use of POSIX compliant pthread functions
    00034     #endif
    00035 #elif defined(_SEQUENT_)
    00036     #define XML_PTX
    00037     #define XML_UNIX
    00038 #elif defined(_HP_UX) || defined(__hpux) || defined(_HPUX_SOURCE)
    00039     #define XML_HPUX
    00040     #define XML_UNIX
    00041 #elif defined(SOLARIS) || defined(__SVR4)
    00042     #define XML_SOLARIS
    00043     #define XML_UNIX
    00044 #elif defined(_SCO_DS)
    00045     #define XML_OPENSERVER
    00046     #define XML_UNIX
    00047 #elif defined(__UNIXWARE__) || defined(__USLC__)
    00048     #define XML_UNIXWARE
    00049     #define XML_UNIX
    00050 #elif defined(__BEOS__)
    00051     #define XML_BEOS
    00052     #define XML_UNIX
    00053 #elif defined(__QNXNTO__)
    00054     #define XML_QNX
    00055     #define XML_UNIX
    00056 #elif defined(__linux__)
    00057     #define XML_LINUX
    00058     #define XML_UNIX
    00059     #if defined(__s390__)
    00060         #define XML_LINUX_390
    00061     #endif
    00062 #elif defined(__FreeBSD__)
    00063     #define XML_FREEBSD
    00064     #define XML_UNIX
    00065 #elif defined(IRIX) || defined(__sgi)
    00066     #define XML_IRIX
    00067     #define XML_UNIX
    00068 #elif defined(__MVS__)
    00069     #define XML_OS390
    00070     #define XML_UNIX
    00071 #elif defined(EXM_OS390)
    00072     #define XML_OS390
    00073     #define XML_UNIX
    00074 #elif defined(__OS400__)
    00075     #define XML_AS400
    00076     #define XML_UNIX
    00077 #elif defined(__OS2__)
    00078     #define XML_OS2
    00079 #elif defined(__TANDEM)
    00080     #define XML_TANDEM
    00081     #define XML_UNIX
    00082     #define XML_CSET
    00083 #elif defined(__CYGWIN__)
    00084     #define XML_CYGWIN
    00085     #ifndef WIN32
    00086       #define WIN32
    00087     #endif
    00088 #elif defined(_WIN32) || defined(WIN32)
    00089     #define XML_WIN32
    00090     #ifndef WIN32
    00091       #define WIN32
    00092     #endif
    00093 #elif defined(__WINDOWS__)
    00094
    00095     // IBM VisualAge special handling
    00096     #if defined(__32BIT__)
    00097         #define XML_WIN32
    00098     #else
    00099         #define XML_WIN16
    00100     #endif
    00101 #elif defined(__MSDXML__)
    00102     #define XML_DOS
    00103
    00104 #elif defined(macintosh) || (defined(__APPLE__) && defined(__MACH__))
    00105     #define XML_MACOS
    00106 #elif defined(__alpha) && defined(__osf__)
    00107     #define XML_TRU64
    00108 #elif defined(__NetBSD__)
    00109     #define XML_NETBSD
    00110 #elif defined(__INTERIX)
    00111     #define XML_INTERIX
    00112     #define XML_UNIX
    00113 #else
    00114     #error Code requires port to host OS!
    00115 #endif
    00116
    00117
    00118 // ---------------------------------------------------------------------------
    00119 //  This section attempts to autodetect the compiler being used. It will set
    00120 //  up Xerces specific defines that can be used by the rest of the code.
    00121 // ---------------------------------------------------------------------------
    00122 #if defined(__BORLANDC__)
    00123     #define XML_BORLAND
    00124 #elif defined(_MSC_VER)
    00125     #define XML_VISUALCPP
    00126 #elif defined(XML_SOLARIS)
    00127     #if defined(__SUNPRO_CC) && (__SUNPRO_CC >=0x500)
    00128         #define XML_SUNCC5
    00129     #elif defined(__SUNPRO_CC) && (__SUNPRO_CC <0x500)
    00130         #define XML_SUNCC
    00131     #elif defined(_EDG_RUNTIME_USES_NAMESPACES)
    00132         #define XML_SOLARIS_KAICC
    00133     #elif defined(__GNUG__)
    00134         #define XML_GCC
    00135     #else
    00136         #error Code requires port to current development environment
    00137     #endif
    00138 #elif defined (__QNXNTO__)
    00139     #define XML_QCC
    00140 #elif defined(__IBMC__) || defined(__IBMCPP__)
    00141     #if defined(XML_WIN32)
    00142         #define XML_IBMVAW32
    00143     #elif defined(XML_OS2)
    00144         #define XML_IBMVAOS2
    00145         #if (__IBMC__ >= 400 || __IBMCPP__ >= 400)
    00146             #define XML_IBMVA4_OS2
    00147         #endif
    00148     #elif defined(XML_AIX) || defined(__linux__)
    00149         #define XML_CSET
    00150     #elif defined(__MVS__) && defined(__cplusplus)
    00151         #define XML_MVSCPP
    00152     #elif defined(EXM_OS390) && defined(__cplusplus)
    00153         #define XML_MVSCPP
    00154     #endif
    00155 #elif defined (__GNUG__) || defined(__BEOS__) || defined(__linux__) || defined(__CYGWIN__)
    00156     #define XML_GCC
    00157 #elif defined(XML_HPUX)
    00158     #if defined(EXM_HPUX)
    00159         #define XML_HPUX_KAICC
    00160     #elif (__cplusplus == 1)
    00161         #define XML_HPUX_CC
    00162     #elif (__cplusplus == 199707 || __cplusplus == 199711)
    00163         #define XML_HPUX_aCC
    00164     #endif
    00165 #elif defined(XML_IRIX)
    00166     #define XML_MIPSPRO_CC
    00167 #elif defined(XML_PTX)
    00168     #define XML_PTX_CC
    00169 #elif defined(XML_TANDEM)
    00170     #define XML_TANDEMCC
    00171 #elif defined(__MVS__) && defined(__cplusplus)
    00172     #define XML_MVSCPP
    00173 #elif defined(EXM_OS390) && defined(__cplusplus)
    00174     #define XML_MVSCPP
    00175 #elif defined(XML_TRU64) && defined(__DECCXX)
    00176     #define XML_DECCXX
    00177 #elif defined(__MWERKS__)
    00178     #define XML_METROWERKS
    00179 #elif defined(__OS400__)
    00180 #elif defined(XML_UNIXWARE)
    00181     #define XML_SCOCC
    00182 #else
    00183     #error Code requires port to current development environment
    00184 #endif
    00185
    00186 // ---------------------------------------------------------------------------
    00187 //  The gcc compiler 2.95... is generating an internal error for some template
    00188 //  definitions. So, if we are compiling with gcc, have a specific define that
    00189 //  we can later use in the code.
    00190 // ---------------------------------------------------------------------------
    00191 #if defined(__GNUC__)
    00192 #define XML_GCC_VERSION (__GNUC__ * 10000 \
    00193                          + __GNUC_MINOR__ * 100 \
    00194                          + __GNUC_PATCHLEVEL__)
    00195 #endif
    00196
    00197
    00198 #endif

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.