[igt-dev] [PATCH i-g-t] man/build: Fix dependency handling

Antonio Argenziano antonio.argenziano at intel.com
Fri May 24 14:46:04 UTC 2019



On 23/05/19 22:28, Arkadiusz Hiler wrote:
> build_man is a 'feature' option, which means that we get an opaque
> object, so comparing it to 'yes' is always false.
> 
> It should have been 'if build_man.enabled()'.
> 
> But going even further we can prune the whole check, as rst2man is
> defined as follows:
> 
> rst2man = find_program('rst2man-3', 'rst2man', required : build_man)
> 
>  From the patch overhauling those options:
> 
>      get_option() on a feature returns opaque object that can be passed as
>      a 'required' argument of a dependency. Auto is equivalent to 'required
>      : false', enabled is equivalent to 'required : true' and disabled
>      introduces new behavior forcing the dependency to be considered not
>      found.
> 
> This would cause the build to fail if build_man is enabled (aka
> 'required') and rst2man is not found. So...
> 
> if rst2man.found()
>    # rst2man found
>    # buildu buildu
> else
>    # rst2man not found, but considered optional because
>    # we haven't erred out on find_program
>    if build_man.enabled() # cannot be, it's optional!
>      error('...')
>    endif
> endif
> 
> We can get rid of the whole else block here.
> 
> Cc: Antonio Argenziano <antonio.argenziano at intel.com>
> Cc: Petri Latvala <petri.latvala at intel.com>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler at intel.com>

Acked-by: Antonio Argenziano <antonio.argenziano at intel.com>

> ---
>   man/meson.build | 8 ++------
>   1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/man/meson.build b/man/meson.build
> index 0f0a6dd4..2c1396af 100644
> --- a/man/meson.build
> +++ b/man/meson.build
> @@ -38,10 +38,6 @@ if rst2man.found()
>   				install : true,
>   				install_dir : join_paths(mandir, 'man1'))
>   	endforeach
> -	build_info += 'Build man pages: true'
> -else
> -	if build_man == 'yes'
> -		error('Cannot build man pages due to missing dependencies')
> -	endif
> -	build_info += 'Build man pages: false'
>   endif
> +
> +build_info += 'Build man pages: @0@'.format(rst2man.found())
> 


More information about the igt-dev mailing list