X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=d37e8b4bd505de82835702a21c39d0b0ea75349b;hp=4b006792c55c8f99c11e0ca462240c0a19520328;hb=25f488581e510c1b440f2e76842ec23f3dad7b57;hpb=fc5c03455598ecb3250506e741c74bade0dae6d8 diff --git a/configure b/configure index 4b006792..d37e8b4b 100755 --- a/configure +++ b/configure @@ -130,9 +130,6 @@ output_sym() { targetos="" cpu="" -cross_prefix=${cross_prefix-${CROSS_COMPILE}} -cc="${CC-${cross_prefix}gcc}" - # default options show_help="no" exit_val=0 @@ -175,6 +172,9 @@ if test "$show_help" = "yes" ; then exit $exit_val fi +cross_prefix=${cross_prefix-${CROSS_COMPILE}} +cc="${CC-${cross_prefix}gcc}" + if check_define __ANDROID__ ; then targetos="Android" elif check_define __linux__ ; then @@ -184,6 +184,8 @@ elif check_define __OpenBSD__ ; then elif check_define __sun__ ; then targetos='SunOS' CFLAGS="$CFLAGS -D_REENTRANT" +elif check_define _WIN32 ; then + targetos='CYGWIN' else targetos=`uname -s` fi @@ -1145,7 +1147,93 @@ if compile_prog "" "-lrbd -lrados" "rbd"; then fi echo "Rados Block Device engine $rbd" +########################################## +# Check whether we have setvbuf +setvbuf="no" +cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + FILE *f = NULL; + char buf[80]; + setvbuf(f, buf, _IOFBF, sizeof(buf)); + return 0; +} +EOF +if compile_prog "" "" "setvbuf"; then + setvbuf="yes" +fi +echo "setvbuf $setvbuf" + +# check for gfapi +gfapi="no" +cat > $TMPC << EOF +#include + +int main(int argc, char **argv) +{ + + glfs_t *g = glfs_new("foo"); + + return 0; +} +EOF +if compile_prog "" "-lgfapi -lglusterfs" "gfapi"; then + LIBS="-lgfapi -lglusterfs $LIBS" + gfapi="yes" +fi + echo "Gluster API engine $gfapi" +########################################## +# check for gfapi fadvise support +gf_fadvise="no" +cat > $TMPC << EOF +#include + +int main(int argc, char **argv) +{ + struct glfs_fd *fd; + int ret = glfs_fadvise(fd, 0, 0, 1); + + return 0; +} +EOF + +if compile_prog "" "-lgfapi -lglusterfs" "gfapi"; then + gf_fadvise="yes" +fi +echo "Gluster API use fadvise $gf_fadvise" + +########################################## +# Check if we support stckf on s390 +s390_z196_facilities="no" +cat > $TMPC << EOF +#define STFLE_BITS_Z196 45 /* various z196 facilities ... */ +int main(int argc, char **argv) +{ + /* We want just 1 double word to be returned. */ + register unsigned long reg0 asm("0") = 0; + unsigned long stfle_bits; + asm volatile(".machine push" "\n\t" + ".machine \"z9-109\"" "\n\t" + "stfle %0" "\n\t" + ".machine pop" "\n" + : "=QS" (stfle_bits), "+d" (reg0) + : : "cc"); + + if ((stfle_bits & (1UL << (63 - STFLE_BITS_Z196))) != 0) + return 0; + else + return -1; +} +EOF +if compile_prog "" "" "s390_z196_facilities"; then + $TMPE + if [[ $? -eq 0 ]]; then + s390_z196_facilities="yes" + fi +fi +echo "s390_z196_facilities $s390_z196_facilities" ############################################################################# if test "$wordsize" = "64" ; then @@ -1270,6 +1358,19 @@ fi if test "$rbd" = "yes" ; then output_sym "CONFIG_RBD" 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" +fi +if test "$gfapi" = "yes" ; then + output_sym "CONFIG_GFAPI" +fi +if test "$gf_fadvise" = "yes" ; then + output_sym "CONFIG_GF_FADVISE" +fi echo "LIBS+=$LIBS" >> $config_host_mak echo "CFLAGS+=$CFLAGS" >> $config_host_mak