source: NonGTP/Xerces/xerces-c_2_8_0/include/xercesc/util/Compilers/CodeWarriorDefs.hpp @ 2674

Revision 2674, 5.9 KB checked in by mattausch, 16 years ago (diff)
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: CodeWarriorDefs.hpp 568078 2007-08-21 11:43:25Z amassari $
20 */
21
22#if !defined(CODEWARRIORDEFS_HPP)
23#define CODEWARRIORDEFS_HPP
24
25// ---------------------------------------------------------------------------
26//  Include some runtime files that will be needed product wide
27// ---------------------------------------------------------------------------
28//#include <sys/types.h>        // for size_t and ssize_t
29//#include <limits.h>           // for MAX of size_t and ssize_t
30//#include <extras.h>
31
32#if defined(_WIN32) || defined(WIN32)
33#include <wchar.h>
34#include <wctype.h>
35#endif
36 
37
38// ---------------------------------------------------------------------------
39//  A define in the build for each project is also used to control whether
40//  the export keyword is from the project's viewpoint or the client's.
41//  These defines provide the platform specific keywords that they need
42//  to do this.
43// ---------------------------------------------------------------------------
44#if defined(XML_MACOS)
45#define PLATFORM_EXPORT         __declspec(export)
46#define PLATFORM_IMPORT         __declspec(import)
47#elif defined(_WIN32) || defined(WIN32)
48#define PLATFORM_EXPORT     __declspec(dllexport)
49#define PLATFORM_IMPORT     __declspec(dllimport)
50#endif
51 
52// ---------------------------------------------------------------------------
53//  Indicate that we do not support native bools
54//  If the compiler can handle boolean itself, do not define it
55// ---------------------------------------------------------------------------
56// #define NO_NATIVE_BOOL
57
58// ---------------------------------------------------------------------------
59//  Each compiler might support L"" prefixed constants. There are places
60//  where it is advantageous to use the L"" where it supported, to avoid
61//  unnecessary transcoding.
62//  If your compiler does not support it, don't define this.
63// ---------------------------------------------------------------------------
64#define XML_LSTRSUPPORT
65
66// ---------------------------------------------------------------------------
67//  Indicate that we support C++ namespace
68//  Do not define it if the compile cannot handle C++ namespace
69// ---------------------------------------------------------------------------
70#define XERCES_HAS_CPP_NAMESPACE
71
72// ---------------------------------------------------------------------------
73//  Define our version of the XML character
74// ---------------------------------------------------------------------------
75#if defined(XML_MACOS)
76typedef unsigned short  XMLCh;
77#elif defined(_WIN32) || defined(WIN32)
78typedef wchar_t                 XMLCh;
79#endif
80
81// ---------------------------------------------------------------------------
82//  Define unsigned 16 and 32 bits integers
83// ---------------------------------------------------------------------------
84typedef unsigned short  XMLUInt16;
85typedef unsigned int    XMLUInt32;
86
87// ---------------------------------------------------------------------------
88//  Define signed 32 bits integers
89// ---------------------------------------------------------------------------
90typedef int             XMLInt32;
91
92// ---------------------------------------------------------------------------
93//  XMLSize_t is the unsigned integral type.
94// ---------------------------------------------------------------------------
95#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
96    typedef size_t              XMLSize_t;
97    #define XML_SIZE_MAX        SIZE_MAX
98    typedef ssize_t             XMLSSize_t;
99    #define XML_SSIZE_MAX       SSIZE_MAX
100#else
101    typedef unsigned long       XMLSize_t;
102    #define XML_SIZE_MAX        ULONG_MAX
103    typedef long                XMLSSize_t;
104    #define XML_SSIZE_MAX       LONG_MAX
105#endif
106
107// ---------------------------------------------------------------------------
108//  Force on the Xerces debug token if it was on in the build environment
109// ---------------------------------------------------------------------------
110#ifdef _DEBUG
111#define XERCES_DEBUG
112#endif
113
114// ---------------------------------------------------------------------------
115//  Provide some common string ops that are different/notavail for CodeWarrior.
116//      (these routines are defined in CW 8 by extras.h, but there is no MachO
117//      library for extras).
118// ---------------------------------------------------------------------------
119#if __MACH__
120int stricmp(const char* const str1, const char* const  str2);
121int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
122#endif
123
124#if defined(_WIN32) || defined(WIN32)
125/* used in place of calling mbstowcs or wcstombs with a NULL destination */
126int mbswcslen(const char * s, const unsigned int n);
127int wcsmbslen(const wchar_t * pwcs, const unsigned int n);
128#endif
129
130// ---------------------------------------------------------------------------
131//  The name of the DLL that is built by the Codewarrior version of the
132//  system. We append a previously defined token which holds the DLL
133//  versioning string. This is defined in XercesDefs.hpp which is what this
134//  file is included into.
135// ---------------------------------------------------------------------------
136const char* const Xerces_DLLName = "xerces-c" Xerces_DLLVersionStr;
137
138#endif //CODEWARRIORDEFS_HPP
Note: See TracBrowser for help on using the repository browser.