X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=f6358630562229029bb409ee98fbe94df939f7d1;hp=101e667cbb53e073de0e74bd63a05eaeccc61c62;hb=1620bb93bba8db8e7c89cd331e516c8d5de42b14;hpb=b86770c69424d82449ce7e61a4e1b04ba1295f83 diff --git a/configure b/configure index 101e667c..f6358630 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #!/bin/sh # # Fio configure script. Heavily influenced by the manual qemu configure -# script. Sad this this is easier than autoconf and enemies. +# script. Sad this is easier than autoconf and enemies. # # set temporary file name @@ -145,6 +145,8 @@ devdax="no" pmem="no" disable_lex="" disable_pmem="no" +disable_native="no" +march_set="no" prefix=/usr/local # parse options @@ -177,8 +179,6 @@ for opt do ;; --disable-rbd) disable_rbd="yes" ;; - --disable-rbd-blkin) disable_rbd_blkin="yes" - ;; --disable-gfapi) disable_gfapi="yes" ;; --enable-libhdfs) libhdfs="yes" @@ -195,6 +195,8 @@ for opt do ;; --enable-cuda) enable_cuda="yes" ;; + --disable-native) disable_native="yes" + ;; --help) show_help="yes" ;; @@ -224,6 +226,7 @@ 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 "--disable-native Don't build for native host" exit $exit_val fi @@ -249,6 +252,8 @@ elif check_define __linux__ ; then targetos="Linux" elif check_define __OpenBSD__ ; then targetos='OpenBSD' +elif check_define __NetBSD__ ; then + targetos='NetBSD' elif check_define __sun__ ; then targetos='SunOS' CFLAGS="$CFLAGS -D_REENTRANT" @@ -277,7 +282,7 @@ fi # cross-compiling to one of these OSes then you'll need to specify # the correct CPU with the --cpu option. case $targetos in -AIX|OpenBSD) +AIX|OpenBSD|NetBSD) # Unless explicitly enabled, turn off lex. # OpenBSD will hit syntax error when enabled. if test -z "$disable_lex" ; then @@ -778,6 +783,40 @@ if test "$disable_rdma" != "yes" && compile_prog "" "-lrdmacm" "rdma"; then fi print_config "rdmacm" "$rdmacm" +########################################## +# asprintf() and vasprintf() probes +if test "$have_asprintf" != "yes" ; then + have_asprintf="no" +fi +cat > $TMPC << EOF +#include + +int main(int argc, char **argv) +{ + return asprintf(NULL, "%s", "str") == 0; +} +EOF +if compile_prog "" "" "have_asprintf"; then + have_asprintf="yes" +fi +print_config "asprintf()" "$have_asprintf" + +if test "$have_vasprintf" != "yes" ; then + have_vasprintf="no" +fi +cat > $TMPC << EOF +#include + +int main(int argc, char **argv) +{ + return vasprintf(NULL, "%s", NULL) == 0; +} +EOF +if compile_prog "" "" "have_vasprintf"; then + have_vasprintf="yes" +fi +print_config "vasprintf()" "$have_vasprintf" + ########################################## # Linux fallocate probe if test "$linux_fallocate" != "yes" ; then @@ -1628,36 +1667,6 @@ fi print_config "rbd_invalidate_cache" "$rbd_inval" fi -########################################## -# check for blkin -if test "$rbd_blkin" != "yes" ; then - rbd_blkin="no" -fi -cat > $TMPC << EOF -#include -#include - -int main(int argc, char **argv) -{ - int r; - struct blkin_trace_info t_info; - blkin_init_trace_info(&t_info); - rbd_completion_t completion; - rbd_image_t image; - uint64_t off; - size_t len; - const char *buf; - r = rbd_aio_write_traced(image, off, len, buf, completion, &t_info); - return 0; -} -EOF -if test "$disable_rbd" != "yes" && test "$disable_rbd_blkin" != "yes" \ - && compile_prog "" "-lrbd -lrados -lblkin" "rbd_blkin"; then - LIBS="-lblkin $LIBS" - rbd_blkin="yes" -fi -print_config "rbd blkin tracing" "$rbd_blkin" - ########################################## # Check whether we have setvbuf if test "$setvbuf" != "yes" ; then @@ -2075,6 +2084,24 @@ fi print_config "strndup" "$strndup" ########################################## +# probe +# Note: presence of implies that is +# also available but not the other way around. +if test "$valgrind_dev" != "yes" ; then + valgrind_dev="no" +fi +cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + return 0; +} +EOF +if compile_prog "" "" "valgrind_dev"; then + valgrind_dev="yes" +fi +print_config "Valgrind headers" "$valgrind_dev" + # check march=armv8-a+crc+crypto if test "$march_armv8_a_crc_crypto" != "yes" ; then march_armv8_a_crc_crypto="no" @@ -2093,6 +2120,7 @@ EOF if compile_prog "-march=armv8-a+crc+crypto" "" ""; then march_armv8_a_crc_crypto="yes" CFLAGS="$CFLAGS -march=armv8-a+crc+crypto -DARCH_HAVE_CRC_CRYPTO" + march_set="yes" fi fi print_config "march_armv8_a_crc_crypto" "$march_armv8_a_crc_crypto" @@ -2131,6 +2159,21 @@ if compile_prog "" "" "mkdir(a, b)"; then fi print_config "mkdir(a, b)" "$mkdir_two" +########################################## +# check for cc -march=native +build_native="no" +cat > $TMPC << EOF +int main(int argc, char **argv) +{ + return 0; +} +EOF +if test "$disable_native" = "no" && test "$disable_opt" != "yes" && \ + compile_prog "-march=native" "" "march=native"; then + build_native="yes" +fi +print_config "Build march=native" "$build_native" + ############################################################################# if test "$wordsize" = "64" ; then @@ -2160,6 +2203,12 @@ fi if test "$posix_pshared" = "yes" ; then output_sym "CONFIG_PSHARED" fi +if test "$have_asprintf" = "yes" ; then + output_sym "HAVE_ASPRINTF" +fi +if test "$have_vasprintf" = "yes" ; then + output_sym "HAVE_VASPRINTF" +fi if test "$linux_fallocate" = "yes" ; then output_sym "CONFIG_LINUX_FALLOCATE" fi @@ -2295,15 +2344,13 @@ fi if test "$rbd_inval" = "yes" ; then output_sym "CONFIG_RBD_INVAL" fi -if test "$rbd_blkin" = "yes" ; then - output_sym "CONFIG_RBD_BLKIN" -fi if test "$setvbuf" = "yes" ; then output_sym "CONFIG_SETVBUF" fi if test "$s390_z196_facilities" = "yes" ; then output_sym "CONFIG_S390_Z196_FACILITIES" CFLAGS="$CFLAGS -march=z9-109" + march_set="yes" fi if test "$gfapi" = "yes" ; then output_sym "CONFIG_GFAPI" @@ -2365,8 +2412,14 @@ fi if test "$disable_opt" = "yes" ; then output_sym "CONFIG_DISABLE_OPTIMIZATIONS" fi +if test "$valgrind_dev" = "yes"; then + output_sym "CONFIG_VALGRIND_DEV" +fi if test "$zlib" = "no" ; then - echo "Consider installing zlib-dev (zlib-devel), some fio features depend on it." + echo "Consider installing zlib-dev (zlib-devel, some fio features depend on it." + if test "$build_static" = "yes"; then + echo "Note that some distros have separate packages for static libraries." + fi fi if test "$cuda" = "yes" ; then output_sym "CONFIG_CUDA" @@ -2374,6 +2427,9 @@ fi if test "$mkdir_two" = "yes" ; then output_sym "CONFIG_HAVE_MKDIR_TWO" fi +if test "$march_set" = "no" && test "$build_native" = "yes" ; then + output_sym "CONFIG_BUILD_NATIVE" +fi echo "LIBS+=$LIBS" >> $config_host_mak echo "GFIO_LIBS+=$GFIO_LIBS" >> $config_host_mak