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