http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Installation
Build

API Docs
Samples
Programming
Migration
FAQs

Releases
Feedback
Bug-Todo

Download
CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

AutoSense.hpp

Go to the documentation of this file.
00001 /*
00002  * The Apache Software License, Version 1.1

00003  *
00004  * Copyright (c) 1999-2000 The Apache Software Foundation.  All rights

00005  * reserved.

00006  *
00007  * Redistribution and use in source and binary forms, with or without

00008  * modification, are permitted provided that the following conditions

00009  * are met:

00010  *
00011  * 1. Redistributions of source code must retain the above copyright

00012  *    notice, this list of conditions and the following disclaimer.

00013  *
00014  * 2. Redistributions in binary form must reproduce the above copyright

00015  *    notice, this list of conditions and the following disclaimer in

00016  *    the documentation and/or other materials provided with the

00017  *    distribution.

00018  *
00019  * 3. The end-user documentation included with the redistribution,

00020  *    if any, must include the following acknowledgment:

00021  *       "This product includes software developed by the

00022  *        Apache Software Foundation (http://www.apache.org/)."

00023  *    Alternately, this acknowledgment may appear in the software itself,

00024  *    if and wherever such third-party acknowledgments normally appear.

00025  *
00026  * 4. The names "Xerces" and "Apache Software Foundation" must

00027  *    not be used to endorse or promote products derived from this

00028  *    software without prior written permission. For written

00029  *    permission, please contact apache\@apache.org.

00030  *
00031  * 5. Products derived from this software may not be called "Apache",

00032  *    nor may "Apache" appear in their name, without prior written

00033  *    permission of the Apache Software Foundation.

00034  *
00035  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

00036  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

00037  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

00038  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

00039  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

00040  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

00041  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

00042  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

00043  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

00044  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

00045  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

00046  * SUCH DAMAGE.

00047  * ====================================================================

00048  *
00049  * This software consists of voluntary contributions made by many

00050  * individuals on behalf of the Apache Software Foundation, and was

00051  * originally based on software copyright (c) 1999, International

00052  * Business Machines, Inc., http://www.ibm.com .  For more information

00053  * on the Apache Software Foundation, please see

00054  * <http://www.apache.org/>.

00055  */
00056 
00057 /*
00058  * $Log: AutoSense.hpp,v $

00059  * Revision 1.17  2001/01/26 21:59:25  tng

00060  * Change bug-todo list to xml format.  Other documentation fixes.

00061  *
00062  * Revision 1.16  2000/10/09 18:15:43  jberry

00063  * Modify sensing of Mac OS X.

00064  * PR:

00065  * Obtained from:

00066  * Submitted by:

00067  * Reviewed by:

00068  * PR:

00069  * Obtained from:

00070  * Submitted by:

00071  * Reviewed by:

00072  *
00073  * Revision 1.15  2000/09/21 00:54:18  aruna1

00074  * OS2 related changes given by Bill Schindler

00075  *
00076  * Revision 1.14  2000/08/01 18:26:02  aruna1

00077  * Tru64 support added

00078  *
00079  * Revision 1.13  2000/07/18 18:25:58  andyh

00080  * Mac OS update.

00081  * Contributed by James Berry <jberry@criticalpath.com>

00082  *
00083  * Revision 1.12  2000/04/04 20:11:29  abagchi

00084  * Added PTX support

00085  *
00086  * Revision 1.11  2000/03/02 19:54:37  roddey

00087  * This checkin includes many changes done while waiting for the

00088  * 1.1.0 code to be finished. I can't list them all here, but a list is

00089  * available elsewhere.

00090  *
00091  * Revision 1.10  2000/03/02 01:51:00  aruna1

00092  * Sun CC 5.0 related changes

00093  *
00094  * Revision 1.9  2000/02/24 20:05:23  abagchi

00095  * Swat for removing Log from API docs

00096  *
00097  * Revision 1.8  2000/02/22 01:00:10  aruna1

00098  * GNUGDefs references removed. Now only GCCDefs is used instead

00099  *
00100  * Revision 1.7  2000/02/06 07:48:00  rahulj

00101  * Year 2K copyright swat.

00102  *
00103  * Revision 1.6  2000/02/01 23:43:22  abagchi

00104  * AS/400 related change

00105  *
00106  * Revision 1.5  2000/01/21 22:12:29  abagchi

00107  * OS390 Change: changed OE390 to OS390

00108  *
00109  * Revision 1.4  1999/12/18 00:47:01  rahulj

00110  * Merged in some changes for OS390.

00111  *
00112  * Revision 1.3  1999/12/17 01:28:53  rahulj

00113  * Merged in changes submitted for UnixWare 7 port. Platform

00114  * specific files are still missing.

00115  *
00116  * Revision 1.2  1999/12/01 17:16:16  rahulj

00117  * Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel

00118  *
00119  * Revision 1.1.1.1  1999/11/09 01:03:55  twl

00120  * Initial checkin

00121  *
00122  * Revision 1.2  1999/11/08 20:45:03  rahul

00123  * Swat for adding in Product name and CVS comment log variable.

00124  *
00125  */
00126 
00127 #ifndef AUTOSENSE_HPP
00128 #define AUTOSENSE_HPP
00129 
00130 // ---------------------------------------------------------------------------
00131 //  This section attempts to auto detect the operating system. It will set
00132 //  up XercesC specific defines that are used by the rest of the code.
00133 // ---------------------------------------------------------------------------
00134 #if defined(_AIX)
00135     #define XML_AIX
00136     #define XML_UNIX
00137 #elif defined(_SEQUENT_)
00138     #define XML_PTX
00139     #define XML_UNIX
00140 #elif defined(_HP_UX) || defined(__hpux) || defined(_HPUX_SOURCE)
00141     #define XML_HPUX
00142     #define XML_UNIX
00143 #elif defined(SOLARIS) || defined(__SVR4) || defined(UNIXWARE)
00144     #if defined(UNIXWARE)
00145         #define XML_UNIXWARE
00146         #define XML_CSET
00147         #define XML_SCOCC
00148         #define XML_UNIX
00149     #else
00150         #define XML_SOLARIS
00151         #define XML_UNIX
00152     #endif
00153 #elif defined(__linux__)
00154     #define XML_LINUX
00155     #define XML_UNIX
00156 #elif defined(IRIX)
00157     #define XML_IRIX
00158     #define XML_UNIX
00159 #elif defined(__MVS__)
00160     #define XML_OS390
00161     #define XML_UNIX
00162 #elif defined(EXM_OS390)
00163     #define XML_OS390
00164     #define XML_UNIX
00165 #elif defined(__OS400__)
00166     #define XML_AS400
00167     #define XML_UNIX
00168 #elif defined(__OS2__)
00169     #define XML_OS2
00170 #elif defined(__TANDEM)
00171     #define XML_TANDEM
00172     #define XML_UNIX
00173     #define XML_CSET
00174 #elif defined(_WIN32) || defined(WIN32)
00175     #define XML_WIN32
00176     #ifndef WIN32
00177       #define WIN32
00178     #endif
00179 #elif defined(__WINDOWS__)
00180 
00181     // IBM VisualAge special handling
00182     #if defined(__32BIT__)
00183         #define XML_WIN32
00184     #else
00185         #define XML_WIN16
00186     #endif
00187 #elif defined(__MSDXML__)
00188     #define XML_DOS
00189 
00190 #elif defined(macintosh)
00191     #define XML_MACOS
00192 #elif defined(__APPLE__) && defined(__MACH__)
00193     #define XML_MACOSX
00194 #elif defined(__alpha) && defined(__osf__)
00195     #define XML_TRU64
00196 #else
00197     #error Code requires port to host OS!
00198 #endif
00199 
00200 
00201 // ---------------------------------------------------------------------------
00202 //  This section attempts to autodetect the compiler being used. It will set
00203 //  up Xerces specific defines that can be used by the rest of the code.
00204 // ---------------------------------------------------------------------------
00205 #if defined(__BORLANDC__)
00206     #define XML_BORLAND
00207 #elif defined(_MSC_VER)
00208     #define XML_VISUALCPP
00209 #elif defined(__xlC__)
00210     #define XML_CSET
00211 #elif defined(XML_SOLARIS) || defined(XML_UNIXWARE)
00212     #if defined(__SUNPRO_CC) & __SUNPRO_CC >=0x500
00213         #define XML_SUNCC5
00214     #elif defined(__SUNPRO_CC) & __SUNPRO_CC <0x500
00215         #define XML_SUNCC
00216     #elif defined(_EDG_RUNTIME_USES_NAMESPACES)
00217         #define XML_SOLARIS_KAICC
00218     #elif defined(__GNUG__)
00219         #define XML_GCC
00220     #endif
00221 #elif defined (__GNUG__) || defined(__linux__)
00222     #define XML_GCC
00223 #elif defined(XML_HPUX)
00224     #if defined(EXM_HPUX)
00225         #define XML_HPUX_KAICC
00226     #elif (__cplusplus == 1)
00227         #define XML_HPUX_CC
00228     #elif (__cplusplus == 199707 || __cplusplus == 199711)
00229         #define XML_HPUX_aCC
00230     #endif
00231 #elif defined(XML_IRIX) || defined(__sgi)
00232     #define XML_MIPSPRO_CC
00233 #elif defined(XML_PTX)
00234     #define XML_PTX_CC
00235 #elif defined(XML_TANDEM)
00236     #define XML_TANDEMCC
00237 #elif defined(__MVS__) && defined(__cplusplus)
00238     #define XML_MVSCPP
00239 #elif defined(EXM_OS390) && defined(__cplusplus)
00240     #define XML_MVSCPP
00241 #elif defined(__IBMC__) || defined(__IBMCPP__)
00242     #if defined(XML_WIN32)
00243         #define XML_IBMVAW32
00244     #elif defined(XML_OS2)
00245         #define XML_IBMVAOS2
00246         #if (__IBMC__ >= 400 || __IBMCPP__ >= 400)
00247             #define XML_IBMVA4_OS2
00248         #endif
00249     #endif
00250 #elif defined(XML_TRU64) && defined(__DECCXX)
00251     #define XML_DECCXX
00252 #elif defined(__MWERKS__)
00253     #define XML_METROWERKS
00254 #elif defined(__OS400__)
00255 #else
00256     #error Code requires port to current development environment
00257 #endif
00258 
00259 #endif


Copyright © 2000 The Apache Software Foundation. All Rights Reserved.