Allow "./configure --with-protect-args" to make -s the default.
[rsync/rsync.git] / configure.in
index d03bc4e..347168a 100644 (file)
@@ -78,6 +78,12 @@ fi
 AC_ARG_WITH(included-popt,
         AC_HELP_STRING([--with-included-popt], [use bundled popt library, not from system]))
 
+AC_ARG_WITH(protected-args,
+        AC_HELP_STRING([--with-protected-args], [make --protected-args option the default]))
+if test x"$with_protected_args" = x"yes"; then
+       AC_DEFINE_UNQUOTED(RSYNC_USE_PROTECTED_ARGS, 1, [Define to 1 if --protected-args should be the default])
+fi
+
 AC_ARG_WITH(rsync-path,
        AC_HELP_STRING([--with-rsync-path=PATH], [set default --rsync-path to PATH (default: rsync)]),
        [ RSYNC_PATH="$with_rsync_path" ],
@@ -196,7 +202,7 @@ AC_ARG_ENABLE(ipv6,
                [don't 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 toshiba v6d zeta; do
+       for i in inria kame linux-glibc linux-inet6 solaris toshiba v6d zeta cygwin; do
                case $i in
                inria)
                        # http://www.kame.net/
@@ -240,6 +246,16 @@ AC_DEFINE(INET6, 1, [true if you have IPv6])])
                                CFLAGS="-I/usr/inet6/include $CFLAGS"
                        fi
                        ;;
+               solaris)
+                       # http://www.sun.com
+                       AC_EGREP_CPP(yes, [
+#include <netinet/ip6.h>
+#ifdef __sun
+yes
+#endif],
+                               [ipv6type=$i;
+                               AC_DEFINE(INET6, 1, [true if you have IPv6])])
+                       ;;
                toshiba)
                        AC_EGREP_CPP(yes, [
 #include <sys/param.h>
@@ -273,6 +289,15 @@ yes
                                ipv6libdir=/usr/local/v6/lib;
                                AC_DEFINE(INET6, 1, [true if you have IPv6])])
                        ;;
+               cygwin)
+                       AC_EGREP_CPP(yes, [
+#include <netinet/in.h>
+#ifdef _CYGWIN_IN6_H
+yes
+#endif],
+                               [ipv6type=$i;
+                               AC_DEFINE(INET6, 1, [true if you have IPv6])])
+                       ;;
                esac
                if test "$ipv6type" != "unknown"; then
                        break
@@ -360,7 +385,18 @@ AC_TYPE_SIGNAL
 AC_TYPE_UID_T
 AC_CHECK_TYPES([mode_t,off_t,size_t,pid_t,id_t])
 AC_TYPE_GETGROUPS
-AC_CHECK_MEMBERS([struct stat.st_rdev])
+AC_CHECK_MEMBERS([struct stat.st_rdev,
+                 struct stat.st_mtimensec,
+                 struct stat.st_mtim.tv_nsec],,,[
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif])
 
 TYPE_SOCKLEN_T
 
@@ -551,8 +587,9 @@ AC_CHECK_FUNCS(waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \
     memmove lchown vsnprintf snprintf vasprintf asprintf setsid strpbrk \
     strlcat strlcpy strtol mallinfo getgroups setgroups geteuid getegid \
     setlocale setmode open64 lseek64 mkstemp64 mtrace va_copy __va_copy \
-    strerror putenv iconv_open locale_charset nl_langinfo getxattr \
-    extattr_get_link sigaction sigprocmask setattrlist)
+    seteuid strerror putenv iconv_open locale_charset nl_langinfo getxattr \
+    extattr_get_link sigaction sigprocmask setattrlist getgrouplist \
+    initgroups utimensat)
 
 dnl cygwin iconv.h defines iconv_open as libiconv_open
 if test x"$ac_cv_func_iconv_open" != x"yes"; then
@@ -955,6 +992,12 @@ else
        AC_DEFINE(HAVE_FREEBSD_XATTRS, 1, [True if you have FreeBSD xattrs])
        AC_DEFINE(SUPPORT_XATTRS, 1)
        ;;
+    solaris*)
+       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])
+       ;;
     *)
        if test x"$enable_xattr_support" = x"yes"; then
            AC_MSG_ERROR(Failed to find extended attribute support)