X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=configure;h=38706a9263d289d7ae06592fdb26bd176d72f690;hb=9109883a1c20c2cbadd2d2cb8ca80d03835eaa66;hp=589ff3feb88b3b750c33ecd227ed86d75448d274;hpb=d26b0afcab7fc42b4229b6e7ead8c1f43d248e43;p=fio.git diff --git a/configure b/configure index 589ff3fe..38706a92 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 @@ -146,6 +146,7 @@ pmem="no" disable_lex="" disable_pmem="no" disable_native="no" +march_set="no" prefix=/usr/local # parse options @@ -251,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" @@ -279,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 @@ -597,7 +600,7 @@ int main(void) EOF if compile_prog "" "" "posixaio" ; then posix_aio="yes" -elif compile_prog "" "-lrt" "posixaio"; then +elif compile_prog "" "-lrt" "posixaio -lrt"; then posix_aio="yes" posix_aio_lrt="yes" LIBS="-lrt $LIBS" @@ -780,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 @@ -2047,24 +2084,48 @@ 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" fi if test "$cpu" = "arm64" ; then cat > $TMPC < #include #include +#include int main(void) { - return 0; + /* Can we also do a runtime probe? */ +#if __linux__ + return getauxval(AT_HWCAP); +#else +# error "Don't know how to do runtime probe for ARM CRC32c" +#endif } EOF - if compile_prog "-march=armv8-a+crc+crypto" "" ""; then + if compile_prog "-march=armv8-a+crc+crypto" "" "ARM CRC32c"; then march_armv8_a_crc_crypto="yes" - CFLAGS="$CFLAGS -march=armv8-a+crc+crypto -DARCH_HAVE_CRC_CRYPTO" + CFLAGS="$CFLAGS -march=armv8-a+crc+crypto" + march_set="yes" fi fi print_config "march_armv8_a_crc_crypto" "$march_armv8_a_crc_crypto" @@ -2112,7 +2173,8 @@ int main(int argc, char **argv) return 0; } EOF -if test "$disable_native" = "no" && compile_prog "-march=native" "" "march=native"; then +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" @@ -2146,6 +2208,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 @@ -2287,6 +2355,7 @@ 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" @@ -2348,19 +2417,25 @@ 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." if test "$build_static" = "yes"; then echo "Note that some distros have separate packages for static libraries." fi fi +if test "$march_armv8_a_crc_crypto" = "yes" ; then + output_sym "ARCH_HAVE_CRC_CRYPTO" +fi if test "$cuda" = "yes" ; then output_sym "CONFIG_CUDA" fi if test "$mkdir_two" = "yes" ; then output_sym "CONFIG_HAVE_MKDIR_TWO" fi -if test "$build_native" = "yes" ; then +if test "$march_set" = "no" && test "$build_native" = "yes" ; then output_sym "CONFIG_BUILD_NATIVE" fi