X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/6500e0769a56919df1d47759828104a08df850bb..d80f7d6cc30764be74e5eb48259344ef868e38b7:/configure.ac diff --git a/configure.ac b/configure.ac index 22672ba5..c261b4ad 100644 --- a/configure.ac +++ b/configure.ac @@ -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, @@ -337,7 +339,7 @@ AC_CHECK_HEADERS(sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h \ sys/un.h sys/attr.h mcheck.h arpa/inet.h arpa/nameser.h locale.h \ netdb.h malloc.h float.h limits.h iconv.h libcharset.h langinfo.h \ sys/acl.h acl/libacl.h attr/xattr.h sys/xattr.h sys/extattr.h \ - popt.h popt/popt.h) + popt.h popt/popt.h linux/falloc.h) AC_HEADER_MAJOR AC_CACHE_CHECK([if makedev takes 3 args],rsync_cv_MAKEDEV_TAKES_3_ARGS,[ @@ -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,7 +1021,6 @@ 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) @@ -999,7 +1038,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) + AC_DEFINE(NO_SYMLINK_XATTRS, 1, [True if symlinks do not support xattrs]) ;; *) if test x"$enable_xattr_support" = x"yes"; then