Some improvements to the solaris xattr routines.
[rsync/rsync.git] / configure.in
index a6698a7..fcde0ca 100644 (file)
@@ -196,7 +196,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; do
                case $i in
                inria)
                        # http://www.kame.net/
@@ -240,6 +240,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>
@@ -552,7 +562,8 @@ AC_CHECK_FUNCS(waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \
     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)
+    extattr_get_link sigaction sigprocmask setattrlist getgrouplist \
+    initgroups)
 
 dnl cygwin iconv.h defines iconv_open as libiconv_open
 if test x"$ac_cv_func_iconv_open" != x"yes"; then
@@ -564,10 +575,19 @@ if test $ac_cv_func_getpgrp = yes; then
     AC_FUNC_GETPGRP
 fi
 
+AC_ARG_ENABLE(iconv-open,
+    AC_HELP_STRING([--disable-iconv-open],
+           [disable all use of iconv_open() function]),
+    [], [enable_iconv_open=$ac_cv_func_iconv_open])
+
+if test x"$enable_iconv_open" != x"no"; then
+    AC_DEFINE(USE_ICONV_OPEN, 1, [Define to 1 if you want rsync to make use of iconv_open()])
+fi
+
 AC_ARG_ENABLE(iconv,
     AC_HELP_STRING([--disable-iconv],
            [disable rsync's --iconv option]),
-    [], [enable_iconv=$ac_cv_func_iconv_open])
+    [], [enable_iconv=$enable_iconv_open])
 AH_TEMPLATE([ICONV_OPTION],
 [Define if you want the --iconv option.  Specifing a value will set the
 default iconv setting (a NULL means no --iconv processing by default).])
@@ -946,6 +966,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)