pmem="no"
disable_lex=""
disable_pmem="no"
+disable_native="no"
+march_set="no"
prefix=/usr/local
# parse options
;;
--disable-rbd) disable_rbd="yes"
;;
- --disable-rbd-blkin) disable_rbd_blkin="yes"
- ;;
--disable-gfapi) disable_gfapi="yes"
;;
--enable-libhdfs) libhdfs="yes"
;;
--enable-cuda) enable_cuda="yes"
;;
+ --disable-native) disable_native="yes"
+ ;;
--help)
show_help="yes"
;;
echo "--disable-shm Disable SHM support"
echo "--disable-optimizations Don't enable compiler optimizations"
echo "--enable-cuda Enable GPUDirect RDMA support"
+ echo "--disable-native Don't build for native host"
exit $exit_val
fi
if test -z "${CC}${cross_prefix}"; then
if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
cc="i686-w64-mingw32-gcc"
- if test -e "../zlib/contrib/vstudio/vc14/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib"; then
- echo "Building with zlib support"
- output_sym "CONFIG_ZLIB"
- echo "LIBS=../zlib/contrib/vstudio/vc14/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib" >> $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
if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
static_assert="yes"
ipv6="yes"
mkdir_two="no"
- echo "BUILD_CFLAGS=$CFLAGS -I../zlib -include config-host.h -D_GNU_SOURCE" >> $config_host_mak
+ echo "BUILD_CFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak
;;
esac
print_config "rbd_invalidate_cache" "$rbd_inval"
fi
-##########################################
-# check for blkin
-if test "$rbd_blkin" != "yes" ; then
- rbd_blkin="no"
-fi
-cat > $TMPC << EOF
-#include <rbd/librbd.h>
-#include <zipkin_c.h>
-
-int main(int argc, char **argv)
-{
- int r;
- struct blkin_trace_info t_info;
- blkin_init_trace_info(&t_info);
- rbd_completion_t completion;
- rbd_image_t image;
- uint64_t off;
- size_t len;
- const char *buf;
- r = rbd_aio_write_traced(image, off, len, buf, completion, &t_info);
- return 0;
-}
-EOF
-if test "$disable_rbd" != "yes" && test "$disable_rbd_blkin" != "yes" \
- && compile_prog "" "-lrbd -lrados -lblkin" "rbd_blkin"; then
- LIBS="-lblkin $LIBS"
- rbd_blkin="yes"
-fi
-print_config "rbd blkin tracing" "$rbd_blkin"
-
##########################################
# Check whether we have setvbuf
if test "$setvbuf" != "yes" ; then
if compile_prog "-march=armv8-a+crc+crypto" "" ""; then
march_armv8_a_crc_crypto="yes"
CFLAGS="$CFLAGS -march=armv8-a+crc+crypto -DARCH_HAVE_CRC_CRYPTO"
+ march_set="yes"
fi
fi
print_config "march_armv8_a_crc_crypto" "$march_armv8_a_crc_crypto"
fi
print_config "mkdir(a, b)" "$mkdir_two"
+##########################################
+# check for cc -march=native
+build_native="no"
+cat > $TMPC << EOF
+int main(int argc, char **argv)
+{
+ return 0;
+}
+EOF
+if test "$disable_native" = "no" && compile_prog "-march=native" "" "march=native"; then
+ build_native="yes"
+fi
+print_config "Build march=native" "$build_native"
+
#############################################################################
if test "$wordsize" = "64" ; then
if test "$rbd_inval" = "yes" ; then
output_sym "CONFIG_RBD_INVAL"
fi
-if test "$rbd_blkin" = "yes" ; then
- output_sym "CONFIG_RBD_BLKIN"
-fi
if test "$setvbuf" = "yes" ; then
output_sym "CONFIG_SETVBUF"
fi
if test "$s390_z196_facilities" = "yes" ; then
output_sym "CONFIG_S390_Z196_FACILITIES"
CFLAGS="$CFLAGS -march=z9-109"
+ march_set="yes"
fi
if test "$gfapi" = "yes" ; then
output_sym "CONFIG_GFAPI"
output_sym "CONFIG_DISABLE_OPTIMIZATIONS"
fi
if test "$zlib" = "no" ; then
- echo "Consider installing zlib-dev (zlib-devel), some fio features depend on it."
+ echo "Consider installing zlib-dev (zlib-devel, some fio features depend on it."
+ if test "$build_static" = "yes"; then
+ echo "Note that some distros have separate packages for static libraries."
+ fi
fi
if test "$cuda" = "yes" ; then
output_sym "CONFIG_CUDA"
if test "$mkdir_two" = "yes" ; then
output_sym "CONFIG_HAVE_MKDIR_TWO"
fi
+if test "$march_set" = "no" && test "$build_native" = "yes" ; then
+ output_sym "CONFIG_BUILD_NATIVE"
+fi
echo "LIBS+=$LIBS" >> $config_host_mak
echo "GFIO_LIBS+=$GFIO_LIBS" >> $config_host_mak