meson: Build the classic cli / flashrom cli executable as feature
Provide the meson option `-Dclassic_cli=auto/enabled/disabled` to
determine if the classic cli flashrom executable should be built. This
is needed to support targets, like libpayload, which can only build
libflashrom.
Change-Id: If39981ad0b3281edd6fc7e220362d2938dddf814
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/66705
Original-Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Original-Reviewed-by: Felix Singer <felixsinger@posteo.net>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72355
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/meson.build b/meson.build
index 240cf3c..045b779 100644
--- a/meson.build
+++ b/meson.build
@@ -458,19 +458,21 @@
install_dir: join_paths(get_option('mandir'), 'man8'),
)
-executable(
- 'flashrom',
- files(
- 'cli_classic.c',
- 'cli_common.c',
- 'cli_output.c',
- ),
- c_args : cargs,
- include_directories : include_dir,
- install : true,
- install_dir : get_option('sbindir'),
- link_with : libflashrom.get_static_lib(), # flashrom needs internal symbols of libflashrom
-)
+if get_option('classic_cli').auto() or get_option('classic_cli').enabled()
+ executable(
+ 'flashrom',
+ files(
+ 'cli_classic.c',
+ 'cli_common.c',
+ 'cli_output.c',
+ ),
+ c_args : cargs,
+ include_directories : include_dir,
+ install : true,
+ install_dir : get_option('sbindir'),
+ link_with : libflashrom.get_static_lib(), # flashrom needs internal symbols of libflashrom
+ )
+endif
if get_option('ich_descriptors_tool').auto() or get_option('ich_descriptors_tool').enabled()
subdir('util/ich_descriptors_tool')
diff --git a/meson_options.txt b/meson_options.txt
index f0ff2be..b883f6b 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,6 @@
option('pciutils', type : 'boolean', value : true, description : 'use pciutils')
option('usb', type : 'boolean', value : true, description : 'use libusb1')
+option('classic_cli', type : 'feature', value : 'enabled', description : 'classic flashrom cli binary')
option('default_programmer_name', type : 'string', description : 'default programmer')
option('default_programmer_args', type : 'string', description : 'default programmer arguments')
option('ich_descriptors_tool', type : 'feature', value : 'auto', description : 'Build ich_descriptors_tool')