1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 
3 #include "build.h"
4 
5 const char* const systemd_features =
6 
7         /* PAM and MAC frameworks */
8 
9 #if HAVE_PAM
10         "+PAM"
11 #else
12         "-PAM"
13 #endif
14 
15 #if HAVE_AUDIT
16         " +AUDIT"
17 #else
18         " -AUDIT"
19 #endif
20 
21 #if HAVE_SELINUX
22         " +SELINUX"
23 #else
24         " -SELINUX"
25 #endif
26 
27 #if HAVE_APPARMOR
28         " +APPARMOR"
29 #else
30         " -APPARMOR"
31 #endif
32 
33 #if ENABLE_IMA
34         " +IMA"
35 #else
36         " -IMA"
37 #endif
38 
39 #if ENABLE_SMACK
40         " +SMACK"
41 #else
42         " -SMACK"
43 #endif
44 
45 #if HAVE_SECCOMP
46         " +SECCOMP"
47 #else
48         " -SECCOMP"
49 #endif
50 
51         /* cryptographic libraries */
52 
53 #if HAVE_GCRYPT
54         " +GCRYPT"
55 #else
56         " -GCRYPT"
57 #endif
58 
59 #if HAVE_GNUTLS
60         " +GNUTLS"
61 #else
62         " -GNUTLS"
63 #endif
64 
65 #if HAVE_OPENSSL
66         " +OPENSSL"
67 #else
68         " -OPENSSL"
69 #endif
70 
71         /* all other libraries, sorted alphabetically */
72 
73 #if HAVE_ACL
74         " +ACL"
75 #else
76         " -ACL"
77 #endif
78 
79 #if HAVE_BLKID
80         " +BLKID"
81 #else
82         " -BLKID"
83 #endif
84 
85 #if HAVE_LIBCURL
86         " +CURL"
87 #else
88         " -CURL"
89 #endif
90 
91 #if HAVE_ELFUTILS
92         " +ELFUTILS"
93 #else
94         " -ELFUTILS"
95 #endif
96 
97 #if HAVE_LIBFIDO2
98         " +FIDO2"
99 #else
100         " -FIDO2"
101 #endif
102 
103 #if HAVE_LIBIDN2
104         " +IDN2"
105 #else
106         " -IDN2"
107 #endif
108 
109 #if HAVE_LIBIDN
110         " +IDN"
111 #else
112         " -IDN"
113 #endif
114 
115 #if HAVE_LIBIPTC
116         " +IPTC"
117 #else
118         " -IPTC"
119 #endif
120 
121 #if HAVE_KMOD
122         " +KMOD"
123 #else
124         " -KMOD"
125 #endif
126 
127 #if HAVE_LIBCRYPTSETUP
128         " +LIBCRYPTSETUP"
129 #else
130         " -LIBCRYPTSETUP"
131 #endif
132 
133 #if HAVE_LIBFDISK
134         " +LIBFDISK"
135 #else
136         " -LIBFDISK"
137 #endif
138 
139 #if HAVE_PCRE2
140         " +PCRE2"
141 #else
142         " -PCRE2"
143 #endif
144 
145 #if HAVE_PWQUALITY
146         " +PWQUALITY"
147 #else
148         " -PWQUALITY"
149 #endif
150 
151 #if HAVE_P11KIT
152         " +P11KIT"
153 #else
154         " -P11KIT"
155 #endif
156 
157 #if HAVE_QRENCODE
158         " +QRENCODE"
159 #else
160         " -QRENCODE"
161 #endif
162 
163 #if HAVE_TPM2
164         " +TPM2"
165 #else
166         " -TPM2"
167 #endif
168 
169         /* compressors */
170 
171 #if HAVE_BZIP2
172         " +BZIP2"
173 #else
174         " -BZIP2"
175 #endif
176 
177 #if HAVE_LZ4
178         " +LZ4"
179 #else
180         " -LZ4"
181 #endif
182 
183 #if HAVE_XZ
184         " +XZ"
185 #else
186         " -XZ"
187 #endif
188 
189 #if HAVE_ZLIB
190         " +ZLIB"
191 #else
192         " -ZLIB"
193 #endif
194 
195 #if HAVE_ZSTD
196         " +ZSTD"
197 #else
198         " -ZSTD"
199 #endif
200 
201         /* other stuff that doesn't fit above */
202 
203 #if BPF_FRAMEWORK
204         " +BPF_FRAMEWORK"
205 #else
206         " -BPF_FRAMEWORK"
207 #endif
208 
209 #if HAVE_XKBCOMMON
210         " +XKBCOMMON"
211 #else
212         " -XKBCOMMON"
213 #endif
214 
215 #if ENABLE_UTMP
216         " +UTMP"
217 #else
218         " -UTMP"
219 #endif
220 
221 #if HAVE_SYSV_COMPAT
222         " +SYSVINIT"
223 #else
224         " -SYSVINIT"
225 #endif
226 
227         " default-hierarchy=" DEFAULT_HIERARCHY_NAME
228         ;
229