X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=8124467b255289cb4ea4ffe3373f90f9d0897ef8;hp=03bed3b1983ddb737f0f038f851b083f39ff6d14;hb=05cef7a0ec07241010b331cec7868926ba77ea6d;hpb=43b1215fe09eaac0fca0b2bc49011445ae9b3a53 diff --git a/configure b/configure index 03bed3b1..8124467b 100755 --- a/configure +++ b/configure @@ -138,6 +138,7 @@ libhdfs="no" pmemblk="no" devdax="no" disable_lex="" +disable_pmem="no" prefix=/usr/local # parse options @@ -173,10 +174,6 @@ for opt do ;; --enable-libhdfs) libhdfs="yes" ;; - --enable-pmemblk) pmemblk="yes" - ;; - --enable-devdax) devdax="yes" - ;; --disable-lex) disable_lex="yes" ;; --enable-lex) disable_lex="no" @@ -185,6 +182,8 @@ for opt do ;; --disable-optimizations) disable_opt="yes" ;; + --disable-pmem) disable_pmem="yes" + ;; --help) show_help="yes" ;; @@ -196,22 +195,21 @@ for opt do done if test "$show_help" = "yes" ; then - echo "--prefix= Use this directory as installation prefix" - echo "--cpu= Specify target CPU if auto-detect fails" - 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 "--build-static Build a static fio" - echo "--esx Configure build options for esx" - echo "--enable-gfio Enable building of gtk gfio" - echo "--disable-numa Disable libnuma even if found" - echo "--disable-gfapi Disable gfapi" - echo "--enable-libhdfs Enable hdfs support" - echo "--enable-pmemblk Enable NVML libpmemblk support" - echo "--enable-devdax Enable NVM Device Dax support" - echo "--disable-lex Disable use of lex/yacc for math" - echo "--enable-lex Enable use of lex/yacc for math" - echo "--disable-shm Disable SHM support" + echo "--prefix= Use this directory as installation prefix" + echo "--cpu= Specify target CPU if auto-detect fails" + 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 "--build-static Build a static fio" + echo "--esx Configure build options for esx" + echo "--enable-gfio Enable building of gtk gfio" + echo "--disable-numa Disable libnuma even if found" + echo "--disable-gfapi Disable gfapi" + echo "--enable-libhdfs Enable hdfs support" + echo "--disable-lex Disable use of lex/yacc for math" + echo "--disable-pmem Disable pmem based engines even if found" + echo "--enable-lex Enable use of lex/yacc for math" + echo "--disable-shm Disable SHM support" echo "--disable-optimizations Don't enable compiler optimizations" exit $exit_val fi @@ -270,6 +268,17 @@ 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... +cat > $TMPC <> $config_host_mak + fi else CC="x86_64-w64-mingw32-gcc" + if test -e "../zlib/contrib/vstudio/vc14/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib"; then + echo "Building with zlib support" + output_sym "CONFIG_ZLIB" + echo "LIBS=../zlib/contrib/vstudio/vc14/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib" >> $config_host_mak + fi fi fi output_sym "CONFIG_LITTLE_ENDIAN" @@ -293,9 +312,7 @@ CYGWIN*) else output_sym "CONFIG_64BIT_LLP64" fi - output_sym "CONFIG_FADVISE" output_sym "CONFIG_SOCKLEN_T" - output_sym "CONFIG_FADVISE" output_sym "CONFIG_SFAA" output_sym "CONFIG_RUSAGE_THREAD" output_sym "CONFIG_WINDOWSAIO" @@ -306,9 +323,11 @@ CYGWIN*) output_sym "CONFIG_SCHED_IDLE" output_sym "CONFIG_TCP_NODELAY" output_sym "CONFIG_TLS_THREAD" + output_sym "CONFIG_STATIC_ASSERT" output_sym "CONFIG_IPV6" echo "CC=$CC" >> $config_host_mak - echo "BUILD_CFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak + echo "BUILD_CFLAGS=$CFLAGS -I../zlib -include config-host.h -D_GNU_SOURCE" >> $config_host_mak + exit 0 ;; esac @@ -344,6 +363,8 @@ elif check_define __s390__ ; then fi elif check_define __arm__ ; then cpu="arm" +elif check_define __aarch64__ ; then + cpu="aarch64" elif check_define __hppa__ ; then cpu="hppa" else @@ -356,7 +377,7 @@ case "$cpu" in cpu="$cpu" ;; i386|i486|i586|i686|i86pc|BePC) - cpu="i386" + cpu="x86" ;; x86_64|amd64) cpu="x86_64" @@ -364,6 +385,9 @@ case "$cpu" in armv*b|armv*l|arm) cpu="arm" ;; + aarch64) + cpu="arm64" + ;; hppa|parisc|parisc64) cpu="hppa" ;; @@ -801,14 +825,12 @@ echo "CLOCK_MONOTONIC_PRECISE $clock_monotonic_precise" # clockid_t probe clockid_t="no" cat > $TMPC << EOF -#include -#include #include int main(int argc, char **argv) { - clockid_t cid; + volatile clockid_t cid; memset(&cid, 0, sizeof(cid)); - return clock_gettime(cid, NULL); + return 0; } EOF if compile_prog "" "$LIBS" "clockid_t"; then @@ -1566,13 +1588,60 @@ if compile_prog "" "" "mtd"; then fi echo "MTD $mtd" +########################################## +# Check whether we have libpmem +libpmem="no" +cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + int rc; + rc = pmem_is_pmem(0, 0); + return 0; +} +EOF +if compile_prog "" "-lpmem" "libpmem"; then + libpmem="yes" + LIBS="-lpmem $LIBS" +fi +echo "libpmem $libpmem" + +########################################## +# Check whether we have libpmemblk +# libpmem is a prerequisite +libpmemblk="no" +if test "$libpmem" = "yes"; then + cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + PMEMblkpool *pbp; + pbp = pmemblk_open("", 0); + return 0; +} +EOF + if compile_prog "" "-lpmemblk" "libpmemblk"; then + libpmemblk="yes" + LIBS="-lpmemblk $LIBS" + fi +fi +echo "libpmemblk $libpmemblk" + +# Choose the ioengines +if test "$libpmem" = "yes" && test "$disable_pmem" = "no"; then + devdax="yes" + if test "$libpmemblk" = "yes"; then + pmemblk="yes" + fi +fi + ########################################## # Report whether pmemblk engine is enabled -echo "NVML libpmemblk engine $pmemblk" +echo "NVML pmemblk engine $pmemblk" ########################################## # Report whether dev-dax engine is enabled -echo "NVM Device Dax engine $devdax" +echo "NVML dev-dax engine $devdax" # Check if we have lex/yacc available yacc="no" @@ -1741,6 +1810,24 @@ if compile_prog "" "" "bool"; then fi echo "bool $have_bool" +########################################## +# check march=armv8-a+crc+crypto +march_armv8_a_crc_crypto="no" +if test "$cpu" = "arm64" ; then + cat > $TMPC <