1 /* SPDX-License-Identifier: LGPL-2.1+ */
5 This file is part of systemd.
7 Copyright 2010 Lennart Poettering
9 systemd is free software; you can redistribute it and/or modify it
10 under the terms of the GNU Lesser General Public License as published by
11 the Free Software Foundation; either version 2.1 of the License, or
12 (at your option) any later version.
14 systemd is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 Lesser General Public License for more details.
19 You should have received a copy of the GNU Lesser General Public License
20 along with systemd; If not, see <http://www.gnu.org/licenses/>.
24 #define _PAM_FEATURE_ "+PAM"
26 #define _PAM_FEATURE_ "-PAM"
30 #define _AUDIT_FEATURE_ "+AUDIT"
32 #define _AUDIT_FEATURE_ "-AUDIT"
36 #define _SELINUX_FEATURE_ "+SELINUX"
38 #define _SELINUX_FEATURE_ "-SELINUX"
41 #if 0 /// UNSUPPORTED by elogind
43 #define _APPARMOR_FEATURE_ "+APPARMOR"
45 #define _APPARMOR_FEATURE_ "-APPARMOR"
49 #define _IMA_FEATURE_ "+IMA"
51 #define _IMA_FEATURE_ "-IMA"
56 #define _SMACK_FEATURE_ "+SMACK"
58 #define _SMACK_FEATURE_ "-SMACK"
61 #if 0 /// UNSUPPORTED by elogind
63 #define _SYSVINIT_FEATURE_ "+SYSVINIT"
65 #define _SYSVINIT_FEATURE_ "-SYSVINIT"
70 #define _UTMP_FEATURE_ "+UTMP"
72 #define _UTMP_FEATURE_ "-UTMP"
75 #if 0 /// UNSUPPORTED by elogind
76 #if HAVE_LIBCRYPTSETUP
77 #define _LIBCRYPTSETUP_FEATURE_ "+LIBCRYPTSETUP"
79 #define _LIBCRYPTSETUP_FEATURE_ "-LIBCRYPTSETUP"
83 #define _GCRYPT_FEATURE_ "+GCRYPT"
85 #define _GCRYPT_FEATURE_ "-GCRYPT"
89 #define _GNUTLS_FEATURE_ "+GNUTLS"
91 #define _GNUTLS_FEATURE_ "-GNUTLS"
96 #define _ACL_FEATURE_ "+ACL"
98 #define _ACL_FEATURE_ "-ACL"
101 #if 0 /// UNSUPPORTED by elogind
103 #define _XZ_FEATURE_ "+XZ"
105 #define _XZ_FEATURE_ "-XZ"
109 #define _LZ4_FEATURE_ "+LZ4"
111 #define _LZ4_FEATURE_ "-LZ4"
115 #define _SECCOMP_FEATURE_ "+SECCOMP"
117 #define _SECCOMP_FEATURE_ "-SECCOMP"
121 #define _BLKID_FEATURE_ "+BLKID"
123 #define _BLKID_FEATURE_ "-BLKID"
127 #define _ELFUTILS_FEATURE_ "+ELFUTILS"
129 #define _ELFUTILS_FEATURE_ "-ELFUTILS"
133 #define _KMOD_FEATURE_ "+KMOD"
135 #define _KMOD_FEATURE_ "-KMOD"
139 #define _IDN2_FEATURE_ "+IDN2"
141 #define _IDN2_FEATURE_ "-IDN2"
145 #define _IDN_FEATURE_ "+IDN"
147 #define _IDN_FEATURE_ "-IDN"
151 #define _PCRE2_FEATURE_ "+PCRE2"
153 #define _PCRE2_FEATURE_ "-PCRE2"
157 #define _CGROUP_HIEARCHY_ "default-hierarchy=" DEFAULT_HIERARCHY_NAME
159 #if 0 /// elogind has a much shorter list
160 #define SYSTEMD_FEATURES \
162 _AUDIT_FEATURE_ " " \
163 _SELINUX_FEATURE_ " " \
165 _APPARMOR_FEATURE_ " " \
166 _SMACK_FEATURE_ " " \
167 _SYSVINIT_FEATURE_ " " \
169 _LIBCRYPTSETUP_FEATURE_ " " \
170 _GCRYPT_FEATURE_ " " \
171 _GNUTLS_FEATURE_ " " \
175 _SECCOMP_FEATURE_ " " \
176 _BLKID_FEATURE_ " " \
177 _ELFUTILS_FEATURE_ " " \
181 _PCRE2_FEATURE_ " " \
184 #define SYSTEMD_FEATURES \
186 _AUDIT_FEATURE_ " " \
187 _SELINUX_FEATURE_ " " \
188 _SMACK_FEATURE_ " " \