summaryrefslogtreecommitdiff
path: root/libexpat/libexpat/expat_config.h
blob: 6eb549654d8b16773d1201118c97bfe2a59d2c7d (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
/* file      : libexpat/expat_config.h -*- C -*-
 * license   : MIT; see accompanying COPYING file
 */

#ifndef LIBEXPAT_EXPAT_CONFIG_H
#define LIBEXPAT_EXPAT_CONFIG_H

/* Endianess.
 */
#ifdef __FreeBSD__
#  include <sys/endian.h> /* BYTE_ORDER */
#else
#  if defined(_WIN32)
#    ifndef BYTE_ORDER
#      define BIG_ENDIAN    4321
#      define LITTLE_ENDIAN 1234
#      define BYTE_ORDER    LITTLE_ENDIAN
#    endif
#  else
#    include <sys/param.h>  /* BYTE_ORDER/__BYTE_ORDER */
#    ifndef BYTE_ORDER
#      ifdef __BYTE_ORDER
#        define BYTE_ORDER    __BYTE_ORDER
#        define BIG_ENDIAN    __BIG_ENDIAN
#        define LITTLE_ENDIAN __LITTLE_ENDIAN
#      else
#        error no BYTE_ORDER/__BYTE_ORDER define
#      endif
#    endif
#  endif
#endif

#if BYTE_ORDER == BIG_ENDIAN
#  define BYTEORDER 4321
#else
#  define BYTEORDER 1234
#endif

#define UNUSED(x) (void)x;

/* Specific for FreeBSD.
 */
#if defined(__FreeBSD__)

/* Note that sys/random.h is not available for older versions of glibc. Thus,
 * we don't define this macro on Linux.
 */
#  define HAVE_GETRANDOM         1

/* Note that the getrandom system call is not available in older Linux
 * kernels. Thus, we don't define this macro on Linux.
 */
#  define HAVE_SYSCALL_GETRANDOM 1
#endif

/* Specific for FreeBSD and Mac OS.
 */
#if defined(__FreeBSD__) || defined(__APPLE__)
#  define HAVE_ARC4RANDOM_BUF 1
#endif

/* Specific for (non-) VC.
 */
#ifndef _MSC_VER
#  define XML_DEV_URANDOM 1
#endif

/* Common for all supported OSes/compilers.
 */
#define XML_NS            1
#define XML_DTD           1
#define XML_CONTEXT_BYTES 1024

#undef XML_ATTR_INFO
#undef HAVE_LIBBSD
#undef HAVE_ARC4RANDOM

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

#undef size_t
*/

#endif /* LIBEXPAT_EXPAT_CONFIG_H */