summaryrefslogtreecommitdiffstats
path: root/src/basic/build.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-12-03 11:12:59 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-12-03 12:16:02 +0100
commit91b79ba84ef8fdd008b61581c32a7aa746a2b492 (patch)
tree42e413b12dfea6c72314761278317508a81889d3 /src/basic/build.c
parentbuild.h: add a bunch of missing features strings (diff)
downloadsystemd-91b79ba84ef8fdd008b61581c32a7aa746a2b492.tar.xz
systemd-91b79ba84ef8fdd008b61581c32a7aa746a2b492.zip
shared/build: make the version string definition less terrible
The BLKID and ELFUTILS strings were present twice. Let's reaarange things so that each times requires definition in exactly one place. Also let's sort things a bit: the "heavy hitters" like PAM/MAC first, then crypto libs, then other libs, alphabetically, compressors, and external compat integrations. I think it's useful for users to group similar concepts together to some extent. For example, when checking what compression is available, it helps a lot to have them listed together. FDISK is renamed to LIBFDISK to make it clear that this is about he library and the executable.
Diffstat (limited to 'src/basic/build.c')
-rw-r--r--src/basic/build.c216
1 files changed, 216 insertions, 0 deletions
diff --git a/src/basic/build.c b/src/basic/build.c
new file mode 100644
index 0000000000..45074591a6
--- /dev/null
+++ b/src/basic/build.c
@@ -0,0 +1,216 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include "build.h"
+
+const char* const systemd_features =
+
+ /* PAM and MAC frameworks */
+
+#if HAVE_PAM
+ "+PAM"
+#else
+ "-PAM"
+#endif
+
+#if HAVE_AUDIT
+ " +AUDIT"
+#else
+ " -AUDIT"
+#endif
+
+#if HAVE_SELINUX
+ " +SELINUX"
+#else
+ " -SELINUX"
+#endif
+
+#if HAVE_APPARMOR
+ " +APPARMOR"
+#else
+ " -APPARMOR"
+#endif
+
+#if ENABLE_IMA
+ " +IMA"
+#else
+ " -IMA"
+#endif
+
+#if ENABLE_SMACK
+ " +SMACK"
+#else
+ " -SMACK"
+#endif
+
+#if HAVE_SECCOMP
+ " +SECCOMP"
+#else
+ " -SECCOMP"
+#endif
+
+ /* crypto libraries */
+
+#if HAVE_GCRYPT
+ " +GCRYPT"
+#else
+ " -GCRYPT"
+#endif
+
+#if HAVE_GNUTLS
+ " +GNUTLS"
+#else
+ " -GNUTLS"
+#endif
+
+#if HAVE_OPENSSL
+ " +OPENSSL"
+#else
+ " -OPENSSL"
+#endif
+
+ /* all other libraries, sorted alphabetically */
+
+#if HAVE_ACL
+ " +ACL"
+#else
+ " -ACL"
+#endif
+
+#if HAVE_BLKID
+ " +BLKID"
+#else
+ " -BLKID"
+#endif
+
+#if HAVE_LIBCURL
+ " +CURL"
+#else
+ " -CURL"
+#endif
+
+#if HAVE_ELFUTILS
+ " +ELFUTILS"
+#else
+ " -ELFUTILS"
+#endif
+
+#if HAVE_LIBFIDO2
+ " +FIDO2"
+#else
+ " -FIDO2"
+#endif
+
+#if HAVE_LIBIDN2
+ " +IDN2"
+#else
+ " -IDN2"
+#endif
+
+#if HAVE_LIBIDN
+ " +IDN"
+#else
+ " -IDN"
+#endif
+
+#if HAVE_LIBIPTC
+ " +IPTC"
+#else
+ " -IPTC"
+#endif
+
+#if HAVE_KMOD
+ " +KMOD"
+#else
+ " -KMOD"
+#endif
+
+#if HAVE_LIBCRYPTSETUP
+ " +LIBCRYPTSETUP"
+#else
+ " -LIBCRYPTSETUP"
+#endif
+
+#if HAVE_LIBFDISK
+ " +LIBFDISK"
+#else
+ " -LIBFDISK"
+#endif
+
+#if HAVE_PCRE2
+ " +PCRE2"
+#else
+ " -PCRE2"
+#endif
+
+#if HAVE_PWQUALITY
+ " +PWQUALITY"
+#else
+ " -PWQUALITY"
+#endif
+
+#if HAVE_P11KIT
+ " +P11KIT"
+#else
+ " -P11KIT"
+#endif
+
+#if HAVE_QRENCODE
+ " +QRENCODE"
+#else
+ " -QRENCODE"
+#endif
+
+ /* compressors */
+
+#if HAVE_BZIP2
+ " +BZIP2"
+#else
+ " -BZIP2"
+#endif
+
+#if HAVE_LZ4
+ " +LZ4"
+#else
+ " -LZ4"
+#endif
+
+#if HAVE_XZ
+ " +XZ"
+#else
+ " -XZ"
+#endif
+
+#if HAVE_ZLIB
+ " +ZLIB"
+#else
+ " -ZLIB"
+#endif
+
+#if HAVE_ZSTD
+ " +ZSTD"
+#else
+ " -ZSTD"
+#endif
+
+ /* other stuff that doesn't fit above */
+
+#if HAVE_XKBCOMMON
+ " +XKBCOMMON"
+#else
+ " -XKBCOMMON"
+#endif
+
+#if ENABLE_UTMP
+ " +UTMP"
+#else
+ " -UTMP"
+#endif
+
+#if HAVE_SYSV_COMPAT
+ " +SYSVINIT"
+#else
+ " -SYSVINIT"
+#endif
+
+ " default-hierarchy=" DEFAULT_HIERARCHY_NAME
+ ;