Some improvements to the solaris xattr routines.
[rsync/rsync.git] / configure.in
index 1ae1a7e..fcde0ca 100644 (file)
@@ -5,7 +5,7 @@ AC_CONFIG_SRCDIR([byteorder.h])
 AC_CONFIG_HEADER(config.h)
 AC_PREREQ(2.59)
 
-RSYNC_VERSION=3.0.3pre1
+RSYNC_VERSION=3.1.0dev
 AC_SUBST(RSYNC_VERSION)
 AC_MSG_NOTICE([Configuring rsync $RSYNC_VERSION])
 
@@ -13,22 +13,7 @@ AC_DEFINE_UNQUOTED(RSYNC_VERSION, ["$RSYNC_VERSION"], [rsync release version])
 
 LDFLAGS=${LDFLAGS-""}
 
-AC_CANONICAL_TARGET([])
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_CPP
-AC_PROG_EGREP
-AC_PROG_INSTALL
-AC_PROG_CC_STDC
-AC_SUBST(SHELL)
-
-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])
-fi
+AC_CANONICAL_HOST
 
 # We must decide this before testing the compiler.
 
@@ -42,14 +27,27 @@ AC_ARG_ENABLE(debug,
 
 if test x"$enable_debug" = x"no"; then
     AC_MSG_RESULT(no)
-    CFLAGS=${CFLAGS-"-O"}
+    ac_cv_prog_cc_g=no
 else
     AC_MSG_RESULT([yes])
-    # leave CFLAGS alone; AC_PROG_CC will try to include -g if it can
     dnl AC_DEFINE(DEBUG, 1, [Define to turn on debugging code that may slow normal operation])
-    dnl CFLAGS=${CFLAGS-"-g"}
+    # leave ac_cv_prog_cc_g alone; AC_PROG_CC will try to include -g if it can
 fi
 
+dnl Checks for programs.
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_EGREP
+AC_PROG_INSTALL
+AC_PROG_CC_STDC
+AC_SUBST(SHELL)
+
+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])
+fi
 
 AC_ARG_ENABLE(profile,
        AC_HELP_STRING([--enable-profile],
@@ -198,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/
@@ -242,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>
@@ -554,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
@@ -566,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).])
@@ -762,7 +780,7 @@ rsync_cv_HAVE_SECURE_MKSTEMP=yes,
 rsync_cv_HAVE_SECURE_MKSTEMP=no,
 rsync_cv_HAVE_SECURE_MKSTEMP=cross)])
 if test x"$rsync_cv_HAVE_SECURE_MKSTEMP" = x"yes"; then
-    case $target_os in
+    case $host_os in
     hpux*)
        dnl HP-UX has a broken mkstemp() implementation they refuse to fix,
        dnl so we noisily skip using it.  See HP change request JAGaf34426
@@ -948,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)