X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=d768e9dff116a7d1f28158d62b2cac0600ac6de4;hp=e91ec2582406895772a19e80b20e36bedc32b372;hb=a12fc8b23973709b3dbe8cf752c7e4f4b31a3233;hpb=b765bec0be97ef05e5af6cfbf4e0a2c8b7596a03 diff --git a/configure b/configure index e91ec258..d768e9df 100755 --- a/configure +++ b/configure @@ -136,7 +136,9 @@ exit_val=0 gfio_check="no" libhdfs="no" pmemblk="no" +devdax="no" disable_lex="" +disable_pmem="no" prefix=/usr/local # parse options @@ -172,8 +174,6 @@ for opt do ;; --enable-libhdfs) libhdfs="yes" ;; - --enable-pmemblk) pmemblk="yes" - ;; --disable-lex) disable_lex="yes" ;; --enable-lex) disable_lex="no" @@ -182,6 +182,8 @@ for opt do ;; --disable-optimizations) disable_opt="yes" ;; + --disable-pmem) disable_pmem="yes" + ;; --help) show_help="yes" ;; @@ -204,8 +206,8 @@ if test "$show_help" = "yes" ; then echo "--disable-numa Disable libnuma even if found" echo "--disable-gfapi Disable gfapi" echo "--enable-libhdfs Enable hdfs support" - echo "--enable-pmemblk Enable NVML libpmemblk support" echo "--disable-lex Disable use of lex/yacc for math" + echo "--disable-pmem Disable pmem based engines even if found" echo "--enable-lex Enable use of lex/yacc for math" echo "--disable-shm Disable SHM support" echo "--disable-optimizations Don't enable compiler optimizations" @@ -340,6 +342,8 @@ elif check_define __s390__ ; then fi elif check_define __arm__ ; then cpu="arm" +elif check_define __aarch64__ ; then + cpu="aarch64" elif check_define __hppa__ ; then cpu="hppa" else @@ -360,6 +364,9 @@ case "$cpu" in armv*b|armv*l|arm) cpu="arm" ;; + aarch64) + cpu="arm64" + ;; hppa|parisc|parisc64) cpu="hppa" ;; @@ -1334,6 +1341,32 @@ if test "$disable_rbd" != "yes" && compile_prog "" "-lrbd -lrados" "rbd"; then fi echo "Rados Block Device engine $rbd" +########################################## +# check for rbd_poll +rbd_poll="no" +if test "$rbd" = "yes"; then +cat > $TMPC << EOF +#include +#include + +int main(int argc, char **argv) +{ + rbd_image_t image; + rbd_completion_t comp; + + int fd = eventfd(0, EFD_NONBLOCK); + rbd_set_image_notification(image, fd, EVENT_TYPE_EVENTFD); + rbd_poll_io_events(image, comp, 1); + + return 0; +} +EOF +if compile_prog "" "-lrbd -lrados" "rbd"; then + rbd_poll="yes" +fi +echo "rbd_poll $rbd_poll" +fi + ########################################## # check for rbd_invaidate_cache() rbd_inval="no" @@ -1536,9 +1569,60 @@ if compile_prog "" "" "mtd"; then fi echo "MTD $mtd" +########################################## +# Check whether we have libpmem +libpmem="no" +cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + int rc; + rc = pmem_is_pmem(0, 0); + return 0; +} +EOF +if compile_prog "" "-lpmem" "libpmem"; then + libpmem="yes" + LIBS="-lpmem $LIBS" +fi +echo "libpmem $libpmem" + +########################################## +# Check whether we have libpmemblk +# libpmem is a prerequisite +libpmemblk="no" +if test "$libpmem" = "yes"; then + cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + PMEMblkpool *pbp; + pbp = pmemblk_open("", 0); + return 0; +} +EOF + if compile_prog "" "-lpmemblk" "libpmemblk"; then + libpmemblk="yes" + LIBS="-lpmemblk $LIBS" + fi +fi +echo "libpmemblk $libpmemblk" + +# Choose the ioengines +if test "$libpmem" = "yes" && test "$disable_pmem" = "no"; then + devdax="yes" + if test "$libpmemblk" = "yes"; then + pmemblk="yes" + fi +fi + ########################################## # Report whether pmemblk engine is enabled -echo "NVML libpmemblk engine $pmemblk" +echo "NVML pmemblk engine $pmemblk" + +########################################## +# Report whether dev-dax engine is enabled +echo "NVML dev-dax engine $devdax" # Check if we have lex/yacc available yacc="no" @@ -1707,6 +1791,24 @@ if compile_prog "" "" "bool"; then fi echo "bool $have_bool" +########################################## +# check march=armv8-a+crc+crypto +march_armv8_a_crc_crypto="no" +if test "$cpu" = "arm64" ; then + cat > $TMPC <