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.
Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
libiscsi="no"
libnbd="no"
libaio_uring="no"
libiscsi="no"
libnbd="no"
libaio_uring="no"
dynamic_engines="no"
prefix=/usr/local
dynamic_engines="no"
prefix=/usr/local
;;
--enable-libnbd) libnbd="yes"
;;
;;
--enable-libnbd) libnbd="yes"
;;
+ --disable-libzbc) libzbc="no"
+ ;;
--disable-tcmalloc) disable_tcmalloc="yes"
;;
--enable-libaio-uring) libaio_uring="yes"
--disable-tcmalloc) disable_tcmalloc="yes"
;;
--enable-libaio-uring) libaio_uring="yes"
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 "--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"
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"
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"
##########################################
# libzbc probe
##########################################
# libzbc probe
-if test "$libzbc" != "yes" ; then
- libzbc="no"
-fi
cat > $TMPC << EOF
#include <libzbc/zbc.h>
int main(int argc, char **argv)
cat > $TMPC << EOF
#include <libzbc/zbc.h>
int main(int argc, char **argv)
return zbc_open("foo=bar", O_RDONLY, &dev);
}
EOF
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 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
- print_config "libzbc engine" "Unsupported libzbc version (version 5 or above required)"
- libzbc="no"
- fi
-else
- if test "$libzbc" = "yes" ; then
+ if test "$libzbc" = "yes" ; then
feature_not_found "libzbc" "libzbc or libzbc/zbc.h"
feature_not_found "libzbc" "libzbc or libzbc/zbc.h"
fi
print_config "libzbc engine" "$libzbc"
fi
print_config "libzbc engine" "$libzbc"