blob: fe29c394ab46ab31ebd6ae0561472c284fd5ca90 (
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
|
/*
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
*/
#ifndef _FEATURES_H
#define _FEATURES_H
/* __EXTENSIONS__ is defined by default in g++.
* On linux g++ defines _GNU_SOURCE.
*/
#ifdef __EXTENSIONS__
# undef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
#ifdef _GNU_SOURCE
# undef __EXTENSIONS__
# define __EXTENSIONS__ 1
# undef _ISOC95_SOURCE
# define _ISOC95_SOURCE 1
# undef _ISOC99_SOURCE
# define _ISOC99_SOURCE 1
# undef _POSIX_SOURCE
# define _POSIX_SOURCE 1
# undef _POSIX_C_SOURCE
# define _POSIX_C_SOURCE 200112L
# undef _XOPEN_SOURCE
# define _XOPEN_SOURCE 600
# undef _XOPEN_SOURCE_EXTENDED
# define _XOPEN_SOURCE_EXTENDED 0
# undef _LARGEFILE_SOURCE
# define _LARGEFILE_SOURCE 1
# undef _LARGEFILE64_SOURCE
# define _LARGEFILE64_SOURCE 1
# undef _BSD_SOURCE
# define _BSD_SOURCE 1
# undef _SVID_SOURCE
# define _SVID_SOURCE 1
# undef _ATFILE_SOURCE
# define _ATFILE_SOURCE 1
# undef _DEFAULT_SOURCE
# define _DEFAULT_SOURCE 1
#endif
#if (defined _DEFAULT_SOURCE \
|| (!defined __STRICT_ANSI__ \
&& !defined _ISOC99_SOURCE \
&& !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \
&& !defined _XOPEN_SOURCE \
&& !defined _BSD_SOURCE && !defined _SVID_SOURCE))
# undef __EXTENSIONS__
# define __EXTENSIONS__ 1
# undef _DEFAULT_SOURCE
# define _DEFAULT_SOURCE 1
# undef _BSD_SOURCE
# define _BSD_SOURCE 1
# undef _SVID_SOURCE
# define _SVID_SOURCE 1
#endif
#ifndef _XOPEN_SOURCE
# define _XOPEN_SOURCE 600
#endif
#if defined __GNUC__
# define __GNUC_PREREQ(maj, min) \
((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
#else
# define __GNUC_PREREQ(maj, min) 0
#endif
#if !defined(__ASSEMBLER__) && !defined(_ASM)
# ifndef _SYS_CDEFS_H
# include <sys/cdefs.h>
# endif
#endif
#endif /* _FEATURES_H */
/* XXX: Include unconditionally.
* gnulib bundled with some packages may mess with the features.h
* header and its guard macros, so feature_tests.h is not included,
* but we need it. */
#include <sys/feature_tests.h>
|