Thomas Heijligen has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/73101 )
Change subject: meson.build: Use library() to build libflashrom ......................................................................
meson.build: Use library() to build libflashrom
Use library() instead of both_libraries() to build libflashrom. The build-in option `default-library` can be used to decide which kind of libraries should be build. Make `both` the default and throw an error in the case someone tries to build the classic_cli with a shared library.
Change-Id: I27f10fdf1227795a9a3b4e050a2d708b58f10ee7 Signed-off-by: Thomas Heijligen thomas.heijligen@secunet.com --- M meson.build 1 file changed, 27 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/01/73101/1
diff --git a/meson.build b/meson.build index 2f11c3f..a3f1d84 100644 --- a/meson.build +++ b/meson.build @@ -8,9 +8,17 @@ 'werror=true', 'optimization=s', 'debug=false', + 'default_library=both' ], )
+if get_option('classic_cli').enabled() and get_option('default_library') == 'shared' + error(''' + Cannot build cli_classic with shared libflashrom. Use '-Dclassic_cli=disabled' to disable the cli, + or use '--default-library=both' to build also the classic_cli + ''') +endif + # libtool versioning lt_current = '1' lt_revision = '0' @@ -570,7 +578,7 @@ else vflag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile) endif -libflashrom = both_libraries( +libflashrom = library( 'flashrom', sources : [ srcs, @@ -618,7 +626,7 @@ install_dir: join_paths(get_option('mandir'), 'man8'), )
-if get_option('classic_cli').auto() or get_option('classic_cli').enabled() +if get_option('classic_cli').enabled() or get_option('classic_cli').auto() and not get_option('default_library') == 'shared' classic_cli = executable( 'flashrom', files( @@ -631,7 +639,8 @@ install : true, install_dir : get_option('sbindir'), link_args : link_args, - link_with : libflashrom.get_static_lib(), # flashrom needs internal symbols of libflashrom + # flashrom needs internal symbols of libflashrom + link_with : get_option('default_library') == 'static' ? libflashrom : libflashrom.get_static_lib(), ) if get_option('llvm_cov').enabled() run_target('llvm-cov-cli', command : ['scripts/llvm-cov', classic_cli])