version 1.1.1.1, 2016/10/18 13:28:17
|
version 1.1.1.2, 2021/03/17 00:36:45
|
Line 1
|
Line 1
|
# iperf, Copyright (c) 2014, 2015, 2016, The Regents of the University of | # iperf, Copyright (c) 2014-2020, The Regents of the University of |
# California, through Lawrence Berkeley National Laboratory (subject |
# California, through Lawrence Berkeley National Laboratory (subject |
# to receipt of any required approvals from the U.S. Dept. of |
# to receipt of any required approvals from the U.S. Dept. of |
# Energy). All rights reserved. |
# Energy). All rights reserved. |
Line 24
|
Line 24
|
# file for complete information. |
# file for complete information. |
|
|
# Initialize the autoconf system for the specified tool, version and mailing list |
# Initialize the autoconf system for the specified tool, version and mailing list |
AC_INIT(iperf, 3.1.3, https://github.com/esnet/iperf, iperf, http://software.es.net/iperf/) | AC_INIT(iperf, 3.9, https://github.com/esnet/iperf, iperf, https://software.es.net/iperf/) |
| m4_include([config/ax_check_openssl.m4]) |
| m4_include([config/iperf_config_static_bin.m4]) |
AC_LANG(C) |
AC_LANG(C) |
|
|
# Specify where the auxiliary files created by configure should go. The config |
# Specify where the auxiliary files created by configure should go. The config |
Line 33 AC_CONFIG_AUX_DIR(config)
|
Line 35 AC_CONFIG_AUX_DIR(config)
|
|
|
|
|
# Initialize the automake system |
# Initialize the automake system |
AM_INIT_AUTOMAKE | AM_INIT_AUTOMAKE([foreign]) |
| m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
| LT_INIT |
| |
AM_MAINTAINER_MODE |
AM_MAINTAINER_MODE |
AM_CONFIG_HEADER(src/iperf_config.h) |
AM_CONFIG_HEADER(src/iperf_config.h) |
|
|
Line 51 if test "x$GCC" = "xyes"; then
|
Line 56 if test "x$GCC" = "xyes"; then
|
CFLAGS="$CFLAGS -Wall" |
CFLAGS="$CFLAGS -Wall" |
fi |
fi |
|
|
|
# Check if enable profiling |
|
AC_ARG_ENABLE([profiling], |
|
AS_HELP_STRING([--enable-profiling], [Enable iperf3 profiling binary])) |
|
AM_CONDITIONAL([ENABLE_PROFILING], [test x$enable_profiling = xyes]) |
|
|
# Checks for header files. |
# Checks for header files. |
AC_HEADER_STDC |
AC_HEADER_STDC |
|
|
Line 63 echo "floor()"
|
Line 73 echo "floor()"
|
exit 1 |
exit 1 |
]) |
]) |
|
|
# 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 |
|
]) |
|
|
|
# On illumos we need -lsocket |
# On illumos we need -lsocket |
AC_SEARCH_LIBS(socket, [socket], [], [ |
AC_SEARCH_LIBS(socket, [socket], [], [ |
echo "socket()" |
echo "socket()" |
Line 90 exit 1
|
Line 88 exit 1
|
# Checks for typedefs, structures, and compiler characteristics. |
# Checks for typedefs, structures, and compiler characteristics. |
AC_C_CONST |
AC_C_CONST |
|
|
|
# Check for poll.h (it's in POSIX so everyone should have it?) |
|
AC_CHECK_HEADERS([poll.h]) |
|
|
|
# SCTP. Allow user to disable SCTP support with --without-sctp. |
|
# Otherwise we try to find whatever support is required. |
|
try_sctp=true |
|
AC_ARG_WITH([sctp], |
|
[AS_HELP_STRING([--without-sctp], |
|
[disable SCTP])], |
|
[ |
|
case "$withval" in |
|
y | ye | yes) |
|
;; |
|
n | no) |
|
try_sctp=false |
|
;; |
|
*) |
|
AC_MSG_ERROR([Invalid --with-sctp value]) |
|
;; |
|
esac |
|
], [ |
|
try_sctp=true |
|
] |
|
) |
|
|
# Check for SCTP support |
# Check for SCTP support |
|
if $try_sctp; then |
AC_CHECK_HEADERS([sys/socket.h]) |
AC_CHECK_HEADERS([sys/socket.h]) |
AC_CHECK_HEADERS([netinet/sctp.h], |
AC_CHECK_HEADERS([netinet/sctp.h], |
AC_DEFINE([HAVE_SCTP], [1], [Have SCTP support.]) | AC_DEFINE([HAVE_SCTP_H], [1], [Have SCTP support.]) |
AC_SEARCH_LIBS(sctp_bindx, [sctp]) |
AC_SEARCH_LIBS(sctp_bindx, [sctp]) |
AC_CHECK_TYPES([struct sctp_assoc_value], [], [], |
AC_CHECK_TYPES([struct sctp_assoc_value], [], [], |
[[#include <netinet/sctp.h>]]), |
[[#include <netinet/sctp.h>]]), |
Line 102 AC_CHECK_HEADERS([netinet/sctp.h],
|
Line 126 AC_CHECK_HEADERS([netinet/sctp.h],
|
#include <sys/socket.h> |
#include <sys/socket.h> |
#endif |
#endif |
]) |
]) |
|
fi |
|
|
|
AC_CHECK_HEADER([endian.h], |
|
AC_DEFINE([HAVE_ENDIAN_H], [1], [Define to 1 if you have the <endian.h> header file.]), |
|
AC_CHECK_HEADER([sys/endian.h], |
|
AC_DEFINE([HAVE_SYS_ENDIAN_H], [1], [Define to 1 if you have the <sys/endian.h> header file.]), |
|
AC_MSG_WARN([Couldn't find endian.h or sys/endian.h files: doing compile-time tests.]) |
|
) |
|
) |
|
|
|
if test "x$with_openssl" = "xno"; then |
|
AC_MSG_WARN( [Building without OpenSSL; disabling iperf_auth functionality.] ) |
|
else |
|
# Check for OPENSSL support |
|
havs_ssl=false |
|
AX_CHECK_OPENSSL( |
|
[ AC_DEFINE([HAVE_SSL], [1], [OpenSSL Is Available]) |
|
have_ssl=true ], |
|
[ if test "x$with_openssl" != "x"; then |
|
AC_MSG_FAILURE([--with-openssl was given, but test for OpenSSL failed]) |
|
fi ] |
|
) |
|
if $have_ssl; then |
|
case $host in |
|
*-*-cygwin) |
|
CFLAGS="$CFLAGS -DNOCRYPT" |
|
;; |
|
esac |
|
LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" |
|
LIBS="$OPENSSL_LIBS $LIBS" |
|
CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS" |
|
fi |
|
fi |
|
|
# Check for TCP_CONGESTION sockopt (believed to be Linux and FreeBSD only) |
# Check for TCP_CONGESTION sockopt (believed to be Linux and FreeBSD only) |
AC_CACHE_CHECK([TCP_CONGESTION socket option], |
AC_CACHE_CHECK([TCP_CONGESTION socket option], |
[iperf3_cv_header_tcp_congestion], |
[iperf3_cv_header_tcp_congestion], |
Line 138 fi
|
Line 195 fi
|
# FreeBSD uses cpuset_setaffinity while Linux uses sched_setaffinity. |
# FreeBSD uses cpuset_setaffinity while Linux uses sched_setaffinity. |
# Define HAVE_CPU_AFFINITY to indicate the CPU affinity setting as a |
# Define HAVE_CPU_AFFINITY to indicate the CPU affinity setting as a |
# generic concept is available. |
# generic concept is available. |
AC_CHECK_FUNCS([cpuset_setaffinity sched_setaffinity], | AC_CHECK_FUNCS([cpuset_setaffinity sched_setaffinity SetProcessAffinityMask], |
AC_DEFINE([HAVE_CPU_AFFINITY], [1], |
AC_DEFINE([HAVE_CPU_AFFINITY], [1], |
[Have CPU affinity support.])) |
[Have CPU affinity support.])) |
|
|
|
# Check for daemon(). Most systems have this but a few (IRIX) don't. |
|
AC_CHECK_FUNCS([daemon]) |
|
|
# Check for sendfile support. FreeBSD, Linux, and MacOS all support |
# Check for sendfile support. FreeBSD, Linux, and MacOS all support |
# this system call, but they're all different in terms of what headers |
# this system call, but they're all different in terms of what headers |
# it needs and what arguments it expects. |
# it needs and what arguments it expects. |
AC_CHECK_FUNCS([sendfile]) |
AC_CHECK_FUNCS([sendfile]) |
|
|
|
# Check for getline support, used as a part of authenticated |
|
# connections. |
|
AC_CHECK_FUNCS([getline]) |
|
|
# Check for packet pacing socket option (Linux only for now). |
# Check for packet pacing socket option (Linux only for now). |
AC_CACHE_CHECK([SO_MAX_PACING_RATE socket option], |
AC_CACHE_CHECK([SO_MAX_PACING_RATE socket option], |
[iperf3_cv_header_so_max_pacing_rate], |
[iperf3_cv_header_so_max_pacing_rate], |
Line 160 if test "x$iperf3_cv_header_so_max_pacing_rate" = "xye
|
Line 224 if test "x$iperf3_cv_header_so_max_pacing_rate" = "xye
|
AC_DEFINE([HAVE_SO_MAX_PACING_RATE], [1], [Have SO_MAX_PACING_RATE sockopt.]) |
AC_DEFINE([HAVE_SO_MAX_PACING_RATE], [1], [Have SO_MAX_PACING_RATE sockopt.]) |
fi |
fi |
|
|
|
# Check if we need -lrt for clock_gettime |
|
AC_SEARCH_LIBS(clock_gettime, [rt posix4]) |
|
# Check for clock_gettime support |
|
AC_CHECK_FUNCS([clock_gettime]) |
|
|
AC_OUTPUT([Makefile src/Makefile src/version.h examples/Makefile iperf3.spec]) |
AC_OUTPUT([Makefile src/Makefile src/version.h examples/Makefile iperf3.spec]) |