On 2020/07/30 6:04, Dmitry Fomichev wrote: > Avoid parsing pkg-config output and just use --atleast-version to > check if libzbc is present and has an up to date version. > > Currently, support for libzbc ioengine is always included if libzbc is > found at the build system. Add the option to disable libzbc ioengine > support even if libzbc is found. This can be useful for > cross-compilation. > > Signed-off-by: Dmitry Fomichev <dmitry.fomichev@xxxxxxx> > --- > configure | 28 +++++++++++++++------------- > 1 file changed, 15 insertions(+), 13 deletions(-) > > diff --git a/configure b/configure > index 5925e94f..9a5f35f2 100755 > --- a/configure > +++ b/configure > @@ -213,6 +213,8 @@ for opt do > ;; > --enable-libnbd) libnbd="yes" > ;; > + --disable-libzbc) libzbc="no" > + ;; > --disable-tcmalloc) disable_tcmalloc="yes" > ;; > --enable-libaio-uring) libaio_uring="yes" > @@ -256,6 +258,7 @@ if test "$show_help" = "yes" ; then > echo "--with-ime= Install path for DDN's Infinite Memory Engine" > echo "--enable-libiscsi Enable iscsi support" > echo "--enable-libnbd Enable libnbd (NBD engine) support" > + echo "--disable-libzbc Disable libzbc even if found" The message could simply be "Disable libzbc support". > echo "--disable-tcmalloc Disable tcmalloc support" > echo "--enable-libaio-uring Enable libaio emulated over io_uring" > echo "--dynamic-libengines Lib-based ioengines as dynamic libraries" > @@ -2454,9 +2457,6 @@ fi > > ########################################## > # libzbc probe > -if test "$libzbc" != "yes" ; then > - libzbc="no" > -fi > cat > $TMPC << EOF > #include <libzbc/zbc.h> > int main(int argc, char **argv) > @@ -2466,19 +2466,21 @@ int main(int argc, char **argv) > return zbc_open("foo=bar", O_RDONLY, &dev); > } > EOF > -if compile_prog "" "-lzbc" "libzbc"; then > - libzbcvermaj=$(pkg-config --modversion libzbc | sed 's/\.[0-9]*\.[0-9]*//') > - if test "$libzbcvermaj" -ge "5" ; then > - libzbc="yes" > +if test "$libzbc" != "no" ; then If you make this: if test "$libzbc" = "yes" ; then > + if compile_prog "" "-lzbc" "libzbc"; then > + minimum_libzbc=5 > + if $(pkg-config --atleast-version=$minimum_libzbc libzbc); then > + libzbc="yes" > + else > + print_config "libzbc engine" "libzbc version $minimum_libzbc or above required" > + libzbc="no" > + fi then you can simplify the above by reversing the if condition, > else > - print_config "libzbc engine" "Unsupported libzbc version (version 5 or above required)" > + if test "$libzbc" = "yes" ; then and you do not need this if. Note that I think you need to initialize the libzbc variable to "yes" by default for this to work. > + feature_not_found "libzbc" "libzbc or libzbc/zbc.h" > + fi > libzbc="no" > fi > -else > - if test "$libzbc" = "yes" ; then > - feature_not_found "libzbc" "libzbc or libzbc/zbc.h" > - fi > - libzbc="no" > fi > print_config "libzbc engine" "$libzbc" > > -- Damien Le Moal Western Digital Research