X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=6991393bbf74bb7c8f36ca396845d58ef334107e;hp=0efde7d6a84acf6887e81ec89eae6f8110cbcb0c;hb=HEAD;hpb=52a0b9ed71c3e929461e64b39059281948107071 diff --git a/configure b/configure index 0efde7d6..3eef022b 100755 --- a/configure +++ b/configure @@ -116,6 +116,10 @@ has() { type "$1" >/dev/null 2>&1 } +num() { + echo "$1" | grep -E -q "^[0-9]+$" +} + check_define() { cat > $TMPC < $TMPC <> $config_host_mak echo "#define $1" >> $config_host_h @@ -137,11 +155,11 @@ output_sym() { check_min_lib_version() { _feature=$3 - if "${cross_prefix}"pkg-config --atleast-version="$2" "$1" > /dev/null 2>&1; then + if pkg-config --atleast-version="$2" "$1" > /dev/null 2>&1; then return 0 fi : "${_feature:=${1}}" - if "${cross_prefix}"pkg-config --version > /dev/null 2>&1; then + if pkg-config --version > /dev/null 2>&1; then if test "$(eval echo \"\$$_feature\")" = "yes" ; then feature_not_found "$_feature" "$1 >= $2" fi @@ -159,7 +177,6 @@ show_help="no" exit_val=0 gfio_check="no" libhdfs="no" -pmemblk="no" devdax="no" pmem="no" cuda="no" @@ -170,9 +187,13 @@ disable_native="no" march_set="no" libiscsi="no" libnbd="no" -libnfs="no" +libnfs="" +xnvme="" +isal="" +libblkio="" libzbc="" dfs="" +seed_buckets="" dynamic_engines="no" prefix=/usr/local @@ -240,14 +261,28 @@ for opt do ;; --disable-libzbc) libzbc="no" ;; + --disable-xnvme) xnvme="no" + ;; + --disable-isal) isal="no" + ;; + --disable-libblkio) libblkio="no" + ;; --disable-tcmalloc) disable_tcmalloc="yes" ;; - --disable-nfs) disable_nfs="yes" + --disable-libnfs) libnfs="no" + ;; + --enable-libnfs) libnfs="yes" ;; --dynamic-libengines) dynamic_engines="yes" ;; --disable-dfs) dfs="no" ;; + --enable-asan) asan="yes" + ;; + --seed-buckets=*) seed_buckets="$optarg" + ;; + --disable-tls) tls_check="no" + ;; --help) show_help="yes" ;; @@ -274,10 +309,10 @@ if test "$show_help" = "yes" ; then echo "--disable-rados Disable Rados support even if found" echo "--disable-rbd Disable Rados Block Device even if found" echo "--disable-http Disable HTTP support even if found" - echo "--disable-nfs Disable userspace NFS support even if found" echo "--disable-gfapi Disable gfapi" echo "--enable-libhdfs Enable hdfs support" echo "--enable-libnfs Enable nfs support" + echo "--disable-libnfs Disable nfs 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" @@ -289,15 +324,21 @@ if test "$show_help" = "yes" ; then 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-xnvme Disable xnvme support even if found" + echo "--disable-isal Disable isal support even if found" + echo "--disable-libblkio Disable libblkio support even if found" echo "--disable-libzbc Disable libzbc even if found" - echo "--disable-tcmalloc Disable tcmalloc support" - echo "--dynamic-libengines Lib-based ioengines as dynamic libraries" - echo "--disable-dfs Disable DAOS File System support even if found" + echo "--disable-tcmalloc Disable tcmalloc support" + echo "--dynamic-libengines Lib-based ioengines as dynamic libraries" + echo "--disable-dfs Disable DAOS File System support even if found" + echo "--enable-asan Enable address sanitizer" + echo "--seed-buckets= Number of seed buckets for the refill-buffer" + echo "--disable-tls Disable __thread local storage" exit $exit_val fi cross_prefix=${cross_prefix-${CROSS_COMPILE}} -# Preferred compiler (can be overriden later after we know the platform): +# Preferred compiler (can be overridden later after we know the platform): # ${CC} (if set) # ${cross_prefix}gcc (if cross-prefix specified) # gcc if available @@ -476,13 +517,23 @@ elif check_define __aarch64__ ; then cpu="aarch64" elif check_define __hppa__ ; then cpu="hppa" +elif check_define __loongarch64 ; then + cpu="loongarch64" +elif check_define __riscv ; then + if check_val __riscv_xlen 32 ; then + cpu="riscv32" + elif check_val __riscv_xlen 64 ; then + cpu="riscv64" + elif check_val __riscv_xlen 128 ; then + cpu="riscv128" + fi else cpu=`uname -m` fi # Normalise host CPU name and set ARCH. case "$cpu" in - ia64|ppc|ppc64|s390|s390x|sparc64) + ia64|ppc|ppc64|s390|s390x|sparc64|loongarch64|riscv64) cpu="$cpu" ;; i386|i486|i586|i686|i86pc|BePC) @@ -645,6 +696,25 @@ if compile_prog "" "-lz" "zlib" ; then fi print_config "zlib" "$zlib" +########################################## +# fcntl(F_FULLFSYNC) support +if test "$fcntl_sync" != "yes" ; then + fcntl_sync="no" +fi +cat > $TMPC << EOF +#include +#include + +int main(int argc, char **argv) +{ + return fcntl(0, F_FULLFSYNC); +} +EOF +if compile_prog "" "" "fcntl(F_FULLFSYNC)" ; then + fcntl_sync="yes" +fi +print_config "fcntl(F_FULLFSYNC)" "$fcntl_sync" + ########################################## # linux-aio probe if test "$libaio" != "yes" ; then @@ -798,7 +868,8 @@ cat > $TMPC < /* pthread_sigmask() */ int main(void) { - return pthread_sigmask(0, NULL, NULL); + sigset_t sigmask; + return pthread_sigmask(0, NULL, &sigmask); } EOF if compile_prog "" "$LIBS" "pthread_sigmask" ; then @@ -955,7 +1026,7 @@ print_config "rdmacm" "$rdmacm" ########################################## # librpma probe -# The librpma engine requires librpma>=v0.10.0 with rpma_mr_advise(). +# The librpma engines require librpma>=v0.11.0 with rpma_cq_get_wc(). if test "$librpma" != "yes" ; then librpma="no" fi @@ -963,7 +1034,7 @@ cat > $TMPC << EOF #include int main(void) { - void *ptr = rpma_mr_advise; + void *ptr = rpma_cq_get_wc; (void) ptr; /* unused */ return 0; } @@ -1102,7 +1173,8 @@ cat > $TMPC << EOF #include int main(int argc, char **argv) { - cpu_set_t mask; + cpu_set_t mask = { }; + return sched_setaffinity(0, sizeof(mask), &mask); } EOF @@ -1113,7 +1185,8 @@ else #include int main(int argc, char **argv) { - cpu_set_t mask; + cpu_set_t mask = { }; + return sched_setaffinity(0, &mask); } EOF @@ -1134,7 +1207,9 @@ cat > $TMPC << EOF #include int main(int argc, char **argv) { - return clock_gettime(0, NULL); + struct timespec ts; + + return clock_gettime(0, &ts); } EOF if compile_prog "" "" "clock_gettime"; then @@ -1156,7 +1231,9 @@ if test "$clock_gettime" = "yes" ; then #include int main(int argc, char **argv) { - return clock_gettime(CLOCK_MONOTONIC, NULL); + struct timespec ts; + + return clock_gettime(CLOCK_MONOTONIC, &ts); } EOF if compile_prog "" "$LIBS" "clock monotonic"; then @@ -1297,6 +1374,23 @@ if compile_prog "" "" "sync_file_range"; then fi print_config "sync_file_range" "$sync_file_range" +########################################## +# ASharedMemory_create() probe +if test "$ASharedMemory_create" != "yes" ; then + ASharedMemory_create="no" +fi +cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + return ASharedMemory_create("", 0); +} +EOF +if compile_prog "" "" "ASharedMemory_create"; then + ASharedMemory_create="yes" +fi +print_config "ASharedMemory_create" "$ASharedMemory_create" + ########################################## # ext4 move extent probe if test "$ext4_me" != "yes" ; then @@ -1504,7 +1598,8 @@ print_config "socklen_t" "$socklen_t" if test "$tls_thread" != "yes" ; then tls_thread="no" fi -cat > $TMPC << EOF +if test "$tls_check" != "no"; then + cat > $TMPC << EOF #include static __thread int ret; int main(int argc, char **argv) @@ -1515,6 +1610,7 @@ EOF if compile_prog "" "" "__thread"; then tls_thread="yes" fi +fi print_config "__thread" "$tls_thread" ########################################## @@ -1535,14 +1631,14 @@ int main(void) return GTK_CHECK_VERSION(2, 18, 0) ? 0 : 1; /* 0 on success */ } EOF -GTK_CFLAGS=$(${cross_prefix}pkg-config --cflags gtk+-2.0 gthread-2.0) +GTK_CFLAGS=$(pkg-config --cflags gtk+-2.0 gthread-2.0) ORG_LDFLAGS=$LDFLAGS LDFLAGS=$(echo $LDFLAGS | sed s/"-static"//g) if test "$?" != "0" ; then echo "configure: gtk and gthread not found" exit 1 fi -GTK_LIBS=$(${cross_prefix}pkg-config --libs gtk+-2.0 gthread-2.0) +GTK_LIBS=$(pkg-config --libs gtk+-2.0 gthread-2.0) if test "$?" != "0" ; then echo "configure: gtk and gthread not found" exit 1 @@ -1595,7 +1691,8 @@ cat > $TMPC << EOF #include int main(int argc, char **argv) { - struct sched_param p; + struct sched_param p = { }; + return sched_setscheduler(0, SCHED_IDLE, &p); } EOF @@ -1631,6 +1728,25 @@ elif compile_prog "" "-lws2_32" "TCP_NODELAY"; then fi print_config "TCP_NODELAY" "$tcp_nodelay" +########################################## +# Check whether we have vsock +if test "$vsock" != "yes" ; then + vsock="no" +fi +cat > $TMPC << EOF +#include +#include +#include +int main(int argc, char **argv) +{ + return socket(AF_VSOCK, SOCK_STREAM, 0); +} +EOF +if compile_prog "" "" "vsock"; then + vsock="yes" +fi +print_config "vsock" "$vsock" + ########################################## # Check whether we have SO_SNDBUF if test "$window_size" != "yes" ; then @@ -1717,7 +1833,9 @@ cat > $TMPC << EOF #include int main(int argc, char **argv) { - return pwritev(0, NULL, 1, 0) + preadv(0, NULL, 1, 0); + struct iovec iov[1] = { }; + + return pwritev(0, iov, 1, 0) + preadv(0, iov, 1, 0); } EOF if compile_prog "" "" "pwritev"; then @@ -1735,7 +1853,9 @@ cat > $TMPC << EOF #include int main(int argc, char **argv) { - return pwritev2(0, NULL, 1, 0, 0) + preadv2(0, NULL, 1, 0, 0); + struct iovec iov[1] = { }; + + return pwritev2(0, iov, 1, 0, 0) + preadv2(0, iov, 1, 0, 0); } EOF if compile_prog "" "" "pwritev2"; then @@ -1761,14 +1881,14 @@ cat > $TMPC << EOF #include int main(int argc, char **argv) { - struct addrinfo hints; - struct in6_addr addr; + struct addrinfo hints = { }; + struct in6_addr addr = in6addr_any; int ret; ret = getaddrinfo(NULL, NULL, &hints, NULL); freeaddrinfo(NULL); - printf("%s\n", gai_strerror(ret)); - addr = in6addr_any; + printf("%s %d\n", gai_strerror(ret), addr.s6_addr[0]); + return 0; } EOF @@ -2079,7 +2199,7 @@ if test "$libhdfs" = "yes" ; then hdfs_conf_error=1 fi if test "$FIO_LIBHDFS_INCLUDE" = "" ; then - echo "configure: FIO_LIBHDFS_INCLUDE should be defined to libhdfs inlude path" + echo "configure: FIO_LIBHDFS_INCLUDE should be defined to libhdfs include path" hdfs_conf_error=1 fi if test "$FIO_LIBHDFS_LIB" = "" ; then @@ -2129,9 +2249,7 @@ cat > $TMPC << EOF #include int main(int argc, char **argv) { - int rc; - rc = pmem_is_pmem(NULL, 0); - return 0; + return pmem_is_pmem(NULL, 0); } EOF if compile_prog "" "-lpmem" "libpmem"; then @@ -2150,7 +2268,7 @@ if test "$libpmem" = "yes"; then #include int main(int argc, char **argv) { - pmem_memcpy(NULL, NULL, NULL, NULL); + pmem_memcpy(NULL, NULL, 0, 0); return 0; } EOF @@ -2161,26 +2279,24 @@ fi print_config "libpmem1_5" "$libpmem1_5" ########################################## -# Check whether we have libpmemblk -# libpmem is a prerequisite -if test "$libpmemblk" != "yes" ; then - libpmemblk="no" +# Check whether we have libpmem2 +if test "$libpmem2" != "yes" ; then + libpmem2="no" fi -if test "$libpmem" = "yes"; then - cat > $TMPC << EOF -#include +cat > $TMPC << EOF +#include int main(int argc, char **argv) { - PMEMblkpool *pbp; - pbp = pmemblk_open("", 0); + struct pmem2_config *cfg; + pmem2_config_new(&cfg); + pmem2_config_delete(&cfg); return 0; } EOF - if compile_prog "" "-lpmemblk" "libpmemblk"; then - libpmemblk="yes" - fi +if compile_prog "" "-lpmem2" "libpmem2"; then + libpmem2="yes" fi -print_config "libpmemblk" "$libpmemblk" +print_config "libpmem2" "$libpmem2" # Choose libpmem-based ioengines if test "$libpmem" = "yes" && test "$disable_pmem" = "no"; then @@ -2188,15 +2304,8 @@ if test "$libpmem" = "yes" && test "$disable_pmem" = "no"; then if test "$libpmem1_5" = "yes"; then pmem="yes" fi - if test "$libpmemblk" = "yes"; then - pmemblk="yes" - fi fi -########################################## -# Report whether pmemblk engine is enabled -print_config "PMDK pmemblk engine" "$pmemblk" - ########################################## # Report whether dev-dax engine is enabled print_config "PMDK dev-dax engine" "$devdax" @@ -2283,15 +2392,16 @@ print_config "DAOS File System (dfs) Engine" "$dfs" ########################################## # Check if we have libnfs (for userspace nfs support). -if test "$disable_nfs" != "yes"; then +if test "$libnfs" != "no" ; then if $(pkg-config libnfs > /dev/null 2>&1); then libnfs="yes" libnfs_cflags=$(pkg-config --cflags libnfs) libnfs_libs=$(pkg-config --libs libnfs) else if test "$libnfs" = "yes" ; then - echo "libnfs" "Install libnfs" + feature_not_found "libnfs" "libnfs" fi + libnfs="no" fi fi print_config "NFS engine" "$libnfs" @@ -2366,7 +2476,7 @@ int main(int argc, char **argv) FILE *mtab = setmntent(NULL, "r"); struct mntent *mnt = getmntent(mtab); endmntent(mtab); - return 0; + return mnt != NULL; } EOF if compile_prog "" "" "getmntent"; then @@ -2499,7 +2609,7 @@ if compile_prog "" "" "valgrind_dev"; then fi print_config "Valgrind headers" "$valgrind_dev" -if test "$targetos" = "Linux" ; then +if test "$targetos" = "Linux" || test "$targetos" = "Android"; then ########################################## # probe if test "$linux_blkzoned" != "yes" ; then @@ -2547,6 +2657,10 @@ int main(int argc, char **argv) } EOF if test "$libzbc" != "no" ; then + if [ -e /usr/include/libzbc/libzbc ]; then + # SUSE Linux. + CFLAGS="$CFLAGS -I/usr/include/libzbc" + fi if compile_prog "" "-lzbc" "libzbc"; then libzbc="yes" if ! check_min_lib_version libzbc 5; then @@ -2561,22 +2675,94 @@ if test "$libzbc" != "no" ; then fi print_config "libzbc engine" "$libzbc" +if test "$targetos" = "Linux" || test "$targetos" = "Android"; then ########################################## -# check march=armv8-a+crc+crypto -if test "$march_armv8_a_crc_crypto" != "yes" ; then - march_armv8_a_crc_crypto="no" +# Check NVME_URING_CMD support +cat > $TMPC << EOF +#include +int main(void) +{ + return sizeof(struct nvme_uring_cmd); +} +EOF +if compile_prog "" "" "nvme uring cmd"; then + output_sym "CONFIG_NVME_URING_CMD" + nvme_uring_cmd="yes" +else + nvme_uring_cmd="no" +fi +print_config "NVMe uring command support" "$nvme_uring_cmd" +fi + +########################################## +# Check if we have xnvme +if test "$xnvme" != "no" ; then + if check_min_lib_version xnvme 0.7.4; then + xnvme="yes" + xnvme_cflags=$(pkg-config --cflags xnvme) + xnvme_libs=$(pkg-config --libs xnvme) + else + xnvme="no" + fi +fi +print_config "xnvme engine" "$xnvme" + +if test "$targetos" = "Linux" ; then +########################################## +# Check ISA-L support +cat > $TMPC << EOF +#include +#include +int main(void) +{ + return crc16_t10dif(0, NULL, 4096); +} +EOF +if test "$isal" != "no" ; then + if compile_prog "" "-lisal" "ISAL"; then + isal="yes" + LIBS="-lisal $LIBS" + else + isal="no" + fi +fi +print_config "isal" "$isal" +fi + +########################################## +# Check if we have libblkio +if test "$libblkio" != "no" ; then + if check_min_lib_version blkio 1.0.0; then + libblkio="yes" + libblkio_cflags=$(pkg-config --cflags blkio) + libblkio_libs=$(pkg-config --libs blkio) + else + if test "$libblkio" = "yes" ; then + feature_not_found "libblkio" "libblkio-dev or libblkio-devel" + fi + libblkio="no" + fi fi +print_config "libblkio engine" "$libblkio" + +########################################## +# check march=armv8-a+crc+crypto +march_armv8_a_crc_crypto="no" if test "$cpu" = "arm64" ; then cat > $TMPC < #include #include +#endif int main(void) { /* Can we also do a runtime probe? */ #if __linux__ return getauxval(AT_HWCAP); +#elif defined(__APPLE__) + return 0; #else # error "Don't know how to do runtime probe for ARM CRC32c" #endif @@ -2623,9 +2809,9 @@ int main(int argc, char* argv[]) { return 0; } EOF - if compile_prog "" "-lcuda -lcudart -lcufile" "libcufile"; then + if compile_prog "" "-lcuda -lcudart -lcufile -ldl" "libcufile"; then libcufile="yes" - LIBS="-lcuda -lcudart -lcufile $LIBS" + LIBS="-lcuda -lcudart -lcufile -ldl $LIBS" else if test "$libcufile" = "yes" ; then feature_not_found "libcufile" "" @@ -2704,6 +2890,22 @@ if compile_prog "-Wimplicit-fallthrough=2" "" "-Wimplicit-fallthrough=2"; then fi print_config "-Wimplicit-fallthrough=2" "$fallthrough" +########################################## +# check if the compiler has -Wno-stringop-concatenation +no_stringop="no" +cat > $TMPC << EOF +#include + +int main(int argc, char **argv) +{ + return printf("%s\n", argv[0]); +} +EOF +if compile_prog "-Wno-stringop-truncation -Werror" "" "no_stringop"; then + no_stringop="yes" +fi +print_config "-Wno-stringop-truncation" "$no_stringop" + ########################################## # check for MADV_HUGEPAGE support if test "$thp" != "yes" ; then @@ -2896,6 +3098,9 @@ fi if test "$sync_file_range" = "yes" ; then output_sym "CONFIG_SYNC_FILE_RANGE" fi +if test "$ASharedMemory_create" = "yes" ; then + output_sym "CONFIG_ASHAREDMEMORY_CREATE" +fi if test "$sfaa" = "yes" ; then output_sym "CONFIG_SFAA" fi @@ -2910,11 +3115,13 @@ if test "$libverbs" = "yes" -a "$rdmacm" = "yes" ; then fi # librpma is supported on the 'x86_64' architecture for now if test "$cpu" = "x86_64" -a "$libverbs" = "yes" -a "$rdmacm" = "yes" \ - -a "$librpma" = "yes" -a "$libpmem" = "yes" ; then + -a "$librpma" = "yes" \ + && test "$libpmem" = "yes" -o "$libpmem2" = "yes" ; then output_sym "CONFIG_LIBRPMA_APM" fi if test "$cpu" = "x86_64" -a "$libverbs" = "yes" -a "$rdmacm" = "yes" \ - -a "$librpma" = "yes" -a "$libpmem" = "yes" -a "$libprotobuf_c" = "yes" ; then + -a "$librpma" = "yes" -a "$libprotobuf_c" = "yes" \ + && test "$libpmem" = "yes" -o "$libpmem2" = "yes" ; then output_sym "CONFIG_LIBRPMA_GPSPM" fi if test "$clock_gettime" = "yes" ; then @@ -3004,6 +3211,9 @@ fi if test "$ipv6" = "yes" ; then output_sym "CONFIG_IPV6" fi +if test "$vsock" = "yes"; then + output_sym "CONFIG_VSOCK" +fi if test "$http" = "yes" ; then output_sym "CONFIG_HTTP" fi @@ -3049,15 +3259,15 @@ fi if test "$mtd" = "yes" ; then output_sym "CONFIG_MTD" fi -if test "$pmemblk" = "yes" ; then - output_sym "CONFIG_PMEMBLK" -fi if test "$devdax" = "yes" ; then output_sym "CONFIG_LINUX_DEVDAX" fi if test "$pmem" = "yes" ; then output_sym "CONFIG_LIBPMEM" fi +if test "$libpmem2" = "yes" ; then + output_sym "CONFIG_LIBPMEM2_INSTALLED" +fi if test "$libime" = "yes" ; then output_sym "CONFIG_IME" fi @@ -3103,7 +3313,7 @@ if test "$libzbc" = "yes" ; then output_sym "CONFIG_LIBZBC" fi if test "$zlib" = "no" ; then - echo "Consider installing zlib-dev (zlib-devel, some fio features depend on it." + echo "Consider installing zlib1g-dev (zlib-devel) as some fio features depend on it." if test "$build_static" = "yes"; then echo "Note that some distros have separate packages for static libraries." fi @@ -3120,9 +3330,6 @@ fi if test "$dfs" = "yes" ; then output_sym "CONFIG_DFS" fi -if test "$libnfs" = "yes" ; then - output_sym "CONFIG_NFS" -fi if test "$march_set" = "no" && test "$build_native" = "yes" ; then output_sym "CONFIG_BUILD_NATIVE" fi @@ -3147,6 +3354,9 @@ fi if test "$fallthrough" = "yes"; then CFLAGS="$CFLAGS -Wimplicit-fallthrough" fi +if test "$no_stringop" = "yes"; then + output_sym "CONFIG_HAVE_NO_STRINGOP" +fi if test "$thp" = "yes" ; then output_sym "CONFIG_HAVE_THP" fi @@ -3164,17 +3374,35 @@ if test "$libnbd" = "yes" ; then fi if test "$libnfs" = "yes" ; then output_sym "CONFIG_LIBNFS" - echo "CONFIG_LIBNFS=m" >> $config_host_mak echo "LIBNFS_CFLAGS=$libnfs_cflags" >> $config_host_mak echo "LIBNFS_LIBS=$libnfs_libs" >> $config_host_mak fi +if test "$xnvme" = "yes" ; then + output_sym "CONFIG_LIBXNVME" + echo "LIBXNVME_CFLAGS=$xnvme_cflags" >> $config_host_mak + echo "LIBXNVME_LIBS=$xnvme_libs" >> $config_host_mak +fi +if test "$isal" = "yes" ; then + output_sym "CONFIG_LIBISAL" +fi +if test "$libblkio" = "yes" ; then + output_sym "CONFIG_LIBBLKIO" + echo "LIBBLKIO_CFLAGS=$libblkio_cflags" >> $config_host_mak + echo "LIBBLKIO_LIBS=$libblkio_libs" >> $config_host_mak +fi if test "$dynamic_engines" = "yes" ; then output_sym "CONFIG_DYNAMIC_ENGINES" fi if test "$pdb" = yes; then output_sym "CONFIG_PDB" fi - +if test "$fcntl_sync" = "yes" ; then + output_sym "CONFIG_FCNTL_SYNC" +fi +if test "$asan" = "yes"; then + CFLAGS="$CFLAGS -fsanitize=address" + LDFLAGS="$LDFLAGS -fsanitize=address" +fi print_config "Lib-based ioengines dynamic" "$dynamic_engines" cat > $TMPC << EOF int main(int argc, char **argv) @@ -3194,6 +3422,15 @@ if test "$disable_tcmalloc" != "yes"; then fi fi print_config "TCMalloc support" "$tcmalloc" +if ! num "$seed_buckets"; then + seed_buckets=4 +elif test "$seed_buckets" -lt 2; then + seed_buckets=2 +elif test "$seed_buckets" -gt 16; then + seed_buckets=16 +fi +echo "#define CONFIG_SEED_BUCKETS $seed_buckets" >> $config_host_h +print_config "seed_buckets" "$seed_buckets" echo "LIBS+=$LIBS" >> $config_host_mak echo "GFIO_LIBS+=$GFIO_LIBS" >> $config_host_mak