meson: avoid building executables that won't be installed

When executable() or custom_target() has install: that is conditional as is
false (i.e. not install:true), it won't be built by default. (build_by_default:
defaults to install:). But if that program is added to public_programs, it will
be build by default because it is pulled in by the test, effectively defeating
the disablement.

While at it, make 'ukify' follow the same pattern as 'kernel-install'.
They will be used later together.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2023-04-14 18:10:58 +02:00
parent d9c8f075af
commit 9a01fe3906

View file

@ -2507,7 +2507,9 @@ exe = executable(
versiondep],
install_rpath : rootpkglibdir,
install : conf.get('ENABLE_ANALYZE') == 1)
public_programs += exe
if conf.get('ENABLE_ANALYZE') == 1
public_programs += exe
endif
if want_tests != 'false'
test('test-compare-versions',
@ -4353,7 +4355,9 @@ exe = custom_target(
install : want_kernel_install,
install_mode : 'rwxr-xr-x',
install_dir : bindir)
public_programs += exe
if want_kernel_install
public_programs += exe
endif
if want_tests != 'false' and want_kernel_install
test('test-kernel-install',
@ -4362,15 +4366,15 @@ if want_tests != 'false' and want_kernel_install
args : [exe.full_path(), loaderentry_install])
endif
if want_ukify
exe = custom_target(
exe = custom_target(
'ukify',
input : 'src/ukify/ukify.py',
output : 'ukify',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install : true,
install : want_ukify,
install_mode : 'rwxr-xr-x',
install_dir : rootlibexecdir)
if want_ukify
public_programs += exe
endif