if check_define __linux__ ; then
targetos="Linux"
-elif check_define _WIN32 ; then
- targetos='MINGW32'
+elif test `uname -o` = Cygwin ; then
+ echo "Forcing known good options on Windows"
+ echo "CC=x86_64-w64-mingw32-gcc" >> $config_host_mak
+ echo "CONFIG_64BIT_LLP64=y" >> $config_host_mak
+ echo "CONFIG_CLOCK_GETTIME=y" >> $config_host_mak
+ echo "CONFIG_CLOCK_MONOTONIC=y" >> $config_host_mak
+ echo "CONFIG_GETTIMEOFDAY=y" >> $config_host_mak
+ echo "CONFIG_FADVISE=y" >> $config_host_mak
+ echo "CONFIG_STRSEP=y" >> $config_host_mak
+ echo "CONFIG_SOCKLEN_T=y" >> $config_host_mak
+ echo "CONFIG_POSIX_FALLOCATE=y" >> $config_host_mak
+ echo "CONFIG_FADVISE=y" >> $config_host_mak
+ echo "CONFIG_SFAA=y" >> $config_host_mak
+ exit 0
elif check_define __OpenBSD__ ; then
targetos='OpenBSD'
elif check_define __sun__ ; then
else
CC=gcc
fi
- elif test "$targetos" = "MINGW32"; then
- CC=x86_64-w64-mingw32-gcc
fi
fi
return ioctl(0, EXT4_IOC_MOVE_EXT, &me);
}
EOF
-if compile_prog "" "" "ext4 move extent"; then
+if compile_prog "" "" "ext4 move extent" ; then
+ ext4_me="yes"
+elif test $targetos = "Linux" ; then
+ # On Linux, just default to it on and let it error at runtime if we really
+ # don't have it. None of my updated systems have it defined, but it does
+ # work. Takes a while to bubble back.
ext4_me="yes"
fi
echo "EXT4 move extent $ext4_me"
# fusion-aw probe
fusion_aw="no"
cat > $TMPC << EOF
-#include <vsl_dp_experimental/vectored_write.h>
+#include <nvm/vectored_write.h>
int main(int argc, char **argv)
{
struct vsl_iovec iov;
return vsl_vectored_write(0, &iov, 0, O_ATOMIC);
}
EOF
-if compile_prog "" "" "fusion-aw"; then
+if compile_prog "" "-L/usr/lib/fio -lnvm-primitives" "fusion-aw"; then
+ LIBS="-L/usr/lib/fio -lnvm-primitives $LIBS"
fusion_aw="yes"
fi
echo "Fusion-io atomic engine $fusion_aw"