[libvirt] [PATCH] build: enforce makefile conditional style

Michal Privoznik mprivozn at redhat.com
Wed Sep 4 08:41:24 UTC 2013


On 04.09.2013 04:41, Eric Blake wrote:
> 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 stye.
> 
> 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 at redhat.com>
> ---
>  cfg.mk                   |   8 ++
>  daemon/Makefile.am       |  64 +++++-----
>  gnulib/tests/Makefile.am |   2 +-
>  python/Makefile.am       |   4 +-
>  src/Makefile.am          | 326 +++++++++++++++++++++++------------------------
>  tests/Makefile.am        | 130 +++++++++----------
>  tools/Makefile.am        |  14 +-
>  7 files changed, 278 insertions(+), 270 deletions(-)

ACK

Michal




More information about the libvir-list mailing list