X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=b11b2dce14d2d250c8c44ec39a8211e0aef61e5f;hp=c4fffd998c93ea23a5d957c58f1f959a442d88f6;hb=d643a1e29d31bf974a613866819dde241c928b6d;hpb=b7119c596912fae8f101e0c1cdf36119f29fe182 diff --git a/configure b/configure index c4fffd99..b11b2dce 100755 --- a/configure +++ b/configure @@ -148,6 +148,8 @@ disable_lex="" disable_pmem="no" disable_native="no" march_set="no" +libiscsi="no" +libnbd="no" prefix=/usr/local # parse options @@ -204,6 +206,12 @@ for opt do ;; --with-ime=*) ime_path="$optarg" ;; + --enable-libiscsi) libiscsi="yes" + ;; + --enable-libnbd) libnbd="yes" + ;; + --disable-tcmalloc) disable_tcmalloc="yes" + ;; --help) show_help="yes" ;; @@ -239,6 +247,9 @@ if test "$show_help" = "yes" ; then echo "--enable-cuda Enable GPUDirect RDMA support" echo "--disable-native Don't build for native host" 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-tcmalloc Disable tcmalloc support" exit $exit_val fi @@ -303,6 +314,10 @@ AIX|OpenBSD|NetBSD) force_no_lex_o="yes" fi ;; +FreeBSD) + CFLAGS="$CFLAGS -I/usr/local/include" + LDFLAGS="$LDFLAGS -L/usr/local/lib" + ;; Darwin) # on Leopard most of the system is 32-bit, so we have to ask the kernel if # we can run 64-bit userspace code. @@ -1336,31 +1351,30 @@ int main(void) return GTK_CHECK_VERSION(2, 18, 0) ? 0 : 1; /* 0 on success */ } EOF -GTK_CFLAGS=$(pkg-config --cflags gtk+-2.0 gthread-2.0) +GTK_CFLAGS=$(${cross_prefix}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=$(pkg-config --libs gtk+-2.0 gthread-2.0) +GTK_LIBS=$(${cross_prefix}pkg-config --libs gtk+-2.0 gthread-2.0) if test "$?" != "0" ; then echo "configure: gtk and gthread not found" exit 1 fi -if compile_prog "$GTK_CFLAGS" "$GTK_LIBS" "gfio" ; then - $TMPE - if test "$?" = "0" ; then +if ! ${cross_prefix}pkg-config --atleast-version 2.18.0 gtk+-2.0; then + echo "GTK found, but need version 2.18 or higher" + gfio="no" +else + if compile_prog "$GTK_CFLAGS" "$GTK_LIBS" "gfio" ; then gfio="yes" GFIO_LIBS="$LIBS $GTK_LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS" else - echo "GTK found, but need version 2.18 or higher" + echo "Please install gtk and gdk libraries" gfio="no" fi -else - echo "Please install gtk and gdk libraries" - gfio="no" fi LDFLAGS=$ORG_LDFLAGS fi @@ -1781,6 +1795,24 @@ fi print_config "Gluster API use fadvise" "$gf_fadvise" fi +########################################## +# check for newer gfapi +if test "$gfapi" = "yes" ; then +gf_new="no" +cat > $TMPC << EOF +#include + +int main(int argc, char **argv) +{ + return glfs_fsync(NULL, NULL, NULL) && glfs_ftruncate(NULL, 0, NULL, NULL); +} +EOF +if compile_prog "" "-lgfapi -lglusterfs" "gf new api"; then + gf_new="yes" +fi +print_config "Gluster new API" "$gf_new" +fi + ########################################## # check for gfapi trim support if test "$gf_trim" != "yes" ; then @@ -1970,6 +2002,39 @@ if compile_prog "-I${ime_path}/include" "-L${ime_path}/lib -lim_client" "libime" fi print_config "DDN's Infinite Memory Engine" "$libime" +########################################## +# Check if we have required environment variables configured for libiscsi +if test "$libiscsi" = "yes" ; then + if $(pkg-config --atleast-version=1.9.0 libiscsi); then + libiscsi="yes" + libiscsi_cflags=$(pkg-config --cflags libiscsi) + libiscsi_libs=$(pkg-config --libs libiscsi) + else + if test "$libiscsi" = "yes" ; then + echo "libiscsi" "Install libiscsi >= 1.9.0" + fi + libiscsi="no" + fi +fi +print_config "iscsi engine" "$libiscsi" + +########################################## +# Check if we have libnbd (for NBD support). +minimum_libnbd=0.9.6 +if test "$libnbd" = "yes" ; then + if $(pkg-config --atleast-version=$minimum_libnbd libnbd); then + libnbd="yes" + libnbd_cflags=$(pkg-config --cflags libnbd) + libnbd_libs=$(pkg-config --libs libnbd) + else + if test "$libnbd" = "yes" ; then + echo "libnbd" "Install libnbd >= $minimum_libnbd" + fi + libnbd="no" + fi +fi +print_config "NBD engine" "$libnbd" + ########################################## # Check if we have lex/yacc available yacc="no" @@ -2312,6 +2377,59 @@ if compile_prog "" "" "__kernel_rwf_t"; then fi print_config "__kernel_rwf_t" "$__kernel_rwf_t" +########################################## +# check if gcc has -Wimplicit-fallthrough +fallthrough="no" +cat > $TMPC << EOF +int main(int argc, char **argv) +{ + return 0; +} +EOF +if compile_prog "-Wimplicit-fallthrough" "" "-Wimplicit-fallthrough"; then + fallthrough="yes" +fi +print_config "-Wimplicit-fallthrough" "$fallthrough" + +########################################## +# check for MADV_HUGEPAGE support +if test "$thp" != "yes" ; then + thp="no" +fi +if test "$esx" != "yes" ; then + cat > $TMPC < +int main(void) +{ + return madvise(0, 0x1000, MADV_HUGEPAGE); +} +EOF + if compile_prog "" "" "thp" ; then + thp=yes + else + if test "$thp" = "yes" ; then + feature_not_found "Transparent Huge Page" "" + fi + thp=no + fi +fi +print_config "MADV_HUGEPAGE" "$thp" + +########################################## +# check for gettid() +gettid="no" +cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + return gettid(); +} +EOF +if compile_prog "" "" "gettid"; then + gettid="yes" +fi +print_config "gettid" "$gettid" + ############################################################################# if test "$wordsize" = "64" ; then @@ -2499,13 +2617,16 @@ fi if test "$gf_trim" = "yes" ; then output_sym "CONFIG_GF_TRIM" fi +if test "$gf_new" = "yes" ; then + output_sym "CONFIG_GF_NEW_API" +fi if test "$libhdfs" = "yes" ; then output_sym "CONFIG_LIBHDFS" echo "FIO_HDFS_CPU=$FIO_HDFS_CPU" >> $config_host_mak echo "JAVA_HOME=$JAVA_HOME" >> $config_host_mak echo "FIO_LIBHDFS_INCLUDE=$FIO_LIBHDFS_INCLUDE" >> $config_host_mak echo "FIO_LIBHDFS_LIB=$FIO_LIBHDFS_LIB" >> $config_host_mak - fi +fi if test "$mtd" = "yes" ; then output_sym "CONFIG_MTD" fi @@ -2583,6 +2704,40 @@ fi if test "$__kernel_rwf_t" = "yes"; then output_sym "CONFIG_HAVE_KERNEL_RWF_T" fi +if test "$gettid" = "yes"; then + output_sym "CONFIG_HAVE_GETTID" +fi +if test "$fallthrough" = "yes"; then + CFLAGS="$CFLAGS -Wimplicit-fallthrough" +fi +if test "$thp" = "yes" ; then + output_sym "CONFIG_HAVE_THP" +fi +if test "$libiscsi" = "yes" ; then + output_sym "CONFIG_LIBISCSI" + echo "CONFIG_LIBISCSI=m" >> $config_host_mak + echo "LIBISCSI_CFLAGS=$libiscsi_cflags" >> $config_host_mak + echo "LIBISCSI_LIBS=$libiscsi_libs" >> $config_host_mak +fi +if test "$libnbd" = "yes" ; then + output_sym "CONFIG_LIBNBD" + echo "CONFIG_LIBNBD=m" >> $config_host_mak + echo "LIBNBD_CFLAGS=$libnbd_cflags" >> $config_host_mak + echo "LIBNBD_LIBS=$libnbd_libs" >> $config_host_mak +fi +cat > $TMPC << EOF +int main(int argc, char **argv) +{ + return 0; +} +EOF +if test "$disable_tcmalloc" != "yes" && compile_prog "" "-ltcmalloc" "tcmalloc"; then + LIBS="-ltcmalloc $LIBS" + tcmalloc="yes" +else + tcmalloc="no" +fi +print_config "TCMalloc support" "$tcmalloc" echo "LIBS+=$LIBS" >> $config_host_mak echo "GFIO_LIBS+=$GFIO_LIBS" >> $config_host_mak