diff options
author | Thomas Heijligen <thomas.heijligen@secunet.com> | 2023-02-20 11:59:30 +0100 |
---|---|---|
committer | Edward O'Callaghan <quasisec@chromium.org> | 2023-04-20 07:40:46 +0000 |
commit | 67ca4a71c477320d4b726acd152b7536344e227f (patch) | |
tree | b217152d8c9b248d269d534973b828f66c86a295 | |
parent | f3c21c6439f8bbd2911f120c55f301982ecd35bc (diff) | |
download | flashrom-67ca4a71c477320d4b726acd152b7536344e227f.tar.gz flashrom-67ca4a71c477320d4b726acd152b7536344e227f.tar.bz2 flashrom-67ca4a71c477320d4b726acd152b7536344e227f.zip |
meson.build: Use library() to build libflashrom
Use library() instead of both_libraries() to build libflashrom. The
built-in option `default-library` can be used to decide which kind of
libraries should be built. 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>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/73101
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r-- | meson.build | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/meson.build b/meson.build index 5c38749f..4341ccfe 100644 --- a/meson.build +++ b/meson.build @@ -8,9 +8,17 @@ project('flashromutils', 'c', '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 also build the classic_cli + ''') +endif + subdir('doc') # libtool versioning @@ -587,7 +595,7 @@ if host_machine.system() == 'darwin' else vflag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile) endif -libflashrom = both_libraries( +libflashrom = library( 'flashrom', sources : [ srcs, @@ -624,7 +632,7 @@ pkgg.generate( description : 'library to interact with flashrom', ) -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( @@ -637,7 +645,8 @@ if get_option('classic_cli').auto() or get_option('classic_cli').enabled() 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]) |