mirror of
https://github.com/systemd/systemd.git
synced 2025-03-08 08:58:27 +03:00
Merge pull request #24175 from medhefgo/meson-feature
meson: Use feature options
This commit is contained in:
commit
c9c4e599fc
2
.github/workflows/build_test.sh
vendored
2
.github/workflows/build_test.sh
vendored
@ -11,7 +11,7 @@ ARGS=(
|
||||
"--optimization=0"
|
||||
"--optimization=s"
|
||||
"--optimization=3 -Db_lto=true -Ddns-over-tls=false"
|
||||
"--optimization=3 -Db_lto=false -Dtpm2=false -Dlibfido2=false -Dp11kit=false"
|
||||
"--optimization=3 -Db_lto=false -Dtpm2=disabled -Dlibfido2=disabled -Dp11kit=disabled"
|
||||
"--optimization=3 -Ddns-over-tls=openssl"
|
||||
"--optimization=3 -Dfexecve=true -Dstandalone-binaries=true -Dstatic-libsystemd=true -Dstatic-libudev=true"
|
||||
"-Db_ndebug=true"
|
||||
|
4
.github/workflows/unit_tests.sh
vendored
4
.github/workflows/unit_tests.sh
vendored
@ -60,7 +60,7 @@ for phase in "${PHASES[@]}"; do
|
||||
export CXX=clang++
|
||||
if [[ "$phase" == RUN_CLANG ]]; then
|
||||
# The docs build is slow and is not affected by compiler/flags, so do it just once
|
||||
MESON_ARGS+=(-Dman=true)
|
||||
MESON_ARGS+=(-Dman=enabled)
|
||||
else
|
||||
MESON_ARGS+=(-Dmode=release --optimization=2)
|
||||
fi
|
||||
@ -87,7 +87,7 @@ for phase in "${PHASES[@]}"; do
|
||||
MESON_ARGS+=(-Db_lundef=false -Dfuzz-tests=true)
|
||||
|
||||
if [[ "$phase" == "RUN_CLANG_ASAN_UBSAN_NO_DEPS" ]]; then
|
||||
MESON_ARGS+=(-Dskip-deps=true)
|
||||
MESON_ARGS+=(--auto-features=disabled)
|
||||
fi
|
||||
fi
|
||||
MESON_ARGS+=(--fatal-meson-warnings)
|
||||
|
@ -6,9 +6,9 @@ subdir('rules')
|
||||
want_man = get_option('man')
|
||||
want_html = get_option('html')
|
||||
xsltproc = find_program('xsltproc',
|
||||
required : want_man == 'true' or want_html == 'true')
|
||||
want_man = want_man != 'false' and xsltproc.found()
|
||||
want_html = want_html != 'false' and xsltproc.found()
|
||||
required : want_man.enabled() or want_html.enabled())
|
||||
want_man = want_man.allowed() and xsltproc.found()
|
||||
want_html = want_html.allowed() and xsltproc.found()
|
||||
|
||||
xsltproc_flags = [
|
||||
'--nonet',
|
||||
|
863
meson.build
863
meson.build
File diff suppressed because it is too large
Load Diff
@ -102,9 +102,9 @@ option('environment-d', type : 'boolean',
|
||||
description : 'support for environment.d')
|
||||
option('binfmt', type : 'boolean',
|
||||
description : 'support for custom binary formats')
|
||||
option('repart', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('repart', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'install the systemd-repart tool')
|
||||
option('sysupdate', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('sysupdate', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'install the systemd-sysupdate tool')
|
||||
option('coredump', type : 'boolean',
|
||||
description : 'install the coredump handler')
|
||||
@ -126,7 +126,7 @@ option('sysext', type : 'boolean',
|
||||
description : 'install the systemd-sysext stack')
|
||||
option('userdb', type : 'boolean',
|
||||
description : 'install the systemd-userdbd stack')
|
||||
option('homed', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('homed', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'install the systemd-homed stack')
|
||||
option('networkd', type : 'boolean',
|
||||
description : 'install the systemd-networkd stack')
|
||||
@ -134,15 +134,15 @@ option('timedated', type : 'boolean',
|
||||
description : 'install the systemd-timedated daemon')
|
||||
option('timesyncd', type : 'boolean',
|
||||
description : 'install the systemd-timesyncd daemon')
|
||||
option('remote', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('remote', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'support for "journal over the network"')
|
||||
option('create-log-dirs', type : 'boolean',
|
||||
description : 'create /var/log/journal{,/remote}')
|
||||
option('nss-myhostname', type : 'boolean',
|
||||
description : 'install nss-myhostname module')
|
||||
option('nss-mymachines', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('nss-mymachines', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'install nss-mymachines module')
|
||||
option('nss-resolve', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('nss-resolve', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'install nss-resolve module')
|
||||
option('nss-systemd', type : 'boolean',
|
||||
description : 'install nss-systemd module')
|
||||
@ -160,7 +160,7 @@ option('sysusers', type : 'boolean',
|
||||
description : 'support for the sysusers configuration')
|
||||
option('tmpfiles', type : 'boolean',
|
||||
description : 'support for tmpfiles.d')
|
||||
option('importd', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('importd', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'install the systemd-importd daemon')
|
||||
option('hwdb', type : 'boolean',
|
||||
description : 'support for the hardware database')
|
||||
@ -168,11 +168,11 @@ option('rfkill', type : 'boolean',
|
||||
description : 'support for the rfkill tools')
|
||||
option('xdg-autostart', type : 'boolean',
|
||||
description : 'install the xdg-autostart-generator and unit')
|
||||
option('man', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
value : 'false',
|
||||
option('man', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
value : 'disabled',
|
||||
description : 'build and install man pages')
|
||||
option('html', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
value : 'false',
|
||||
option('html', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
value : 'disabled',
|
||||
description : 'build and install html pages')
|
||||
option('translations', type : 'boolean', value : true,
|
||||
description : 'build and install translations')
|
||||
@ -350,11 +350,11 @@ option('www-target', type : 'string',
|
||||
description : 'the address and dir to upload docs too',
|
||||
value : 'www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd')
|
||||
|
||||
option('seccomp', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('seccomp', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'SECCOMP support')
|
||||
option('selinux', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('selinux', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'SELinux support')
|
||||
option('apparmor', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('apparmor', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'AppArmor support')
|
||||
option('smack', type : 'boolean',
|
||||
description : 'SMACK support')
|
||||
@ -362,85 +362,85 @@ option('smack-run-label', type : 'string',
|
||||
description : 'run systemd --system itself with a specific SMACK label')
|
||||
option('smack-default-process-label', type : 'string',
|
||||
description : 'default SMACK label for executed processes')
|
||||
option('polkit', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('polkit', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'polkit support')
|
||||
option('ima', type : 'boolean',
|
||||
description : 'IMA support')
|
||||
|
||||
option('acl', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('acl', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libacl support')
|
||||
option('audit', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('audit', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libaudit support')
|
||||
option('blkid', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('blkid', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libblkid support')
|
||||
option('fdisk', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('fdisk', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libfdisk support')
|
||||
option('kmod', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('kmod', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'support for loadable modules')
|
||||
option('xenctrl', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('xenctrl', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'support for Xen kexec')
|
||||
option('pam', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('pam', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'PAM support')
|
||||
option('passwdqc', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('passwdqc', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libpasswdqc support')
|
||||
option('pwquality', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('pwquality', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libpwquality support')
|
||||
option('microhttpd', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('microhttpd', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libµhttpd support')
|
||||
option('libcryptsetup', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('libcryptsetup', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libcryptsetup support')
|
||||
option('libcryptsetup-plugins', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('libcryptsetup-plugins', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libcryptsetup LUKS2 external token handlers support (plugins)')
|
||||
option('libcurl', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('libcurl', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libcurl support')
|
||||
option('idn', type : 'boolean',
|
||||
description : 'use IDN when printing hostnames')
|
||||
option('libidn2', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('libidn2', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libidn2 support')
|
||||
option('libidn', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('libidn', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libidn support')
|
||||
option('libiptc', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('libiptc', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libiptc support')
|
||||
option('qrencode', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('qrencode', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libqrencode support')
|
||||
option('gcrypt', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('gcrypt', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'gcrypt support')
|
||||
option('gnutls', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('gnutls', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'gnutls support')
|
||||
option('openssl', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('openssl', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'openssl support')
|
||||
option('cryptolib', type : 'combo', choices : ['auto', 'openssl', 'gcrypt'],
|
||||
description : 'whether to use openssl or gcrypt where both are supported')
|
||||
option('p11kit', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('p11kit', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'p11kit support')
|
||||
option('libfido2', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('libfido2', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'FIDO2 support')
|
||||
option('tpm2', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('tpm2', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'TPM2 support')
|
||||
option('elfutils', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('elfutils', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'elfutils support')
|
||||
option('zlib', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('zlib', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'zlib compression support')
|
||||
option('bzip2', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('bzip2', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'bzip2 compression support')
|
||||
option('xz', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('xz', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'xz compression support')
|
||||
option('lz4', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('lz4', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'lz4 compression support')
|
||||
option('zstd', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('zstd', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'zstd compression support')
|
||||
option('default-compression', type : 'combo', choices : ['auto', 'zstd', 'lz4', 'xz'], value: 'auto',
|
||||
description : 'default compression algorithm')
|
||||
option('xkbcommon', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('xkbcommon', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'xkbcommon keymap support')
|
||||
option('pcre2', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('pcre2', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'regexp matching support using pcre2')
|
||||
option('glib', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('glib', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libglib support (for tests only)')
|
||||
option('dbus', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('dbus', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'libdbus support (for tests only)')
|
||||
|
||||
option('bootloader', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('bootloader', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'sd-boot/stub and userspace tools')
|
||||
option('sbat-distro', type : 'string', value : 'auto',
|
||||
description : 'SBAT distribution ID, e.g. fedora, or auto for autodetection')
|
||||
@ -476,7 +476,7 @@ option('fuzz-tests', type : 'boolean', value : false,
|
||||
description : 'run the fuzzer regression tests by default (with sanitizers)')
|
||||
option('install-tests', type : 'boolean', value : false,
|
||||
description : 'install test executables')
|
||||
option('log-message-verification', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('log-message-verification', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'do fake printf() calls to verify format strings')
|
||||
|
||||
option('ok-color', type : 'combo',
|
||||
@ -497,15 +497,12 @@ option('llvm-fuzz', type : 'boolean', value : false,
|
||||
description : 'build against LLVM libFuzzer')
|
||||
option('kernel-install', type: 'boolean', value: true,
|
||||
description : 'install kernel-install and associated files')
|
||||
option('ukify', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('ukify', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description : 'install ukify')
|
||||
option('analyze', type: 'boolean', value: true,
|
||||
description : 'install systemd-analyze')
|
||||
|
||||
option('bpf-compiler', type : 'combo', choices : ['clang', 'gcc'],
|
||||
description: 'compiler used to build BPF programs')
|
||||
option('bpf-framework', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
option('bpf-framework', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
|
||||
description: 'build BPF programs from source code in restricted C')
|
||||
|
||||
option('skip-deps', type : 'boolean', value : false,
|
||||
description : 'skip optional dependencies')
|
||||
|
@ -51,9 +51,9 @@ if [ ! -f "$BUILDDIR"/build.ninja ]; then
|
||||
sysvinit_path=$(realpath /etc/init.d)
|
||||
|
||||
if [ "$ID" = "centos" ] && [ "$VERSION" = "8" ]; then
|
||||
UKIFY=false
|
||||
UKIFY="disabled"
|
||||
else
|
||||
UKIFY=true
|
||||
UKIFY="enabled"
|
||||
fi
|
||||
|
||||
# On Debian 'loadkeys us' fails
|
||||
@ -65,7 +65,7 @@ if [ ! -f "$BUILDDIR"/build.ninja ]; then
|
||||
|
||||
CONFIGURE_OPTS=(
|
||||
-D sysvinit-path="$sysvinit_path"
|
||||
-D man=false
|
||||
-D man=disabled
|
||||
-D translations=false
|
||||
-D version-tag="${VERSION_TAG}"
|
||||
-D mode=developer
|
||||
@ -83,8 +83,8 @@ if [ ! -f "$BUILDDIR"/build.ninja ]; then
|
||||
-D tpm=true
|
||||
-D environment-d=true
|
||||
-D binfmt=true
|
||||
-D repart=true
|
||||
-D sysupdate=true
|
||||
-D repart=enabled
|
||||
-D sysupdate=enabled
|
||||
-D coredump=true
|
||||
-D pstore=true
|
||||
-D oomd=true
|
||||
@ -95,14 +95,14 @@ if [ ! -f "$BUILDDIR"/build.ninja ]; then
|
||||
-D portabled=true
|
||||
-D sysext=true
|
||||
-D userdb=true
|
||||
-D homed=true
|
||||
-D homed=enabled
|
||||
-D networkd=true
|
||||
-D timedated=true
|
||||
-D timesyncd=true
|
||||
-D remote=true
|
||||
-D remote=enabled
|
||||
-D nss-myhostname=true
|
||||
-D nss-mymachines=true
|
||||
-D nss-resolve=true
|
||||
-D nss-mymachines=enabled
|
||||
-D nss-resolve=enabled
|
||||
-D nss-systemd=true
|
||||
-D firstboot=true
|
||||
-D randomseed=true
|
||||
@ -111,44 +111,44 @@ if [ ! -f "$BUILDDIR"/build.ninja ]; then
|
||||
-D quotacheck=true
|
||||
-D sysusers=true
|
||||
-D tmpfiles=true
|
||||
-D importd=true
|
||||
-D importd=enabled
|
||||
-D hwdb=true
|
||||
-D rfkill=true
|
||||
-D xdg-autostart=true
|
||||
-D translations=true
|
||||
-D polkit=true
|
||||
-D acl=true
|
||||
-D audit=true
|
||||
-D blkid=true
|
||||
-D fdisk=true
|
||||
-D kmod=true
|
||||
-D pam=true
|
||||
-D pwquality=true
|
||||
-D microhttpd=true
|
||||
-D libcryptsetup=true
|
||||
-D libcurl=true
|
||||
-D polkit=enabled
|
||||
-D acl=enabled
|
||||
-D audit=enabled
|
||||
-D blkid=enabled
|
||||
-D fdisk=enabled
|
||||
-D kmod=enabled
|
||||
-D pam=enabled
|
||||
-D pwquality=enabled
|
||||
-D microhttpd=enabled
|
||||
-D libcryptsetup=enabled
|
||||
-D libcurl=enabled
|
||||
-D idn=true
|
||||
-D libidn2=true
|
||||
-D qrencode=true
|
||||
-D gcrypt=true
|
||||
-D gnutls=true
|
||||
-D openssl=true
|
||||
-D libidn2=enabled
|
||||
-D qrencode=enabled
|
||||
-D gcrypt=enabled
|
||||
-D gnutls=enabled
|
||||
-D openssl=enabled
|
||||
-D cryptolib=openssl
|
||||
-D p11kit=true
|
||||
-D libfido2=true
|
||||
-D tpm2=true
|
||||
-D elfutils=true
|
||||
-D zstd=true
|
||||
-D xkbcommon=true
|
||||
-D pcre2=true
|
||||
-D glib=true
|
||||
-D dbus=true
|
||||
-D bootloader=true
|
||||
-D p11kit=enabled
|
||||
-D libfido2=enabled
|
||||
-D tpm2=enabled
|
||||
-D elfutils=enabled
|
||||
-D zstd=enabled
|
||||
-D xkbcommon=enabled
|
||||
-D pcre2=enabled
|
||||
-D glib=enabled
|
||||
-D dbus=enabled
|
||||
-D bootloader=enabled
|
||||
-D kernel-install=true
|
||||
-D analyze=true
|
||||
-D bpf-framework=true
|
||||
-D bpf-framework=enabled
|
||||
-D ukify="$UKIFY"
|
||||
-D seccomp=true
|
||||
-D seccomp=enabled
|
||||
-D selinux=auto
|
||||
-D apparmor=auto
|
||||
-D smack=true
|
||||
|
@ -3,49 +3,48 @@
|
||||
efi_config_h_dir = meson.current_build_dir()
|
||||
efi_addon = ''
|
||||
|
||||
if efi_arch != ''
|
||||
libefitest = static_library(
|
||||
'efitest',
|
||||
files(
|
||||
'bcd.c',
|
||||
'efi-string.c',
|
||||
),
|
||||
build_by_default : false,
|
||||
include_directories : [
|
||||
basic_includes,
|
||||
include_directories('.'),
|
||||
],
|
||||
dependencies : userspace)
|
||||
libefitest = static_library(
|
||||
'efitest',
|
||||
files(
|
||||
'bcd.c',
|
||||
'efi-string.c',
|
||||
),
|
||||
build_by_default : false,
|
||||
include_directories : [
|
||||
basic_includes,
|
||||
include_directories('.'),
|
||||
],
|
||||
dependencies : userspace)
|
||||
|
||||
efitest_base = {
|
||||
'link_with' : [
|
||||
libefitest,
|
||||
libshared,
|
||||
],
|
||||
}
|
||||
efi_test_template = test_template + efitest_base
|
||||
efi_fuzz_template = fuzz_template + efitest_base
|
||||
efitest_base = {
|
||||
'link_with' : [
|
||||
libefitest,
|
||||
libshared,
|
||||
],
|
||||
}
|
||||
efi_test_template = test_template + efitest_base
|
||||
efi_fuzz_template = fuzz_template + efitest_base
|
||||
|
||||
executables += [
|
||||
efi_test_template + {
|
||||
'sources' : files('test-bcd.c'),
|
||||
'dependencies' : libzstd,
|
||||
'conditions' : ['HAVE_ZSTD'],
|
||||
},
|
||||
efi_test_template + {
|
||||
'sources' : files('test-efi-string.c'),
|
||||
},
|
||||
efi_fuzz_template + {
|
||||
'sources' : files('fuzz-bcd.c'),
|
||||
},
|
||||
efi_fuzz_template + {
|
||||
'sources' : files('fuzz-efi-string.c'),
|
||||
},
|
||||
efi_fuzz_template + {
|
||||
'sources' : files('fuzz-efi-printf.c'),
|
||||
},
|
||||
]
|
||||
endif
|
||||
executables += [
|
||||
efi_test_template + {
|
||||
'sources' : files('test-bcd.c'),
|
||||
'dependencies' : libzstd,
|
||||
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_ZSTD'],
|
||||
},
|
||||
efi_test_template + {
|
||||
'sources' : files('test-efi-string.c'),
|
||||
'conditions' : ['ENABLE_BOOTLOADER'],
|
||||
},
|
||||
efi_fuzz_template + {
|
||||
'sources' : files('fuzz-bcd.c'),
|
||||
},
|
||||
efi_fuzz_template + {
|
||||
'sources' : files('fuzz-efi-string.c'),
|
||||
},
|
||||
efi_fuzz_template + {
|
||||
'sources' : files('fuzz-efi-printf.c'),
|
||||
},
|
||||
]
|
||||
|
||||
if conf.get('ENABLE_BOOTLOADER') != 1
|
||||
subdir_done()
|
||||
|
@ -344,13 +344,11 @@ shared_fdisk_sources = files(
|
||||
'fdisk-util.c',
|
||||
)
|
||||
|
||||
if get_option('fdisk') != 'false'
|
||||
libshared_fdisk = static_library(
|
||||
'shared-fdisk',
|
||||
shared_fdisk_sources,
|
||||
include_directories : includes,
|
||||
dependencies : [libfdisk,
|
||||
userspace],
|
||||
c_args : ['-fvisibility=default'],
|
||||
build_by_default : false)
|
||||
endif
|
||||
libshared_fdisk = static_library(
|
||||
'shared-fdisk',
|
||||
shared_fdisk_sources,
|
||||
include_directories : includes,
|
||||
dependencies : [libfdisk,
|
||||
userspace],
|
||||
c_args : ['-fvisibility=default'],
|
||||
build_by_default : false)
|
||||
|
@ -36,6 +36,15 @@ fuzz_regression_tests += { 'fuzz-unit-file' : dict }
|
||||
|
||||
############################################################
|
||||
|
||||
# TODO: Use native string formatting with meson >= 1.3.0
|
||||
if get_option('auto_features').enabled()
|
||||
sanitize_auto_features = 'enabled'
|
||||
elif get_option('auto_features').disabled()
|
||||
sanitize_auto_features = 'disabled'
|
||||
else
|
||||
sanitize_auto_features = 'auto'
|
||||
endif
|
||||
|
||||
sanitize_address_undefined = custom_target(
|
||||
'sanitize-address-undefined-fuzzers',
|
||||
output : 'sanitize-address-undefined-fuzzers',
|
||||
@ -43,11 +52,11 @@ sanitize_address_undefined = custom_target(
|
||||
project_source_root,
|
||||
'@OUTPUT@',
|
||||
'fuzzers',
|
||||
'-Dfuzz-tests=true -Db_lundef=false -Db_sanitize=address,undefined --optimization=@0@ @1@ -Dc_args=@2@ -Dcpp_args=@2@ -Dskip-deps=@3@'.format(
|
||||
'-Dfuzz-tests=true -Db_lundef=false -Db_sanitize=address,undefined --optimization=@0@ @1@ -Dc_args=@2@ -Dcpp_args=@2@ --auto-features=@3@'.format(
|
||||
get_option('optimization'),
|
||||
get_option('werror') ? '--werror' : '',
|
||||
'-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION',
|
||||
get_option('skip-deps')
|
||||
sanitize_auto_features
|
||||
),
|
||||
' '.join(cc.cmd_array()),
|
||||
cxx_cmd])
|
||||
|
@ -27,10 +27,12 @@ build="$WORK/build"
|
||||
rm -rf "$build"
|
||||
mkdir -p "$build"
|
||||
|
||||
meson_args=("-Db_lundef=false")
|
||||
|
||||
if [ -z "$FUZZING_ENGINE" ]; then
|
||||
fuzzflag="llvm-fuzz=true"
|
||||
meson_args+=("-Dllvm-fuzz=true")
|
||||
else
|
||||
fuzzflag="oss-fuzz=true"
|
||||
meson_args+=("-Doss-fuzz=true" "--auto-features=disabled")
|
||||
|
||||
apt-get update
|
||||
apt-get install -y gperf m4 gettext python3-pip \
|
||||
@ -67,7 +69,7 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! meson setup "$build" "-D$fuzzflag" -Db_lundef=false; then
|
||||
if ! meson setup "$build" "${meson_args[@]}"; then
|
||||
cat "$build/meson-logs/meson-log.txt"
|
||||
exit 1
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user