AC_CONFIG_HEADER(config.h)
AC_PREREQ(2.52)
+RSYNC_VERSION=2.5.1
+AC_SUBST(RSYNC_VERSION)
+AC_MSG_NOTICE([Configuring rsync $RSYNC_VERSION])
+
+AC_DEFINE_UNQUOTED(RSYNC_VERSION, ["$RSYNC_VERSION"], [rsync release version])
+
LDFLAGS=${LDFLAGS-""}
AC_CANONICAL_TARGET([])
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
+AC_PROG_CC_STDC
AC_SUBST(SHELL)
-RSYNC_VERSION=2.4.7pre3
-AC_SUBST(RSYNC_VERSION)
-AC_DEFINE_UNQUOTED(RSYNC_VERSION, ["$RSYNC_VERSION"], [rsync release version])
+if test "$xac_cv_prog_cc_stdc" = xno
+then
+ AC_MSG_WARN([rsync requires an ANSI C compiler and you don't seem to have one])
+fi
# compile with optimisation and without debugging by default, unless
# --debug is given. We must decide this before testing the compiler.
else
AC_MSG_RESULT([yes])
# leave CFLAGS alone; AC_PROG_CC will try to include -g if it can
- AC_DEFINE(DEBUG, 1, [Define to turn on debugging code that may slow normal operation])
+ dnl AC_DEFINE(DEBUG, 1, [Define to turn on debugging code that may slow normal operation])
dnl CFLAGS=${CFLAGS-"-g"}
fi
ipv6lib=none
ipv6trylibc=yes
+AC_ARG_ENABLE(ipv6,
+ AC_HELP_STRING([--disable-ipv6], [don't even try to use IPv6]))
+
+if test "x$enable_ipv6" != xno
+then
AC_MSG_CHECKING([ipv6 stack type])
for i in inria kame linux-glibc linux-inet6 toshiba v6d zeta; do
case $i in
done
AC_MSG_RESULT($ipv6type)
-AC_SEARCH_LIBS(getaddrinfo, inet6)
+ AC_SEARCH_LIBS(getaddrinfo, inet6)
+fi
AC_C_BIGENDIAN
AC_HEADER_DIRENT
fi
fi
+AC_CHECK_LIB(resolv, inet_ntop)
+
AC_MSG_NOTICE([Looking in libraries: $LIBS])
-AC_REPLACE_FUNCS(getaddrinfo getnameinfo)
+
+AC_CHECK_FUNCS(inet_ntop, , AC_LIBOBJ(lib/inet_ntop))
+AC_CHECK_FUNCS(inet_pton, , AC_LIBOBJ(lib/inet_pton))
+
+AC_CHECK_FUNCS(getaddrinfo, , AC_LIBOBJ(lib/getaddrinfo))
+AC_CHECK_FUNCS(getnameinfo, , AC_LIBOBJ(lib/getnameinfo))
AC_CHECK_MEMBER([struct sockaddr.sa_len],
[ AC_DEFINE(HAVE_SOCKADDR_LEN) ],
#include <sys/socket.h>
])
+AC_MSG_CHECKING(struct sockaddr_storage)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/socket.h>],
+[struct sockaddr_storage x;],
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_SOCKADDR_STORAGE, 1,
+ [Define if you have strct sockaddr_storage.] ),
+ AC_MSG_RESULT(no))
+
# if we can't find strcasecmp, look in -lresolv (for Unixware at least)
#
AC_CHECK_FUNCS(strcasecmp)
AC_CHECK_LIB(resolv, strcasecmp)
fi
-AC_CHECK_LIB(resolv, inet_ntop)
+dnl At the moment we don't test for a broken memcmp(), because all we
+dnl need to do is test for equality, not comparison, and it seems that
+dnl every platform has a memcmp that can do at least that.
+dnl AC_FUNC_MEMCMP
-AC_FUNC_MEMCMP
AC_FUNC_UTIME_NULL
AC_CHECK_FUNCS(waitpid wait4 getcwd strdup strerror chown chmod mknod)
AC_CHECK_FUNCS(fchmod fstat strchr readlink link utime utimes strftime)
AC_CHECK_FUNCS(memmove lchown vsnprintf snprintf asprintf setsid glob strpbrk)
AC_CHECK_FUNCS(strlcat strlcpy mtrace)
-AC_CHECK_FUNCS(inet_ntop inet_pton)
AC_CACHE_CHECK([for working socketpair],rsync_cv_HAVE_SOCKETPAIR,[
-AC_TRY_RUN([#include <sys/types.h>
- #include <sys/socket.h>
- main() {
- int fd[2];
- exit((socketpair(AF_UNIX, SOCK_STREAM, 0, fd) != -1) ? 0 : 1);
- }],
+AC_TRY_RUN([
+#include <sys/types.h>
+#include <sys/socket.h>
+
+main() {
+ int fd[2];
+ exit((socketpair(AF_UNIX, SOCK_STREAM, 0, fd) != -1) ? 0 : 1);
+}],
rsync_cv_HAVE_SOCKETPAIR=yes,rsync_cv_HAVE_SOCKETPAIR=no,rsync_cv_HAVE_SOCKETPAIR=cross)])
if test x"$rsync_cv_HAVE_SOCKETPAIR" = x"yes"; then
AC_DEFINE(HAVE_SOCKETPAIR, 1, [ ])