X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=09ea2761df9aba981ab286a77e71caf07cbfdd77;hp=84c6af28f4ffe9d3903affeb530d9cc5a80f58c1;hb=e25b6d5a0a16b978385bfb93a4c156b03363d136;hpb=142429e5ae9ac82c3e37af759f12d058f8259e23 diff --git a/configure b/configure index 84c6af28..09ea2761 100755 --- a/configure +++ b/configure @@ -38,8 +38,8 @@ fatal() { } # Default CFLAGS -CFLAGS="-D_GNU_SOURCE" -EXTFLAGS="-include config-host.h" +CFLAGS="-D_GNU_SOURCE -include config-host.h" +BUILD_CFLAGS="" # Print a helpful header at the top of config.log echo "# FIO configure log $(date)" >> config.log @@ -230,19 +230,9 @@ CYGWIN*) output_sym "CONFIG_SCHED_IDLE" output_sym "CONFIG_TCP_NODELAY" echo "CC=$CC" >> $config_host_mak - echo "EXTFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak + echo "BUILD_CFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak exit 0 ;; -Android) - output_sym "CONFIG_32BIT" - output_sym "CONFIG_LITTLE_ENDIAN" - output_sym "CONFIG_SOCKLEN_T" - output_sym "CONFIG_GETTIMEOFDAY" - output_sym "CONFIG_CLOCK_GETTIME" - output_sym "CONFIG_CLOCK_MONOTONIC" - echo "CC=$cc" >> $config_host_mak - echo "EXTFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak - exit 0 esac if test ! -z "$cpu" ; then @@ -322,10 +312,27 @@ fi cc="${CC-${cross_prefix}gcc}" +########################################## +# check cross compile + +cross_compile="no" +cat > $TMPC </dev/null || cross_compile="yes" +else + fatal "compile test failed" +fi + ########################################## # check endianness bigendian="no" -cat > $TMPC < $TMPC < int main(void) { @@ -333,8 +340,24 @@ int main(void) return (*((uint8_t*)(&i))) == 0x67; } EOF -if compile_prog "" "" "endian"; then - $TMPE && bigendian="yes" + if compile_prog "" "" "endian"; then + $TMPE && bigendian="yes" + fi +else + # If we're cross compiling, try our best to work it out and rely on the + # run-time check to fail if we get it wrong. + cat > $TMPC < +int main(void) +{ +#if __BYTE_ORDER != __BIG_ENDIAN +# error "Unknown endianness" +#endif +} +EOF + compile_prog "" "" "endian" && bigendian="yes" + check_define "__ARMEB__" && bigendian="yes" + check_define "__MIPSEB__" && bigendian="yes" fi @@ -342,6 +365,7 @@ echo "Operating system $targetos" echo "CPU $cpu" echo "Big endian $bigendian" echo "Compiler $cc" +echo "Cross compile $cross_compile" echo ########################################## @@ -785,6 +809,24 @@ if compile_prog "" "-lnuma" "libnuma"; then fi echo "libnuma $libnuma" +########################################## +# libnuma 2.x version API +if test "$libnuma" = "yes" ; then +libnuma_v2="no" +cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + struct bitmask *mask = numa_parse_nodestring(NULL); + return 0; +} +EOF +if compile_prog "" "" "libnuma api"; then + libnuma_v2="yes" +fi +echo "libnuma v2 $libnuma_v2" +fi + ########################################## # strsep() probe strsep="no" @@ -801,6 +843,22 @@ if compile_prog "" "" "strsep"; then fi echo "strsep $strsep" +########################################## +# strcasestr() probe +strcasestr="no" +cat > $TMPC << EOF +#include +int main(int argc, char **argv) +{ + strcasestr(NULL, NULL); + return 0; +} +EOF +if compile_prog "" "" "strcasestr"; then + strcasestr="yes" +fi +echo "strcasestr $strcasestr" + ########################################## # getopt_long_only() probe getopt_long_only="no" @@ -840,8 +898,7 @@ echo "inet_aton $inet_aton" # socklen_t probe socklen_t="no" cat > $TMPC << EOF -#include -#include +#include int main(int argc, char **argv) { socklen_t len = 0; @@ -976,7 +1033,7 @@ fi if test "$sfaa" = "yes" ; then output_sym "CONFIG_SFAA" fi -if test "$libverbs" = "yes" -o "rdmacm" = "yes" ; then +if test "$libverbs" = "yes" -a "rdmacm" = "yes" ; then output_sym "CONFIG_RDMA" fi if test "$clock_gettime" = "yes" ; then @@ -1002,6 +1059,9 @@ fi if test "$strsep" = "yes" ; then output_sym "CONFIG_STRSEP" fi +if test "$strcasestr" = "yes" ; then + output_sym "CONFIG_STRCASESTR" +fi if test "$getopt_long_only" = "yes" ; then output_sym "CONFIG_GETOPT_LONG_ONLY" fi @@ -1023,7 +1083,7 @@ fi if test "$fusion_aw" = "yes" ; then output_sym "CONFIG_FUSION_AW" fi -if test "$libnuma" = "yes" ; then +if test "$libnuma_v2" = "yes" ; then output_sym "CONFIG_LIBNUMA" fi if test "$solaris_aio" = "yes" ; then @@ -1038,13 +1098,13 @@ fi if test "$sched_idle" = "yes" ; then output_sym "CONFIG_SCHED_IDLE" fi -#if test "$tcp_nodelay" = "yes" ; then - #output_sym "CONFIG_TCP_NODELAY" -#fi +if test "$tcp_nodelay" = "yes" ; then + output_sym "CONFIG_TCP_NODELAY" +fi if test "$rlimit_memlock" = "yes" ; then output_sym "CONFIG_RLIMIT_MEMLOCK" fi echo "LIBS+=$LIBS" >> $config_host_mak echo "CC=$cc" >> $config_host_mak -echo "EXTFLAGS=$EXTFLAGS $CFLAGS" >> $config_host_mak +echo "BUILD_CFLAGS=$BUILD_CFLAGS $CFLAGS" >> $config_host_mak