X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=configure;h=e3e37d569965d5c7c872cd8240e0b77bd85be8c8;hb=e1e6d335854d1a233f167cd443bc2dc71460ec57;hp=6d672fe5ebda76596c332d0e9afbb0399f462593;hpb=d05db492c6bc4263fba1088b33850bda35dc325b;p=fio.git diff --git a/configure b/configure index 6d672fe5..e3e37d56 100755 --- a/configure +++ b/configure @@ -162,13 +162,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 @@ -193,6 +193,8 @@ for opt do ;; --target-win-ver=*) target_win_ver="$optarg" ;; + --enable-pdb) pdb="yes" + ;; --build-static) build_static="yes" ;; --enable-gfio) gfio_check="yes" @@ -223,6 +225,8 @@ for opt do ;; --enable-cuda) cuda="yes" ;; + --enable-libcufile) libcufile="yes" + ;; --disable-native) disable_native="yes" ;; --with-ime=*) ime_path="$optarg" @@ -235,8 +239,6 @@ for opt do ;; --disable-tcmalloc) disable_tcmalloc="yes" ;; - --enable-libaio-uring) libaio_uring="yes" - ;; --dynamic-libengines) dynamic_engines="yes" ;; --help) @@ -255,7 +257,8 @@ 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" echo "--enable-gfio Enable building of gtk gfio" @@ -272,13 +275,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 @@ -392,9 +395,7 @@ CYGWIN*) # Default Windows API target target_win_ver="7" fi - if test "$target_win_ver" = "XP"; then - output_sym "CONFIG_WINDOWS_XP" - elif test "$target_win_ver" = "7"; then + if test "$target_win_ver" = "7"; then output_sym "CONFIG_WINDOWS_7" CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0601" else @@ -648,22 +649,13 @@ int main(void) return 0; } EOF - if test "$libaio_uring" = "yes"; then - if compile_prog "" "-luring" "libaio io_uring" ; then - libaio=yes - LIBS="-luring $LIBS" - else - feature_not_found "libaio io_uring" "" - fi - elif compile_prog "" "-laio" "libaio" ; then + if compile_prog "" "-laio" "libaio" ; then libaio=yes - libaio_uring=no else if test "$libaio" = "yes" ; then feature_not_found "linux AIO" "libaio-dev or libaio-devel" fi libaio=no - libaio_uring=no fi cat > $TMPC < $TMPC << EOF int main(int argc, char **argv) { - return asprintf(NULL, "%s", "str") == 0; + char *buf; + return asprintf(&buf, "%s", "str") == 0; } EOF if compile_prog "" "" "have_asprintf"; then @@ -956,7 +948,8 @@ cat > $TMPC << EOF int main(int argc, char **argv) { va_list ap; - return vasprintf(NULL, "%s", ap) == 0; + char *buf; + return vasprintf(&buf, "%s", ap) == 0; } EOF if compile_prog "" "" "have_vasprintf"; then @@ -1097,46 +1090,6 @@ EOF fi print_config "CLOCK_MONOTONIC" "$clock_monotonic" -########################################## -# CLOCK_MONOTONIC_RAW probe -if test "$clock_monotonic_raw" != "yes" ; then - clock_monotonic_raw="no" -fi -if test "$clock_gettime" = "yes" ; then - cat > $TMPC << EOF -#include -#include -int main(int argc, char **argv) -{ - return clock_gettime(CLOCK_MONOTONIC_RAW, NULL); -} -EOF - if compile_prog "" "$LIBS" "clock monotonic"; then - clock_monotonic_raw="yes" - fi -fi -print_config "CLOCK_MONOTONIC_RAW" "$clock_monotonic_raw" - -########################################## -# CLOCK_MONOTONIC_PRECISE probe -if test "$clock_monotonic_precise" != "yes" ; then - clock_monotonic_precise="no" -fi -if test "$clock_gettime" = "yes" ; then - cat > $TMPC << EOF -#include -#include -int main(int argc, char **argv) -{ - return clock_gettime(CLOCK_MONOTONIC_PRECISE, NULL); -} -EOF - if compile_prog "" "$LIBS" "clock monotonic precise"; then - clock_monotonic_precise="yes" - fi -fi -print_config "CLOCK_MONOTONIC_PRECISE" "$clock_monotonic_precise" - ########################################## # clockid_t probe if test "$clockid_t" != "yes" ; then @@ -1311,25 +1264,6 @@ if compile_prog "" "" "linux splice"; then fi print_config "Linux splice(2)" "$linux_splice" -########################################## -# GUASI probe -if test "$guasi" != "yes" ; then - guasi="no" -fi -cat > $TMPC << EOF -#include -#include -int main(int argc, char **argv) -{ - guasi_t ctx = guasi_create(0, 0, 0); - return 0; -} -EOF -if compile_prog "" "" "guasi"; then - guasi="yes" -fi -print_config "GUASI" "$guasi" - ########################################## # libnuma probe if test "$libnuma" != "yes" ; then @@ -2253,19 +2187,14 @@ lex="no" arith="no" if test "$disable_lex" = "no" || test -z "$disable_lex" ; then if test "$targetos" != "SunOS" ; then -LEX=$(which lex 2> /dev/null) -if test -x "$LEX" ; then +if has lex; then lex="yes" fi -YACC=$(which bison 2> /dev/null) -if test -x "$YACC" ; then +if has bison; then yacc="yes" yacc_is_bison="yes" -else - YACC=$(which yacc 2> /dev/null) - if test -x "$YACC" ; then - yacc="yes" - fi +elif has yacc; then + yacc="yes" fi if test "$yacc" = "yes" && test "$lex" = "yes" ; then arith="yes" @@ -2281,7 +2210,9 @@ int main(int argc, char **argv) return 0; } EOF -if compile_prog "" "-ll" "lex"; then +if compile_prog "" "-lfl" "flex"; then + LIBS="-lfl $LIBS" +elif compile_prog "" "-ll" "lex"; then LIBS="-ll $LIBS" else arith="no" @@ -2295,8 +2226,7 @@ if test "$arith" = "yes" ; then if test "$force_no_lex_o" = "yes" ; then lex_use_o="no" else -$LEX -o lex.yy.c exp/expression-parser.l 2> /dev/null -if test "$?" = "0" ; then +if lex -o lex.yy.c exp/expression-parser.l 2> /dev/null; then lex_use_o="yes" else lex_use_o="no" @@ -2565,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" @@ -2717,6 +2670,45 @@ if compile_prog "" "" "statx_syscall"; then fi print_config "statx(2)/syscall" "$statx_syscall" +########################################## +# check for Windows PDB generation support +if test "pdb" != "no" ; then + cat > $TMPC < $TMPC << EOF +#include +#include + +int main(int argc, char **argv) +{ + return timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK); +} +EOF +if compile_prog "" "" "timerfd_create"; then + timerfd_create="yes" +fi +print_config "timerfd_create" "$timerfd_create" + ############################################################################# if test "$wordsize" = "64" ; then @@ -2739,9 +2731,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" @@ -2847,9 +2836,6 @@ fi if test "$linux_splice" = "yes" ; then output_sym "CONFIG_LINUX_SPLICE" fi -if test "$guasi" = "yes" ; then - output_sym "CONFIG_GUASI" -fi if test "$libnuma_v2" = "yes" ; then output_sym "CONFIG_LIBNUMA" fi @@ -2953,9 +2939,9 @@ fi if test "$arith" = "yes" ; then output_sym "CONFIG_ARITHMETIC" if test "$yacc_is_bison" = "yes" ; then - echo "YACC=$YACC -y" >> $config_host_mak + echo "YACC=bison -y" >> $config_host_mak else - echo "YACC=$YACC" >> $config_host_mak + echo "YACC=yacc" >> $config_host_mak fi if test "$lex_use_o" = "yes" ; then echo "CONFIG_LEX_USE_O=y" >> $config_host_mak @@ -3003,6 +2989,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 @@ -3021,6 +3010,9 @@ fi if test "$statx_syscall" = "yes"; then output_sym "CONFIG_HAVE_STATX_SYSCALL" fi +if test "$timerfd_create" = "yes"; then + output_sym "CONFIG_HAVE_TIMERFD_CREATE" +fi if test "$fallthrough" = "yes"; then CFLAGS="$CFLAGS -Wimplicit-fallthrough" fi @@ -3042,6 +3034,10 @@ fi if test "$dynamic_engines" = "yes" ; then output_sym "CONFIG_DYNAMIC_ENGINES" fi +if test "$pdb" = yes; then + output_sym "CONFIG_PDB" +fi + print_config "Lib-based ioengines dynamic" "$dynamic_engines" cat > $TMPC << EOF int main(int argc, char **argv)