summaryrefslogtreecommitdiff
path: root/libxerces-c/xercesc/config.h
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2020-04-16 18:15:45 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2020-04-21 16:40:06 +0300
commitfc2234b87f4ce29be0e556c6f3b085b749b7d71b (patch)
treea56f6807aa0378c9dd58286f073e57ad748891ad /libxerces-c/xercesc/config.h
parent5d559799f0815e5bd2f510d91607a7ef1b20e3a0 (diff)
Add implementation
Diffstat (limited to 'libxerces-c/xercesc/config.h')
-rw-r--r--libxerces-c/xercesc/config.h137
1 files changed, 137 insertions, 0 deletions
diff --git a/libxerces-c/xercesc/config.h b/libxerces-c/xercesc/config.h
new file mode 100644
index 0000000..48bd880
--- /dev/null
+++ b/libxerces-c/xercesc/config.h
@@ -0,0 +1,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 */