mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
build: enforce makefile conditional style
Automake has builtin support to prevent botched conditional nesting, but only if you use: if FOO else !FOO endif !FOO An example error message when using the wrong name: daemon/Makefile.am:378: error: else reminder (LIBVIRT_INIT_SCRIPT_SYSTEMD_TRUE) incompatible with current conditional: LIBVIRT_INIT_SCRIPT_SYSTEMD_FALSE daemon/Makefile.am:381: error: endif reminder (LIBVIRT_INIT_SCRIPT_SYSTEMD_TRUE) incompatible with current conditional: LIBVIRT_INIT_SCRIPT_SYSTEMD_FALSE As our makefiles tend to have quite a bit of nested conditionals, it's better to take advantage of the benefits of the build system double-checking that our conditionals are well-nested, but that requires a syntax check to enforce our usage style. Alas, unlike C preprocessor and spec files, we can't use indentation to make it easier to see how deeply nesting goes. * cfg.mk (sc_makefile_conditionals): New rule. * daemon/Makefile.am: Enforce the style. * gnulib/tests/Makefile.am: Likewise. * python/Makefile.am: Likewise. * src/Makefile.am: Likewise. * tests/Makefile.am: Likewise. * tools/Makefile.am: Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
@@ -26,7 +26,7 @@ if WITH_EXPENSIVE_TESTS
|
||||
## Automake requires that at least one conditional call out all tests to
|
||||
## be run, for those tests to be shipped in the tarball
|
||||
TESTS = $(GNULIB_TESTS)
|
||||
endif
|
||||
endif WITH_EXPENSIVE_TESTS
|
||||
## However, we want to change the set of tests based on the make environment,
|
||||
## where the default was set at configure time. Use GNU make constructs to
|
||||
## hide our actions from Automake, so we don't get it too confused.
|
||||
|
||||
Reference in New Issue
Block a user