summaryrefslogtreecommitdiff
path: root/libxerces-c/xercesc/config.h
blob: 48bd88076fe358ec7df550c0faf66dd099c784ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/* file      : xercesc/config.h -*- C -*-
 * license   : Apache License 2.0; see accompanying LICENSE file
 */

#ifndef XERCESC_CONFIG_H
#define XERCESC_CONFIG_H

/* For the semantics of the following macros refer to config.h.cmake.in.orig
 * and upstream's configure.ac.
 *
 * Note that we will explicitly undefine macros that are present in the
 * libxerces-c source code but should not be defined. While this is not
 * technically required, it simplifies the change tracking (see README-DEV).
 * As a bonus we also make sure that they are not get eventually defined by
 * some system headers.
 */

/* SIZE_MAX.
 */
#if defined(__cplusplus)
#  include <cstdint>
#else
#  include <stdint.h> /* Requires C99. */
#endif

/* Use the ICU transcoder.
 */
#define XERCES_USE_TRANSCODER_ICU                   1
#undef  XERCES_USE_TRANSCODER_GNUICONV
#undef  XERCES_USE_TRANSCODER_ICONV
#undef  XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER
#undef  XERCES_USE_TRANSCODER_WINDOWS

/* Use the Curl net accessor.
 */
#define XERCES_USE_NETACCESSOR_CURL    1
#undef  XERCES_USE_NETACCESSOR_CFURL
#undef  XERCES_USE_NETACCESSOR_SOCKET
#undef  XERCES_USE_NETACCESSOR_WINSOCK

/* Use the in-memory message loader.
 */
#define XERCES_USE_MSGLOADER_INMEMORY 1
#undef  XERCES_USE_MSGLOADER_ICONV
#undef  XERCES_USE_MSGLOADER_ICU

/* Use the standard mutex manager.
 */
#define XERCES_USE_MUTEXMGR_STD      1
#undef  XERCES_USE_MUTEXMGR_NOTHREAD
#undef  XERCES_USE_MUTEXMGR_POSIX
#undef  XERCES_USE_MUTEXMGR_WINDOWS

/* Use the OS-specific file manager.
 */
#ifndef _WIN32
#  define XERCES_USE_FILEMGR_POSIX   1
#else
#  define XERCES_USE_FILEMGR_WINDOWS 1
#endif

/* Specific for FreeBSD.
 */
#ifdef __FreeBSD__
#  define HAVE_CPUID_H         1
#  define XERCES_HAVE_GETCPUID 1
#endif

/* Specific for POSIX.
 */
#ifndef _WIN32
#  define HAVE_GETTIMEOFDAY 1
#  define HAVE_GMTIME_R     1
#  define HAVE_SNPRINTF     1

/* Is not specified by the POSIX standard but is present on all POSIX
 * platforms we support.
 */
#  define HAVE_TIMEGM       1

/* Specific for Windows.
 */
#else
#  define HAVE_SYS_TIMEB_H                1
#  define HAVE_FTIME                      1
#  define HAVE_STRICMP                    1
#  define HAVE_STRNICMP                   1
#  define XERCES_HAVE_INTRIN_H            1
#  define XERCES_PATH_DELIMITER_BACKSLASH 1
#  define XERCES_HAVE_CPUID_INTRINSIC     1
#endif

/* Specific for (non-) VC.
 */
#ifndef _MSC_VER
#  define HAVE_PATH_MAX    1
#  define HAVE_STRCASECMP  1
#  define HAVE_STRNCASECMP 1
#  define HAVE_STRINGS_H   1
#  define HAVE_STRING_H    1
#  define HAVE_SYS_TIME_H  1
#  define HAVE_UNISTD_H    1
#endif

/* Common for all supported OSes/compilers.
 */
#define HAVE_ERRNO_H             1
#define HAVE_LIMITS_H            1
#define HAVE_SYS_TYPES_H         1
#define XERCES_HAS_CPP_NAMESPACE 1
#define XERCES_STD_NAMESPACE     1
#define XERCES_LSTRSUPPORT       1
#define XERCES_NEW_IOSTREAMS     1
#define XERCES_SIZE_MAX          SIZE_MAX

#undef XERCES_HAVE_EMMINTRIN_H
#undef XERCES_HAVE_SSE2_INTRINSIC
#undef XERCES_NO_MATCHING_DELETE_OPERATOR
#undef XERCES_NO_NATIVE_BOOL

/* Are also defined in Xerces_autoconf_config.hpp which is supposedly enough.
 * Note that Xerces_autoconf_config.hpp is expected to be (indirectly)
 * included into all public headers to properly export/import the API
 * functions.

#define XERCES_PLATFORM_EXPORT
#define XERCES_PLATFORM_IMPORT
 */

/* We can probably assume that on platforms we build for, these keywords
 * doesn't require definition.

#undef const
#undef inline
*/

#endif /* XERCESC_CONFIG_H */