chiark / gitweb /
c088ca487fdd752bfdafe2ffb27e34f8e5b73618
[elogind.git] / src / basic / build.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5   Copyright 2010 Lennart Poettering
6 ***/
7
8 #if HAVE_PAM
9 #define _PAM_FEATURE_ "+PAM"
10 #else
11 #define _PAM_FEATURE_ "-PAM"
12 #endif
13
14 #if HAVE_AUDIT
15 #define _AUDIT_FEATURE_ "+AUDIT"
16 #else
17 #define _AUDIT_FEATURE_ "-AUDIT"
18 #endif
19
20 #if HAVE_SELINUX
21 #define _SELINUX_FEATURE_ "+SELINUX"
22 #else
23 #define _SELINUX_FEATURE_ "-SELINUX"
24 #endif
25
26 #if 0 /// UNSUPPORTED by elogind
27 #if HAVE_APPARMOR
28 #define _APPARMOR_FEATURE_ "+APPARMOR"
29 #else
30 #define _APPARMOR_FEATURE_ "-APPARMOR"
31 #endif
32
33 #if ENABLE_IMA
34 #define _IMA_FEATURE_ "+IMA"
35 #else
36 #define _IMA_FEATURE_ "-IMA"
37 #endif
38 #endif // 0
39
40 #if ENABLE_SMACK
41 #define _SMACK_FEATURE_ "+SMACK"
42 #else
43 #define _SMACK_FEATURE_ "-SMACK"
44 #endif
45
46 #if 0 /// UNSUPPORTED by elogind
47 #if HAVE_SYSV_COMPAT
48 #define _SYSVINIT_FEATURE_ "+SYSVINIT"
49 #else
50 #define _SYSVINIT_FEATURE_ "-SYSVINIT"
51 #endif
52 #endif // 0
53
54 #if ENABLE_UTMP
55 #define _UTMP_FEATURE_ "+UTMP"
56 #else
57 #define _UTMP_FEATURE_ "-UTMP"
58 #endif
59
60 #if 0 /// UNSUPPORTED by elogind
61 #if HAVE_LIBCRYPTSETUP
62 #define _LIBCRYPTSETUP_FEATURE_ "+LIBCRYPTSETUP"
63 #else
64 #define _LIBCRYPTSETUP_FEATURE_ "-LIBCRYPTSETUP"
65 #endif
66
67 #if HAVE_GCRYPT
68 #define _GCRYPT_FEATURE_ "+GCRYPT"
69 #else
70 #define _GCRYPT_FEATURE_ "-GCRYPT"
71 #endif
72
73 #if HAVE_GNUTLS
74 #define _GNUTLS_FEATURE_ "+GNUTLS"
75 #else
76 #define _GNUTLS_FEATURE_ "-GNUTLS"
77 #endif
78 #endif // 0
79
80 #if HAVE_ACL
81 #define _ACL_FEATURE_ "+ACL"
82 #else
83 #define _ACL_FEATURE_ "-ACL"
84 #endif
85
86 #if 0 /// UNSUPPORTED by elogind
87 #if HAVE_XZ
88 #define _XZ_FEATURE_ "+XZ"
89 #else
90 #define _XZ_FEATURE_ "-XZ"
91 #endif
92
93 #if HAVE_LZ4
94 #define _LZ4_FEATURE_ "+LZ4"
95 #else
96 #define _LZ4_FEATURE_ "-LZ4"
97 #endif
98
99 #if HAVE_SECCOMP
100 #define _SECCOMP_FEATURE_ "+SECCOMP"
101 #else
102 #define _SECCOMP_FEATURE_ "-SECCOMP"
103 #endif
104
105 #if HAVE_BLKID
106 #define _BLKID_FEATURE_ "+BLKID"
107 #else
108 #define _BLKID_FEATURE_ "-BLKID"
109 #endif
110
111 #if HAVE_ELFUTILS
112 #define _ELFUTILS_FEATURE_ "+ELFUTILS"
113 #else
114 #define _ELFUTILS_FEATURE_ "-ELFUTILS"
115 #endif
116
117 #if HAVE_KMOD
118 #define _KMOD_FEATURE_ "+KMOD"
119 #else
120 #define _KMOD_FEATURE_ "-KMOD"
121 #endif
122
123 #if HAVE_LIBIDN2
124 #define _IDN2_FEATURE_ "+IDN2"
125 #else
126 #define _IDN2_FEATURE_ "-IDN2"
127 #endif
128
129 #if HAVE_LIBIDN
130 #define _IDN_FEATURE_ "+IDN"
131 #else
132 #define _IDN_FEATURE_ "-IDN"
133 #endif
134
135 #if HAVE_PCRE2
136 #define _PCRE2_FEATURE_ "+PCRE2"
137 #else
138 #define _PCRE2_FEATURE_ "-PCRE2"
139 #endif
140 #endif // 0
141
142 #define _CGROUP_HIEARCHY_ "default-hierarchy=" DEFAULT_HIERARCHY_NAME
143
144 #if 0 /// elogind has a much shorter list
145 #define SYSTEMD_FEATURES                                                \
146         _PAM_FEATURE_ " "                                               \
147         _AUDIT_FEATURE_ " "                                             \
148         _SELINUX_FEATURE_ " "                                           \
149         _IMA_FEATURE_ " "                                               \
150         _APPARMOR_FEATURE_ " "                                          \
151         _SMACK_FEATURE_ " "                                             \
152         _SYSVINIT_FEATURE_ " "                                          \
153         _UTMP_FEATURE_ " "                                              \
154         _LIBCRYPTSETUP_FEATURE_ " "                                     \
155         _GCRYPT_FEATURE_ " "                                            \
156         _GNUTLS_FEATURE_ " "                                            \
157         _ACL_FEATURE_ " "                                               \
158         _XZ_FEATURE_ " "                                                \
159         _LZ4_FEATURE_ " "                                               \
160         _SECCOMP_FEATURE_ " "                                           \
161         _BLKID_FEATURE_ " "                                             \
162         _ELFUTILS_FEATURE_ " "                                          \
163         _KMOD_FEATURE_ " "                                              \
164         _IDN2_FEATURE_ " "                                              \
165         _IDN_FEATURE_ " "                                               \
166         _PCRE2_FEATURE_ " "                                             \
167         _CGROUP_HIEARCHY_
168 #else
169 #define SYSTEMD_FEATURES                                                \
170         _PAM_FEATURE_ " "                                               \
171         _AUDIT_FEATURE_ " "                                             \
172         _SELINUX_FEATURE_ " "                                           \
173         _SMACK_FEATURE_ " "                                             \
174         _UTMP_FEATURE_ " "                                              \
175         _ACL_FEATURE_ " "                                               \
176         _CGROUP_HIEARCHY_
177 #endif // 0