mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-22 13:33:56 +03:00
meson: Optimize add-wants targets
Instead of invoking meson-add-wants.sh once for each wants that has to be added, we pass all wants to a single invocation of meson-add-wants.sh and in meson-add-wants.sh, loop over the arguments. This saves about 300ms on the install step. Before: ``` ‣ Running build script... [1/418] Generating version.h with a custom command Installing /root/build/po/be.gmo to /root/dest/usr/share/locale/be/LC_MESSAGES/systemd.mo Installing /root/build/po/be@latin.gmo to /root/dest/usr/share/locale/be@latin/LC_MESSAGES/systemd.mo Installing /root/build/po/bg.gmo to /root/dest/usr/share/locale/bg/LC_MESSAGES/systemd.mo Installing /root/build/po/ca.gmo to /root/dest/usr/share/locale/ca/LC_MESSAGES/systemd.mo Installing /root/build/po/cs.gmo to /root/dest/usr/share/locale/cs/LC_MESSAGES/systemd.mo Installing /root/build/po/da.gmo to /root/dest/usr/share/locale/da/LC_MESSAGES/systemd.mo Installing /root/build/po/de.gmo to /root/dest/usr/share/locale/de/LC_MESSAGES/systemd.mo Installing /root/build/po/el.gmo to /root/dest/usr/share/locale/el/LC_MESSAGES/systemd.mo Installing /root/build/po/es.gmo to /root/dest/usr/share/locale/es/LC_MESSAGES/systemd.mo Installing /root/build/po/fr.gmo to /root/dest/usr/share/locale/fr/LC_MESSAGES/systemd.mo Installing /root/build/po/gl.gmo to /root/dest/usr/share/locale/gl/LC_MESSAGES/systemd.mo Installing /root/build/po/hr.gmo to /root/dest/usr/share/locale/hr/LC_MESSAGES/systemd.mo Installing /root/build/po/hu.gmo to /root/dest/usr/share/locale/hu/LC_MESSAGES/systemd.mo Installing /root/build/po/id.gmo to /root/dest/usr/share/locale/id/LC_MESSAGES/systemd.mo Installing /root/build/po/it.gmo to /root/dest/usr/share/locale/it/LC_MESSAGES/systemd.mo Installing /root/build/po/ja.gmo to /root/dest/usr/share/locale/ja/LC_MESSAGES/systemd.mo Installing /root/build/po/ko.gmo to /root/dest/usr/share/locale/ko/LC_MESSAGES/systemd.mo Installing /root/build/po/lt.gmo to /root/dest/usr/share/locale/lt/LC_MESSAGES/systemd.mo Installing /root/build/po/pl.gmo to /root/dest/usr/share/locale/pl/LC_MESSAGES/systemd.mo Installing /root/build/po/pt_BR.gmo to /root/dest/usr/share/locale/pt_BR/LC_MESSAGES/systemd.mo Installing /root/build/po/ro.gmo to /root/dest/usr/share/locale/ro/LC_MESSAGES/systemd.mo Installing /root/build/po/ru.gmo to /root/dest/usr/share/locale/ru/LC_MESSAGES/systemd.mo Installing /root/build/po/sk.gmo to /root/dest/usr/share/locale/sk/LC_MESSAGES/systemd.mo Installing /root/build/po/sr.gmo to /root/dest/usr/share/locale/sr/LC_MESSAGES/systemd.mo Installing /root/build/po/sv.gmo to /root/dest/usr/share/locale/sv/LC_MESSAGES/systemd.mo Installing /root/build/po/tr.gmo to /root/dest/usr/share/locale/tr/LC_MESSAGES/systemd.mo Installing /root/build/po/uk.gmo to /root/dest/usr/share/locale/uk/LC_MESSAGES/systemd.mo Installing /root/build/po/zh_CN.gmo to /root/dest/usr/share/locale/zh_CN/LC_MESSAGES/systemd.mo Installing /root/build/po/zh_TW.gmo to /root/dest/usr/share/locale/zh_TW/LC_MESSAGES/systemd.mo Installing /root/build/po/pa.gmo to /root/dest/usr/share/locale/pa/LC_MESSAGES/systemd.mo real 0m1.465s user 0m1.025s sys 0m0.426s ``` After: ``` ‣ Running build script... [1/418] Generating version.h with a custom command Installing /root/build/po/be.gmo to /root/dest/usr/share/locale/be/LC_MESSAGES/systemd.mo Installing /root/build/po/be@latin.gmo to /root/dest/usr/share/locale/be@latin/LC_MESSAGES/systemd.mo Installing /root/build/po/bg.gmo to /root/dest/usr/share/locale/bg/LC_MESSAGES/systemd.mo Installing /root/build/po/ca.gmo to /root/dest/usr/share/locale/ca/LC_MESSAGES/systemd.mo Installing /root/build/po/cs.gmo to /root/dest/usr/share/locale/cs/LC_MESSAGES/systemd.mo Installing /root/build/po/da.gmo to /root/dest/usr/share/locale/da/LC_MESSAGES/systemd.mo Installing /root/build/po/de.gmo to /root/dest/usr/share/locale/de/LC_MESSAGES/systemd.mo Installing /root/build/po/el.gmo to /root/dest/usr/share/locale/el/LC_MESSAGES/systemd.mo Installing /root/build/po/es.gmo to /root/dest/usr/share/locale/es/LC_MESSAGES/systemd.mo Installing /root/build/po/fr.gmo to /root/dest/usr/share/locale/fr/LC_MESSAGES/systemd.mo Installing /root/build/po/gl.gmo to /root/dest/usr/share/locale/gl/LC_MESSAGES/systemd.mo Installing /root/build/po/hr.gmo to /root/dest/usr/share/locale/hr/LC_MESSAGES/systemd.mo Installing /root/build/po/hu.gmo to /root/dest/usr/share/locale/hu/LC_MESSAGES/systemd.mo Installing /root/build/po/id.gmo to /root/dest/usr/share/locale/id/LC_MESSAGES/systemd.mo Installing /root/build/po/it.gmo to /root/dest/usr/share/locale/it/LC_MESSAGES/systemd.mo Installing /root/build/po/ja.gmo to /root/dest/usr/share/locale/ja/LC_MESSAGES/systemd.mo Installing /root/build/po/ko.gmo to /root/dest/usr/share/locale/ko/LC_MESSAGES/systemd.mo Installing /root/build/po/lt.gmo to /root/dest/usr/share/locale/lt/LC_MESSAGES/systemd.mo Installing /root/build/po/pl.gmo to /root/dest/usr/share/locale/pl/LC_MESSAGES/systemd.mo Installing /root/build/po/pt_BR.gmo to /root/dest/usr/share/locale/pt_BR/LC_MESSAGES/systemd.mo Installing /root/build/po/ro.gmo to /root/dest/usr/share/locale/ro/LC_MESSAGES/systemd.mo Installing /root/build/po/ru.gmo to /root/dest/usr/share/locale/ru/LC_MESSAGES/systemd.mo Installing /root/build/po/sk.gmo to /root/dest/usr/share/locale/sk/LC_MESSAGES/systemd.mo Installing /root/build/po/sr.gmo to /root/dest/usr/share/locale/sr/LC_MESSAGES/systemd.mo Installing /root/build/po/sv.gmo to /root/dest/usr/share/locale/sv/LC_MESSAGES/systemd.mo Installing /root/build/po/tr.gmo to /root/dest/usr/share/locale/tr/LC_MESSAGES/systemd.mo Installing /root/build/po/uk.gmo to /root/dest/usr/share/locale/uk/LC_MESSAGES/systemd.mo Installing /root/build/po/zh_CN.gmo to /root/dest/usr/share/locale/zh_CN/LC_MESSAGES/systemd.mo Installing /root/build/po/zh_TW.gmo to /root/dest/usr/share/locale/zh_TW/LC_MESSAGES/systemd.mo Installing /root/build/po/pa.gmo to /root/dest/usr/share/locale/pa/LC_MESSAGES/systemd.mo real 0m1.162s user 0m0.803s sys 0m0.338s ```
This commit is contained in:
parent
1ea9580d8f
commit
4ad303fddd
@ -1,34 +1,39 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
unitdir="$1"
|
||||
target="$2"
|
||||
unit="$3"
|
||||
i=1
|
||||
while [ $i -lt $# ] ; do
|
||||
eval unitdir="\${$i}"
|
||||
eval target="\${$((i + 1))}"
|
||||
eval unit="\${$((i + 2))}"
|
||||
|
||||
if [ "${MESON_INSTALL_QUIET:-0}" = 1 ] ; then
|
||||
VERBOSE=""
|
||||
else
|
||||
VERBOSE="v"
|
||||
fi
|
||||
if [ "${MESON_INSTALL_QUIET:-0}" = 1 ] ; then
|
||||
VERBOSE=""
|
||||
else
|
||||
VERBOSE="v"
|
||||
fi
|
||||
|
||||
case "$target" in
|
||||
*/?*) # a path, but not just a slash at the end
|
||||
dir="${DESTDIR:-}${target}"
|
||||
;;
|
||||
*)
|
||||
dir="${DESTDIR:-}${unitdir}/${target}"
|
||||
;;
|
||||
esac
|
||||
case "$target" in
|
||||
*/?*) # a path, but not just a slash at the end
|
||||
dir="${DESTDIR:-}${target}"
|
||||
;;
|
||||
*)
|
||||
dir="${DESTDIR:-}${unitdir}/${target}"
|
||||
;;
|
||||
esac
|
||||
|
||||
unitpath="${DESTDIR:-}${unitdir}/${unit}"
|
||||
unitpath="${DESTDIR:-}${unitdir}/${unit}"
|
||||
|
||||
case "$target" in
|
||||
*/)
|
||||
mkdir -${VERBOSE}p -m 0755 "$dir"
|
||||
;;
|
||||
*)
|
||||
mkdir -${VERBOSE}p -m 0755 "$(dirname "$dir")"
|
||||
;;
|
||||
esac
|
||||
case "$target" in
|
||||
*/)
|
||||
mkdir -${VERBOSE}p -m 0755 "$dir"
|
||||
;;
|
||||
*)
|
||||
mkdir -${VERBOSE}p -m 0755 "$(dirname "$dir")"
|
||||
;;
|
||||
esac
|
||||
|
||||
ln -${VERBOSE}fs --relative "$unitpath" "$dir"
|
||||
ln -${VERBOSE}fs --relative "$unitpath" "$dir"
|
||||
|
||||
i=$((i + 3))
|
||||
done
|
||||
|
@ -247,6 +247,8 @@ m4_units = [
|
||||
['serial-getty@.service', ''],
|
||||
]
|
||||
|
||||
add_wants = []
|
||||
|
||||
foreach tuple : in_units
|
||||
file = tuple[0]
|
||||
|
||||
@ -270,7 +272,7 @@ foreach tuple : in_units
|
||||
|
||||
if install and tuple.length() > 2
|
||||
foreach target : tuple[2].split()
|
||||
meson.add_install_script('meson-add-wants.sh', systemunitdir, target, file)
|
||||
add_wants += [systemunitdir, target, file]
|
||||
endforeach
|
||||
endif
|
||||
endforeach
|
||||
@ -295,7 +297,7 @@ foreach tuple : m4_units
|
||||
|
||||
if tuple.length() > 2 and install
|
||||
foreach target : tuple[2].split()
|
||||
meson.add_install_script('meson-add-wants.sh', systemunitdir, target, file)
|
||||
add_wants += [systemunitdir, target, file]
|
||||
endforeach
|
||||
endif
|
||||
endforeach
|
||||
@ -314,13 +316,14 @@ foreach tuple : units
|
||||
|
||||
if tuple.length() > 2
|
||||
foreach target : tuple[2].split()
|
||||
meson.add_install_script(
|
||||
'meson-add-wants.sh', systemunitdir, target, file)
|
||||
add_wants += [systemunitdir, target, file]
|
||||
endforeach
|
||||
endif
|
||||
endif
|
||||
endforeach
|
||||
|
||||
meson.add_install_script('meson-add-wants.sh', add_wants)
|
||||
|
||||
install_data('user-.slice.d/10-defaults.conf',
|
||||
install_dir : systemunitdir + '/user-.slice.d')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user