X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=configure;h=84ccce040ece052b6cf844b082114f2d38bc8f26;hb=864314464e2772a9885da34ea041f130073affe9;hp=d79f6521800a40dd812c344997ee76d7dcd5abcf;hpb=eb902db1f50e66d504040702913c8112d1016bf2;p=fio.git diff --git a/configure b/configure index d79f6521..84ccce04 100755 --- a/configure +++ b/configure @@ -142,7 +142,7 @@ check_min_lib_version() { fi : "${_feature:=${1}}" if "${cross_prefix}"pkg-config --version > /dev/null 2>&1; then - if eval "echo \$$_feature" = "yes" ; then + if test "$(eval echo \"\$$_feature\")" = "yes" ; then feature_not_found "$_feature" "$1 >= $2" fi else @@ -170,6 +170,7 @@ disable_native="no" march_set="no" libiscsi="no" libnbd="no" +libnfs="no" libzbc="" dfs="" dynamic_engines="no" @@ -241,6 +242,8 @@ for opt do ;; --disable-tcmalloc) disable_tcmalloc="yes" ;; + --disable-nfs) disable_nfs="yes" + ;; --dynamic-libengines) dynamic_engines="yes" ;; --disable-dfs) dfs="no" @@ -271,8 +274,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-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" @@ -418,6 +423,7 @@ CYGWIN*) clock_monotonic="yes" sched_idle="yes" pthread_condattr_setclock="no" + pthread_affinity="no" ;; esac @@ -803,6 +809,29 @@ elif compile_prog "" "$LIBS -lpthread" "pthread_sigmask" ; then fi print_config "pthread_sigmask()" "$pthread_sigmask" +########################################## +# pthread_getaffinity_np() probe +if test "$pthread_getaffinity" != "yes" ; then + pthread_getaffinity="no" +fi +cat > $TMPC < /* NULL */ +#include /* pthread_sigmask() */ +#include +int main(void) +{ + cpu_set_t set; + return pthread_getaffinity_np(pthread_self(), sizeof(set), &set); +} +EOF +if compile_prog "" "$LIBS" "pthread_getaffinity" ; then + pthread_getaffinity="yes" +elif compile_prog "" "$LIBS -lpthread" "pthread_getaffinity" ; then + pthread_getaffinity="yes" + LIBS="$LIBS -lpthread" +fi +print_config "pthread_getaffinity_np()" "$pthread_getaffinity" + ########################################## # solaris aio probe if test "$solaris_aio" != "yes" ; then @@ -924,6 +953,49 @@ if test "$disable_rdma" != "yes" && compile_prog "" "-lrdmacm" "rdma"; then fi print_config "rdmacm" "$rdmacm" +########################################## +# librpma probe +if test "$librpma" != "yes" ; then + librpma="no" +fi +cat > $TMPC << EOF +#include +#include +int main(int argc, char **argv) +{ + enum rpma_conn_event event = RPMA_CONN_REJECTED; + (void) event; /* unused */ + rpma_log_set_threshold(RPMA_LOG_THRESHOLD, RPMA_LOG_LEVEL_INFO); + return 0; +} +EOF +if test "$disable_rdma" != "yes" && compile_prog "" "-lrpma" "rpma"; then + librpma="yes" +fi +print_config "librpma" "$librpma" + +########################################## +# libprotobuf-c probe +if test "$libprotobuf_c" != "yes" ; then + libprotobuf_c="no" +fi +cat > $TMPC << EOF +#include +#include +#if !defined(PROTOBUF_C_VERSION_NUMBER) +# error PROTOBUF_C_VERSION_NUMBER is not defined! +#endif +int main(int argc, char **argv) +{ + (void)protobuf_c_message_check(NULL); + return 0; +} +EOF +if compile_prog "" "-lprotobuf-c" "protobuf_c"; then + libprotobuf_c="yes" +fi +print_config "libprotobuf_c" "$libprotobuf_c" + ########################################## # asprintf() and vasprintf() probes if test "$have_asprintf" != "yes" ; then @@ -2210,6 +2282,21 @@ EOF fi print_config "DAOS File System (dfs) Engine" "$dfs" +########################################## +# Check if we have libnfs (for userspace nfs support). +if test "$disable_nfs" != "yes"; 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" + fi + fi +fi +print_config "NFS engine" "$libnfs" + ########################################## # Check if we have lex/yacc available yacc="no" @@ -2780,6 +2867,9 @@ fi if test "$pthread_sigmask" = "yes" ; then output_sym "CONFIG_PTHREAD_SIGMASK" fi +if test "$pthread_getaffinity" = "yes" ; then + output_sym "CONFIG_PTHREAD_GETAFFINITY" +fi if test "$have_asprintf" = "yes" ; then output_sym "CONFIG_HAVE_ASPRINTF" fi @@ -2819,6 +2909,15 @@ fi if test "$libverbs" = "yes" -a "$rdmacm" = "yes" ; then output_sym "CONFIG_RDMA" 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 + 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 + output_sym "CONFIG_LIBRPMA_GPSPM" +fi if test "$clock_gettime" = "yes" ; then output_sym "CONFIG_CLOCK_GETTIME" fi @@ -3022,6 +3121,9 @@ 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 @@ -3061,6 +3163,12 @@ if test "$libnbd" = "yes" ; then echo "LIBNBD_CFLAGS=$libnbd_cflags" >> $config_host_mak echo "LIBNBD_LIBS=$libnbd_libs" >> $config_host_mak 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 "$dynamic_engines" = "yes" ; then output_sym "CONFIG_DYNAMIC_ENGINES" fi