X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=748f7014c63541b26ef66dd8b72fcd1a8a27f777;hp=39a9248db119aed131ada9e6a22600e0fb364a01;hb=ab02be41807ec9451c47b17129cf61457ef21db6;hpb=0a7511a69ea6ca8ff32d392edf027e31aa614716 diff --git a/configure b/configure index 39a9248d..748f7014 100755 --- a/configure +++ b/configure @@ -45,6 +45,7 @@ print_config() { # Default CFLAGS CFLAGS="-D_GNU_SOURCE -include config-host.h $CFLAGS" +CONFIGURE_CFLAGS="-Werror-implicit-function-declaration" BUILD_CFLAGS="" # Print a helpful header at the top of config.log @@ -88,14 +89,14 @@ do_cc() { } compile_object() { - do_cc $CFLAGS -Werror-implicit-function-declaration -c -o $TMPO $TMPC + do_cc $CFLAGS $CONFIGURE_CFLAGS -c -o $TMPO $TMPC } compile_prog() { local_cflags="$1" local_ldflags="$2 $LIBS" echo "Compiling test case $3" >> config.log - do_cc $CFLAGS -Werror-implicit-function-declaration $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags + do_cc $CFLAGS $CONFIGURE_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags } feature_not_found() { @@ -162,13 +163,13 @@ pmemblk="no" devdax="no" pmem="no" cuda="no" +libcufile="no" disable_lex="" disable_pmem="no" disable_native="no" march_set="no" libiscsi="no" libnbd="no" -libaio_uring="no" libzbc="" dynamic_engines="no" prefix=/usr/local @@ -225,6 +226,8 @@ for opt do ;; --enable-cuda) cuda="yes" ;; + --enable-libcufile) libcufile="yes" + ;; --disable-native) disable_native="yes" ;; --with-ime=*) ime_path="$optarg" @@ -237,8 +240,6 @@ for opt do ;; --disable-tcmalloc) disable_tcmalloc="yes" ;; - --enable-libaio-uring) libaio_uring="yes" - ;; --dynamic-libengines) dynamic_engines="yes" ;; --help) @@ -257,7 +258,7 @@ if test "$show_help" = "yes" ; then echo "--cc= Specify compiler to use" echo "--extra-cflags= Specify extra CFLAGS to pass to compiler" echo "--build-32bit-win Enable 32-bit build on Windows" - echo "--target-win-ver= Minimum version of Windows to target (XP or 7)" + echo "--target-win-ver= Minimum version of Windows to target (only accepts 7)" echo "--enable-pdb Enable Windows PDB symbols generation (needs clang/lld)" echo "--build-static Build a static fio" echo "--esx Configure build options for esx" @@ -275,13 +276,13 @@ if test "$show_help" = "yes" ; then echo "--disable-shm Disable SHM support" echo "--disable-optimizations Don't enable compiler optimizations" echo "--enable-cuda Enable GPUDirect RDMA support" + echo "--enable-libcufile Enable GPUDirect Storage cuFile support" echo "--disable-native Don't build for native host" 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" exit $exit_val fi @@ -360,16 +361,15 @@ Darwin) if test -z "$cpu" && test "$(sysctl -n hw.optional.x86_64)" = "1"; then cpu="x86_64" fi - # Error at compile time linking of weak/partial symbols if possible... + # Avoid configure feature detection of features provided by weak symbols cat > $TMPC < $TMPC < $TMPC << EOF int main(int argc, char **argv) { int rc; - rc = pmem_is_pmem(NULL, NULL); + rc = pmem_is_pmem(NULL, 0); return 0; } EOF @@ -2509,6 +2495,29 @@ EOF fi print_config "cuda" "$cuda" +########################################## +# libcufile probe +if test "$libcufile" != "no" ; then +cat > $TMPC << EOF +#include + +int main(int argc, char* argv[]) { + cuFileDriverOpen(); + return 0; +} +EOF + if compile_prog "" "-lcuda -lcudart -lcufile" "libcufile"; then + libcufile="yes" + LIBS="-lcuda -lcudart -lcufile $LIBS" + else + if test "$libcufile" = "yes" ; then + feature_not_found "libcufile" "" + fi + libcufile="no" + fi +fi +print_config "libcufile" "$libcufile" + ########################################## # check for cc -march=native build_native="no" @@ -2686,6 +2695,7 @@ print_config "Windows PDB generation" "$pdb" ########################################## # check for timerfd support timerfd_create="no" +if test "$esx" != "yes" ; then cat > $TMPC << EOF #include #include @@ -2695,8 +2705,9 @@ int main(int argc, char **argv) return timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK); } EOF -if compile_prog "" "" "timerfd_create"; then - timerfd_create="yes" + if compile_prog "" "" "timerfd_create"; then + timerfd_create="yes" + fi fi print_config "timerfd_create" "$timerfd_create" @@ -2722,9 +2733,6 @@ if test "$libaio" = "yes" ; then if test "$libaio_rw_flags" = "yes" ; then output_sym "CONFIG_LIBAIO_RW_FLAGS" fi - if test "$libaio_uring" = "yes" ; then - output_sym "CONFIG_LIBAIO_URING" - fi fi if test "$posix_aio" = "yes" ; then output_sym "CONFIG_POSIXAIO" @@ -2983,6 +2991,9 @@ fi if test "$cuda" = "yes" ; then output_sym "CONFIG_CUDA" fi +if test "$libcufile" = "yes" ; then + output_sym "CONFIG_LIBCUFILE" +fi if test "$march_set" = "no" && test "$build_native" = "yes" ; then output_sym "CONFIG_BUILD_NATIVE" fi