X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=03275787c4d074b808bec2cd47f85337d68aa970;hp=7b5571123b681bd0b1b13a3551584af178d85129;hb=deb728c66d3f745abca5afc4eebcf0d5049d50fd;hpb=ca205a752c3d6ebe7de74a3dfe81808e48a502e3 diff --git a/configure b/configure index 7b557112..03275787 100755 --- a/configure +++ b/configure @@ -161,11 +161,12 @@ for opt do ;; --build-static) build_static="yes" ;; - --enable-gfio) - gfio_check="yes" + --enable-gfio) gfio_check="yes" ;; --disable-numa) disable_numa="yes" ;; + --disable-rdma) disable_rdma="yes" + ;; --disable-rbd) disable_rbd="yes" ;; --disable-rbd-blkin) disable_rbd_blkin="yes" @@ -184,6 +185,8 @@ for opt do ;; --disable-pmem) disable_pmem="yes" ;; + --enable-cuda) enable_cuda="yes" + ;; --help) show_help="yes" ;; @@ -204,6 +207,7 @@ if test "$show_help" = "yes" ; then 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-rdma Disable RDMA support even if found" echo "--disable-gfapi Disable gfapi" echo "--enable-libhdfs Enable hdfs support" echo "--disable-lex Disable use of lex/yacc for math" @@ -211,6 +215,7 @@ if test "$show_help" = "yes" ; then echo "--enable-lex Enable use of lex/yacc for math" echo "--disable-shm Disable SHM support" echo "--disable-optimizations Don't enable compiler optimizations" + echo "--enable-cuda Enable GPUDirect RDMA support" exit $exit_val fi @@ -251,8 +256,9 @@ 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) +AIX|OpenBSD) # Unless explicitly enabled, turn off lex. + # OpenBSD will hit syntax error when enabled. if test -z "$disable_lex" ; then disable_lex="yes" else @@ -604,6 +610,36 @@ EOF fi echo "POSIX AIO fsync $posix_aio_fsync" +########################################## +# POSIX pshared attribute probe +if test "$posix_pshared" != "yes" ; then + posix_pshared="no" +fi +cat > $TMPC < +int main(void) +{ +#if defined(_POSIX_THREAD_PROCESS_SHARED) && ((_POSIX_THREAD_PROCESS_SHARED + 0) > 0) +# if defined(__CYGWIN__) +# error "_POSIX_THREAD_PROCESS_SHARED is buggy on Cygwin" +# elif defined(__APPLE__) +# include +# include +# if TARGET_OS_MAC && MAC_OS_X_VERSION_MIN_REQUIRED < 1070 +# error "_POSIX_THREAD_PROCESS_SHARED is buggy/unsupported prior to OSX 10.7" +# endif +# endif +#else +# error "_POSIX_THREAD_PROCESS_SHARED is unsupported" +#endif + return 0; +} +EOF +if compile_prog "" "$LIBS" "posix_pshared" ; then + posix_pshared=yes +fi +echo "POSIX pshared support $posix_pshared" + ########################################## # solaris aio probe if test "$solaris_aio" != "yes" ; then @@ -664,7 +700,7 @@ int main(int argc, char **argv) return 0; } EOF -if compile_prog "" "-libverbs" "libverbs" ; then +if test "$disable_rdma" != "yes" && compile_prog "" "-libverbs" "libverbs" ; then libverbs="yes" LIBS="-libverbs $LIBS" fi @@ -684,7 +720,7 @@ int main(int argc, char **argv) return 0; } EOF -if compile_prog "" "-lrdmacm" "rdma"; then +if test "$disable_rdma" != "yes" && compile_prog "" "-lrdmacm" "rdma"; then rdmacm="yes" LIBS="-lrdmacm $LIBS" fi @@ -870,10 +906,11 @@ if test "$clockid_t" != "yes" ; then fi cat > $TMPC << EOF #include +#include int main(int argc, char **argv) { volatile clockid_t cid; - memset(&cid, 0, sizeof(cid)); + memset((void*)&cid, 0, sizeof(cid)); return 0; } EOF @@ -1208,7 +1245,7 @@ int main(void) gdk_threads_enter(); gdk_threads_leave(); - printf("%d", GTK_CHECK_VERSION(2, 18, 0)); + return GTK_CHECK_VERSION(2, 18, 0) ? 0 : 1; /* 0 on success */ } EOF GTK_CFLAGS=$(pkg-config --cflags gtk+-2.0 gthread-2.0) @@ -1224,8 +1261,8 @@ if test "$?" != "0" ; then exit 1 fi if compile_prog "$GTK_CFLAGS" "$GTK_LIBS" "gfio" ; then - r=$($TMPE) - if test "$r" != "0" ; then + $TMPE + if test "$?" = "0" ; then gfio="yes" GFIO_LIBS="$LIBS $GTK_LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS" @@ -1244,6 +1281,7 @@ if test "$gfio_check" = "yes" ; then echo "gtk 2.18 or higher $gfio" fi +########################################## # Check whether we have getrusage(RUSAGE_THREAD) if test "$rusage_thread" != "yes" ; then rusage_thread="no" @@ -1438,7 +1476,6 @@ cat > $TMPC << EOF int main(int argc, char **argv) { - rados_t cluster; rados_ioctx_t io_ctx; const char pool[] = "rbd"; @@ -1556,6 +1593,7 @@ if compile_prog "" "" "setvbuf"; then fi echo "setvbuf $setvbuf" +########################################## # check for gfapi if test "$gfapi" != "yes" ; then gfapi="no" @@ -1565,7 +1603,6 @@ cat > $TMPC << EOF int main(int argc, char **argv) { - glfs_t *g = glfs_new("foo"); return 0; @@ -1759,6 +1796,7 @@ echo "NVML pmemblk engine $pmemblk" # Report whether dev-dax engine is enabled echo "NVML dev-dax engine $devdax" +########################################## # Check if we have lex/yacc available yacc="no" yacc_is_bison="no" @@ -1892,16 +1930,7 @@ fi cat > $TMPC << EOF #include #include -#undef offsetof -#ifdef __compiler_offsetof -#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER) -#else -#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) -#endif - -#define container_of(ptr, type, member) ({ \ - const typeof( ((type *)0)->member ) *__mptr = (ptr); \ - (type *)( (char *)__mptr - offsetof(type,member) );}) +#include struct foo { int a, b; @@ -1943,6 +1972,10 @@ if test "$march_armv8_a_crc_crypto" != "yes" ; then fi if test "$cpu" = "arm64" ; then cat > $TMPC < +#include +#include + int main(void) { return 0; @@ -1955,6 +1988,23 @@ EOF fi echo "march_armv8_a_crc_crypto $march_armv8_a_crc_crypto" +########################################## +# cuda probe +if test "$cuda" != "yes" ; then + cuda="no" +fi +cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + return cuInit(0); +} +EOF +if test "$enable_cuda" = "yes" && compile_prog "" "-lcuda" "cuda"; then + cuda="yes" + LIBS="-lcuda $LIBS" +fi +echo "cuda $cuda" ############################################################################# @@ -1982,6 +2032,9 @@ fi if test "$posix_aio_fsync" = "yes" ; then output_sym "CONFIG_POSIXAIO_FSYNC" fi +if test "$posix_pshared" = "yes" ; then + output_sym "CONFIG_PSHARED" +fi if test "$linux_fallocate" = "yes" ; then output_sym "CONFIG_LINUX_FALLOCATE" fi @@ -2069,7 +2122,7 @@ if test "$rusage_thread" = "yes" ; then output_sym "CONFIG_RUSAGE_THREAD" fi if test "$gfio" = "yes" ; then - echo "CONFIG_GFIO=y" >> $config_host_mak + output_sym "CONFIG_GFIO" fi if test "$esx" = "yes" ; then output_sym "CONFIG_ESX" @@ -2172,10 +2225,12 @@ fi if test "$disable_opt" = "yes" ; then output_sym "CONFIG_DISABLE_OPTIMIZATIONS" fi - if test "$zlib" = "no" ; then echo "Consider installing zlib-dev (zlib-devel), some fio features depend on it." fi +if test "$cuda" = "yes" ; then + output_sym "CONFIG_CUDA" +fi echo "LIBS+=$LIBS" >> $config_host_mak echo "GFIO_LIBS+=$GFIO_LIBS" >> $config_host_mak