# Initialize the autoconf system for the specified tool, version and mailing list AC_INIT(iperf, 3.0.1, https://github.com/esnet/iperf) # Specify where the auxiliary files created by configure should go. The config # directory is picked so that they don't clutter up more useful directories. AC_CONFIG_AUX_DIR(config) # Initialize the automake system AM_INIT_AUTOMAKE AM_CONFIG_HEADER(src/config.h) AC_CANONICAL_HOST # Checks for tools: c compiler, ranlib (used for creating static libraries), # symlinks and libtool AC_PROG_CC AC_PROG_RANLIB AC_PROG_LN_S AC_PROG_LIBTOOL # Sets a conditional makefile variable so that certain Makefile tasks will be # performed only on linux (currently, add -luuid to LD_FLAGS) AM_CONDITIONAL(LINUX, [case $host_os in linux*) true;; *) false;; esac]) # Checks for header files. AC_HEADER_STDC # Check for systems which need -lsocket and -lnsl #AX_LIB_SOCKET_NSL # Solaris puts nanosleep in -lrt AC_SEARCH_LIBS(nanosleep, [rt], [], [ echo "nanosleep() required for timing operations." exit 1 ]) # Solaris puts hstrerror in -lresolv AC_SEARCH_LIBS(hstrerror, [resolv], [], [ echo "nanosleep() required for timing operations." exit 1 ]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST # Check for SCTP support AC_CHECK_HEADERS([netinet/sctp.h], AC_DEFINE([HAVE_SCTP], [1], [Have SCTP support.])) # Check for TCP_CONGESTION sockopt (believed to be Linux only) AC_CACHE_CHECK([TCP_CONGESTION socket option], [iperf3_cv_header_tcp_congestion], AC_EGREP_CPP(yes, [#include #ifdef TCP_CONGESTION yes #endif ],iperf3_cv_header_tcp_congestion=yes,iperf3_cv_header_tcp_congestion=no)) if test "x$iperf3_cv_header_tcp_congestion" = "xyes"; then AC_DEFINE([HAVE_TCP_CONGESTION], [1], [Have TCP_CONGESTION sockopt.]) fi # Check for IPv6 flowlabel support (believed to be Linux only) # We check for IPV6_FLOWLABEL_MGR in even though we # don't use that file directly (we have our own stripped-down # copy, see src/flowlabel.h for more details). AC_CACHE_CHECK([IPv6 flowlabel support], [iperf3_cv_header_flowlabel], AC_EGREP_CPP(yes, [#include #include #ifdef IPV6_FLOWLABEL_MGR yes #endif ],iperf3_cv_header_flowlabel=yes,iperf3_cv_header_flowlabel=no)) if test "x$iperf3_cv_header_flowlabel" = "xyes"; then AC_DEFINE([HAVE_FLOWLABEL], [1], [Have IPv6 flowlabel support.]) fi AC_OUTPUT([Makefile src/Makefile examples/Makefile])