meson: add install_tag to sd-boot, libsystemd and libudev
Allows to 'meson install --tags systemd-boot --no-rebuild' to install only the EFI binaries, skipping the rest, for a very quick build: $ ninja src/boot/efi/linuxx64.efi.stub [21/21] Generating src/boot/efi/linuxx64.efi.stub with a custom command $ ninja src/boot/efi/systemd-bootx64.efi [10/10] Generating src/boot/efi/systemd-bootx64.efi with a custom command $ DESTDIR=/tmp/foo meson install --tags systemd-boot --no-rebuild Installing src/boot/efi/systemd-bootx64.efi to /tmp/foo/usr/lib/systemd/boot/efi Requires Meson 0.60 to be used, prints a warning for unknown keyword in earlier versions, but there's no failure https://mesonbuild.com/Installing.html#installation-tags
This commit is contained in:
@@ -123,9 +123,13 @@ for args in "${ARGS[@]}"; do
|
||||
# src/boot/efi/meson.build:52:16: ERROR: Fatal warnings enabled, aborting
|
||||
# when LINKER is set to lld so let's just not turn meson warnings into errors with lld
|
||||
# to make sure that the build systemd can pick up the correct efi-ld linker automatically.
|
||||
if [[ "$LINKER" != lld ]]; then
|
||||
additional_meson_args="--fatal-meson-warnings"
|
||||
fi
|
||||
# We use some features (like install_tag) that were introduced in 0.60, but that don't
|
||||
# break running with older versions
|
||||
# FIXME: re-enable once the minimum version is bumped to 0.60
|
||||
#if [[ "$LINKER" != lld ]]; then
|
||||
# additional_meson_args="--fatal-meson-warnings"
|
||||
#fi
|
||||
additional_meson_args=""
|
||||
info "Checking build with $args"
|
||||
# shellcheck disable=SC2086
|
||||
if ! AR="$AR" \
|
||||
|
||||
@@ -60,7 +60,11 @@ for phase in "${PHASES[@]}"; do
|
||||
# The docs build is slow and is not affected by compiler/flags, so do it just once
|
||||
MESON_ARGS+=(-Dman=true)
|
||||
fi
|
||||
run_meson --fatal-meson-warnings -Dnobody-group=nogroup --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true "${MESON_ARGS[@]}" build
|
||||
# We use some features (like install_tag) that were introduced in 0.60, but that don't
|
||||
# break running with older versions
|
||||
# FIXME: re-enable once the minimum version is bumped to 0.60
|
||||
# MESON_ARGS+=(--fatal-meson-warnings)
|
||||
run_meson -Dnobody-group=nogroup --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true "${MESON_ARGS[@]}" build
|
||||
ninja -C build -v
|
||||
meson test -C build --print-errorlogs
|
||||
;;
|
||||
@@ -79,7 +83,11 @@ for phase in "${PHASES[@]}"; do
|
||||
MESON_ARGS+=(-Dskip-deps=true)
|
||||
fi
|
||||
fi
|
||||
run_meson --fatal-meson-warnings -Dnobody-group=nogroup --werror -Dtests=unsafe -Db_sanitize=address,undefined "${MESON_ARGS[@]}" build
|
||||
# We use some features (like install_tag) that were introduced in 0.60, but that don't
|
||||
# break running with older versions
|
||||
# FIXME: re-enable once the minimum version is bumped to 0.60
|
||||
# MESON_ARGS+=(--fatal-meson-warnings)
|
||||
run_meson -Dnobody-group=nogroup --werror -Dtests=unsafe -Db_sanitize=address,undefined "${MESON_ARGS[@]}" build
|
||||
ninja -C build -v
|
||||
|
||||
export ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1
|
||||
|
||||
Reference in New Issue
Block a user