X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=configure;h=a5c0f6ef84482d95fa0e7c2fbf45591a7921b134;hb=e59ad777d34cfee20b3b700482b936c16cceaa8e;hp=aefd5bb08c0539747378542233a3fc1141e66154;hpb=582e2fd9acae207400bed4226ceda4ee02464136;p=fio.git diff --git a/configure b/configure index aefd5bb0..a5c0f6ef 100755 --- a/configure +++ b/configure @@ -167,6 +167,8 @@ for opt do ;; --build-32bit-win) build_32bit_win="yes" ;; + --target-win-ver=*) target_win_ver="$optarg" + ;; --build-static) build_static="yes" ;; --enable-gfio) gfio_check="yes" @@ -213,6 +215,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 "--build-static Build a static fio" echo "--esx Configure build options for esx" echo "--enable-gfio Enable building of gtk gfio" @@ -252,6 +255,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" @@ -280,7 +285,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 @@ -327,20 +332,27 @@ CYGWIN*) cc="x86_64-w64-mingw32-gcc" fi fi - if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then - output_sym "CONFIG_32BIT" + + target_win_ver=$(echo "$target_win_ver" | tr '[:lower:]' '[:upper:]') + if test -z "$target_win_ver"; then + # 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 + output_sym "CONFIG_WINDOWS_7" + CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0601" else - output_sym "CONFIG_64BIT_LLP64" + fatal "Unknown target Windows version" fi + # We need this to be output_sym'd here because this is Windows specific. # The regular configure path never sets this config. output_sym "CONFIG_WINDOWSAIO" # We now take the regular configuration path without having exit 0 here. # Flags below are still necessary mostly for MinGW. socklen_t="yes" - sfaa="yes" - sync_sync="yes" - cmp_swap="yes" rusage_thread="yes" fdatasync="yes" clock_gettime="yes" # clock_monotonic probe has dependency on this @@ -348,11 +360,7 @@ CYGWIN*) gettimeofday="yes" sched_idle="yes" tcp_nodelay="yes" - tls_thread="yes" - static_assert="yes" ipv6="yes" - mkdir_two="no" - echo "BUILD_CFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak ;; esac @@ -496,6 +504,9 @@ fi print_config "Operating system" "$targetos" print_config "CPU" "$cpu" print_config "Big endian" "$bigendian" +if test ! -z "$target_win_ver"; then + print_config "Target Windows version" "$target_win_ver" +fi print_config "Compiler" "$cc" print_config "Cross compile" "$cross_compile" echo @@ -781,6 +792,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 @@ -2048,6 +2093,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" @@ -2149,6 +2212,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 @@ -2352,6 +2421,9 @@ 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