mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-22 13:33:56 +03:00
Drop dependency on m4
m4 was hugely popular in the past, because autotools, automake, flex, bison and many other things used it. But nowadays it much less popular, and might not even be installed in the buildroot. (m4 is small, so it doesn't make a big difference.) (FWIW, Fedora dropped make from the buildroot now, https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot. I think it's reasonable to assume that m4 will be dropped at some point too.) The main reason to drop m4 is that the syntax is not very nice, and we should minimize the number of different syntaxes that we use. We still have two (configure_file() with @FOO@ and jinja2 templates with {{foo}} and the pythonesque conditional expressions), but at least we don't need m4 (with m4_dnl and `quotes').
This commit is contained in:
parent
02fa218b24
commit
44ff8df777
@ -35,7 +35,6 @@ BuildPackages=
|
|||||||
libxkbcommon
|
libxkbcommon
|
||||||
libxslt
|
libxslt
|
||||||
lz4
|
lz4
|
||||||
m4
|
|
||||||
meson
|
meson
|
||||||
pam
|
pam
|
||||||
pkgconfig
|
pkgconfig
|
||||||
|
@ -46,7 +46,6 @@ BuildPackages=
|
|||||||
libtss2-dev
|
libtss2-dev
|
||||||
libxkbcommon-dev
|
libxkbcommon-dev
|
||||||
libzstd-dev
|
libzstd-dev
|
||||||
m4
|
|
||||||
meson
|
meson
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
python3
|
||||||
|
@ -45,7 +45,6 @@ BuildPackages=
|
|||||||
libzstd-devel
|
libzstd-devel
|
||||||
lz4
|
lz4
|
||||||
lz4-devel
|
lz4-devel
|
||||||
m4
|
|
||||||
meson
|
meson
|
||||||
ninja-build
|
ninja-build
|
||||||
openssl-devel
|
openssl-devel
|
||||||
|
@ -30,7 +30,6 @@ BuildPackages=
|
|||||||
libseccomp-devel
|
libseccomp-devel
|
||||||
libselinux-devel
|
libselinux-devel
|
||||||
libxslt-tools
|
libxslt-tools
|
||||||
m4
|
|
||||||
meson
|
meson
|
||||||
pam-devel
|
pam-devel
|
||||||
pciutils-devel
|
pciutils-devel
|
||||||
|
@ -49,7 +49,6 @@ BuildPackages=
|
|||||||
libxkbcommon-dev
|
libxkbcommon-dev
|
||||||
libxtables-dev
|
libxtables-dev
|
||||||
libzstd-dev
|
libzstd-dev
|
||||||
m4
|
|
||||||
meson
|
meson
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
python3
|
||||||
|
2
README
2
README
@ -195,7 +195,7 @@ REQUIREMENTS:
|
|||||||
python >= 3.5
|
python >= 3.5
|
||||||
meson >= 0.46 (>= 0.49 is required to build position-independent executables)
|
meson >= 0.46 (>= 0.49 is required to build position-independent executables)
|
||||||
ninja
|
ninja
|
||||||
gcc, awk, sed, grep, m4, and similar tools
|
gcc, awk, sed, grep, and similar tools
|
||||||
clang >= 10.0, llvm >= 10.0 (optional, required to build BPF programs
|
clang >= 10.0, llvm >= 10.0 (optional, required to build BPF programs
|
||||||
from source code in C)
|
from source code in C)
|
||||||
|
|
||||||
|
@ -606,7 +606,6 @@ echo = find_program('echo')
|
|||||||
test = find_program('test')
|
test = find_program('test')
|
||||||
sed = find_program('sed')
|
sed = find_program('sed')
|
||||||
awk = find_program('awk')
|
awk = find_program('awk')
|
||||||
m4 = find_program('m4')
|
|
||||||
stat = find_program('stat')
|
stat = find_program('stat')
|
||||||
ln = find_program('ln')
|
ln = find_program('ln')
|
||||||
git = find_program('git', required : false)
|
git = find_program('git', required : false)
|
||||||
@ -1650,7 +1649,6 @@ generate_gperfs = find_program('tools/generate-gperfs.py')
|
|||||||
make_autosuspend_rules_py = find_program('tools/make-autosuspend-rules.py')
|
make_autosuspend_rules_py = find_program('tools/make-autosuspend-rules.py')
|
||||||
make_directive_index_py = find_program('tools/make-directive-index.py')
|
make_directive_index_py = find_program('tools/make-directive-index.py')
|
||||||
make_man_index_py = find_program('tools/make-man-index.py')
|
make_man_index_py = find_program('tools/make-man-index.py')
|
||||||
meson_apply_m4 = find_program('tools/meson-apply-m4.sh')
|
|
||||||
meson_render_jinja2 = find_program('tools/meson-render-jinja2.py')
|
meson_render_jinja2 = find_program('tools/meson-render-jinja2.py')
|
||||||
update_dbus_docs_py = find_program('tools/update-dbus-docs.py')
|
update_dbus_docs_py = find_program('tools/update-dbus-docs.py')
|
||||||
update_hwdb_sh = find_program('tools/update-hwdb.sh')
|
update_hwdb_sh = find_program('tools/update-hwdb.sh')
|
||||||
|
@ -48,7 +48,7 @@ test_append_files() {
|
|||||||
cp systemd_test.fc "$workspace/systemd-test-module"
|
cp systemd_test.fc "$workspace/systemd-test-module"
|
||||||
dracut_install -o sesearch
|
dracut_install -o sesearch
|
||||||
dracut_install runcon
|
dracut_install runcon
|
||||||
dracut_install checkmodule semodule semodule_package m4 make load_policy sefcontext_compile
|
dracut_install checkmodule semodule semodule_package make load_policy sefcontext_compile
|
||||||
dracut_install -o /usr/libexec/selinux/hll/pp # Fedora/RHEL/...
|
dracut_install -o /usr/libexec/selinux/hll/pp # Fedora/RHEL/...
|
||||||
dracut_install -o /usr/lib/selinux/hll/pp # Debian/Ubuntu/...
|
dracut_install -o /usr/lib/selinux/hll/pp # Debian/Ubuntu/...
|
||||||
)
|
)
|
||||||
|
@ -52,7 +52,6 @@ BuildPackages=
|
|||||||
libxslt
|
libxslt
|
||||||
lz4
|
lz4
|
||||||
lz4-devel
|
lz4-devel
|
||||||
m4
|
|
||||||
meson
|
meson
|
||||||
ninja-build
|
ninja-build
|
||||||
pam-devel
|
pam-devel
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
CONFIG="${1:?Missing path to config.h}"
|
|
||||||
TARGET="${2:?Missing target m4 file}"
|
|
||||||
|
|
||||||
if [ ! -f "$CONFIG" ]; then
|
|
||||||
echo "$CONFIG not found."
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f "$TARGET" ]; then
|
|
||||||
echo "$TARGET not found."
|
|
||||||
exit 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
DEFINES=()
|
|
||||||
mapfile -t DEFINES < <(awk '$1 == "#define" && $3 == "1" { printf "-D%s\n", $2 }' "$CONFIG")
|
|
||||||
|
|
||||||
m4 -P "${DEFINES[@]}" "$TARGET"
|
|
Loading…
Reference in New Issue
Block a user