X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d0f2bbb83e0c9a1b4264eeadfc2d53fb5aafb657..58663df4323991bde024ffe4436b67e53f56e52b:/configure.ac diff --git a/configure.ac b/configure.ac index 9de88d15..302788cc 100644 --- a/configure.ac +++ b/configure.ac @@ -46,7 +46,7 @@ AC_DEFINE([_GNU_SOURCE], 1, [Define _GNU_SOURCE so that we get all necessary prototypes]) if test x"$ac_cv_prog_cc_stdc" = x"no"; then - AC_MSG_WARN([rsync requires an ANSI C compiler and you don't seem to have one]) + AC_MSG_WARN([rsync requires an ANSI C compiler and you do not seem to have one]) fi AC_ARG_ENABLE(profile, @@ -130,6 +130,8 @@ AC_DEFINE_UNQUOTED(RSYNC_RSH, "$RSYNC_RSH", [default -e command]) AC_CHECK_PROG(HAVE_YODL2MAN, yodl2man, 1, 0) if test x$HAVE_YODL2MAN = x1; then MAKE_MAN=man +else + MAKE_MAN=man-copy fi AC_ARG_WITH(nobody-group, @@ -199,7 +201,7 @@ ipv6trylibc=yes AC_ARG_ENABLE(ipv6, AC_HELP_STRING([--disable-ipv6], - [don't even try to use IPv6])) + [do not even try to use IPv6])) if test x"$enable_ipv6" != x"no"; then AC_MSG_CHECKING([ipv6 stack type]) for i in inria kame linux-glibc linux-inet6 solaris toshiba v6d zeta cygwin; do @@ -313,7 +315,7 @@ AC_ARG_ENABLE([locale], AC_HELP_STRING([--disable-locale], [disable locale features])) AH_TEMPLATE([CONFIG_LOCALE], -[Undefine if you don't want locale features. By default this is defined.]) +[Undefine if you do not want locale features. By default this is defined.]) if test x"$enable_locale" != x"no"; then AC_DEFINE(CONFIG_LOCALE) fi @@ -445,8 +447,10 @@ fi AC_SEARCH_LIBS(inet_ntop, resolv) -# Solaris and HP-UX weirdness: -# Search for libiconv_open (not iconv_open) to discover if -liconv is needed! +# For OS X, Solaris, HP-UX, etc.: figure out if -liconv is needed. We'll +# accept either iconv_open or libiconv_open, since some include files map +# the former to the latter. +AC_SEARCH_LIBS(iconv_open, iconv) AC_SEARCH_LIBS(libiconv_open, iconv) AC_MSG_CHECKING([for iconv declaration]) @@ -589,13 +593,49 @@ AC_CHECK_FUNCS(waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \ setlocale setmode open64 lseek64 mkstemp64 mtrace va_copy __va_copy \ seteuid strerror putenv iconv_open locale_charset nl_langinfo getxattr \ extattr_get_link sigaction sigprocmask setattrlist getgrouplist \ - initgroups utimensat) + initgroups utimensat posix_fallocate) dnl cygwin iconv.h defines iconv_open as libiconv_open if test x"$ac_cv_func_iconv_open" != x"yes"; then AC_CHECK_FUNC(libiconv_open, [ac_cv_func_iconv_open=yes; AC_DEFINE(HAVE_ICONV_OPEN, 1)]) fi +dnl Preallocation stuff (also fallocate, posix_fallocate function tests above): + +AC_CACHE_CHECK([for useable fallocate],rsync_cv_have_fallocate,[ +AC_TRY_LINK([#include +#include ], +[fallocate(0, 0, 0, 0);], +rsync_cv_have_fallocate=yes,rsync_cv_have_fallocate=no)]) +if test x"$rsync_cv_have_fallocate" = x"yes"; then + AC_DEFINE(HAVE_FALLOCATE, 1, [Define to 1 if you have the fallocate function and it compiles and links without error]) +fi + +AC_CACHE_CHECK([for SYS_fallocate],rsync_cv_have_sys_fallocate,[ +AC_TRY_COMPILE([#include +#include ], +[syscall(SYS_fallocate, 0, 0, (loff_t)0, (loff_t)0);], +rsync_cv_have_sys_fallocate=yes,rsync_cv_have_sys_fallocate=no)]) +if test x"$rsync_cv_have_sys_fallocate" = x"yes"; then + AC_DEFINE(HAVE_SYS_FALLOCATE, 1, [Define to 1 if you have the SYS_fallocate syscall number]) +fi + +if test x"$ac_cv_func_posix_fallocate" = x"yes"; then + AC_MSG_CHECKING([whether posix_fallocate is efficient]) + case $host_os in + *cygwin*) + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_EFFICIENT_POSIX_FALLOCATE, 1, + [Define if posix_fallocate is efficient (Cygwin)]) + ;; + *) + AC_MSG_RESULT(no) + ;; + esac +fi + +dnl End of preallocation stuff + AC_CHECK_FUNCS(getpgrp tcgetpgrp) if test $ac_cv_func_getpgrp = yes; then AC_FUNC_GETPGRP @@ -981,11 +1021,14 @@ else AC_MSG_RESULT(Using Linux xattrs) AC_DEFINE(HAVE_LINUX_XATTRS, 1, [True if you have Linux xattrs]) AC_DEFINE(SUPPORT_XATTRS, 1) + AC_DEFINE(NO_SYMLINK_XATTRS, 1, [True if symlinks do not support xattrs]) ;; darwin*) AC_MSG_RESULT(Using OS X xattrs) AC_DEFINE(HAVE_OSX_XATTRS, 1, [True if you have Mac OS X xattrs]) AC_DEFINE(SUPPORT_XATTRS, 1) + AC_DEFINE(NO_DEVICE_XATTRS, 1, [True if device files do not support xattrs]) + AC_DEFINE(NO_SPECIAL_XATTRS, 1, [True if special files do not support xattrs]) ;; freebsd*) AC_MSG_RESULT(Using FreeBSD extattrs) @@ -996,7 +1039,7 @@ else AC_MSG_RESULT(Using Solaris xattrs) AC_DEFINE(HAVE_SOLARIS_XATTRS, 1, [True if you have Solaris xattrs]) AC_DEFINE(SUPPORT_XATTRS, 1) - AC_DEFINE(NO_SYMLINK_XATTRS, 1, [True if symlinks don't support xattrs]) + AC_DEFINE(NO_SYMLINK_XATTRS, 1) ;; *) if test x"$enable_xattr_support" = x"yes"; then