X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=cfd8c8ac0a98d2cdcddaeb6fbd7189464a35255b;hp=e45ae394256a8eca2ea3f77f25336fd4e4c42783;hb=478920ba7d75349ec04331baa45c585ad54f7114;hpb=c9e55aee652bdb0dd73dd5fa65d1de4281ead120 diff --git a/configure b/configure index e45ae394..cfd8c8ac 100755 --- a/configure +++ b/configure @@ -26,6 +26,9 @@ rm -rf config.log config_host_mak="config-host.mak" config_host_ld="config-host.ld" +# Default CFLAGS +CFLAGS="-D_GNU_SOURCE" + # Print a helpful header at the top of config.log echo "# FIO configure log $(date)" >> config.log printf "# Configured with:" >> config.log @@ -116,20 +119,6 @@ done if check_define __linux__ ; then targetos="Linux" -elif check_define _WIN32 ; then - echo "Forcing known good options on Windows" - 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 - echo "CC=$cc" >> $config_host_mak - exit 0 elif check_define __OpenBSD__ ; then targetos='OpenBSD' elif check_define __sun__ ; then @@ -158,6 +147,25 @@ SunOS) if test -z "$cpu" && test "$(isainfo -k)" = "amd64"; then cpu="x86_64" fi + ;; +CYGWIN*) + echo "Forcing known good options on Windows" + if test -z "$CC" ; then + CC="x86_64-w64-mingw32-gcc" + fi + echo "CC=$CC" > $config_host_mak + echo "CONFIG_LITTLE_ENDIAN=y" >> $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_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 + echo "CONFIG_RUSAGE_THREAD=y" >> $config_host_mak + exit 0 esac if test ! -z "$cpu" ; then @@ -238,8 +246,25 @@ fi cc="${CC-${cross_prefix}gcc}" +########################################## +# check endianness +bigendian="no" +cat > $TMPC < +int main(void) +{ + volatile uint32_t i=0x01234567; + return (*((uint8_t*)(&i))) == 0x67; +} +EOF +if compile_prog "" "" "endian"; then + $TMPE && bigendian="yes" +fi + + echo "Operating system $targetos" echo "CPU $cpu" +echo "Big endian $bigendian" echo "Compiler $cc" echo @@ -459,7 +484,6 @@ echo "POSIX fallocate $posix_fallocate" linux_2arg_affinity="no" linux_3arg_affinity="no" cat > $TMPC << EOF -#define _GNU_SOURCE #include int main(int argc, char **argv) { @@ -471,7 +495,6 @@ if compile_prog "" "" "sched_setaffinity(,,)"; then linux_3arg_affinity="yes" else cat > $TMPC << EOF -#define _GNU_SOURCE #include int main(int argc, char **argv) { @@ -580,7 +603,6 @@ sync_file_range="no" cat > $TMPC << EOF #include #include -#define _GNU_SOURCE #include #include int main(int argc, char **argv) @@ -621,7 +643,6 @@ echo "EXT4 move extent $ext4_me" # splice probe linux_splice="no" cat > $TMPC << EOF -#define _GNU_SOURCE #include #include int main(int argc, char **argv) @@ -768,6 +789,24 @@ if compile_prog "" "" "__thread"; then fi echo "__thread $tls_thread" +########################################## +# Check whether we have getrusage(RUSAGE_THREAD) +rusage_thread="no" +cat > $TMPC << EOF +#include +#include +int main(int argc, char **argv) +{ + struct rusage ru; + getrusage(RUSAGE_THREAD, &ru); + return 0; +} +EOF +if compile_prog "" "" "RUSAGE_THREAD"; then + rusage_thread="yes" +fi +echo "RUSAGE_THREAD $rusage_thread" + ############################################################################# echo "# Automatically generated by configure - do not modify" > $config_host_mak @@ -783,6 +822,11 @@ else echo "Unknown wordsize!" exit 1 fi +if test "$bigendian" = "yes" ; then + echo "CONFIG_BIG_ENDIAN=y" >> $config_host_mak +else + echo "CONFIG_LITTLE_ENDIAN=y" >> $config_host_mak +fi if test "$libaio" = "yes" ; then echo "CONFIG_LIBAIO=y" >> $config_host_mak fi @@ -863,6 +907,10 @@ fi if test "$tls_thread" = "yes" ; then echo "CONFIG_TLS_THREAD=y" >> $config_host_mak fi +if test "$rusage_thread" = "yes" ; then + echo "CONFIG_RUSAGE_THREAD=y" >> $config_host_mak +fi echo "LIBS+=$LIBS" >> $config_host_mak echo "CC=$cc" >> $config_host_mak +echo "CFLAGS=$CFLAGS" >> $config_host_mak