X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/bd4576fe4bb666b1072bebeca6b79b827622db5a..ecc7623e7faf75f6ba3dd7b5a416c52e2346ac7d:/configure.in diff --git a/configure.in b/configure.in index a312b39a..0af91bfe 100644 --- a/configure.in +++ b/configure.in @@ -5,7 +5,7 @@ AC_CONFIG_SRCDIR([byteorder.h]) AC_CONFIG_HEADER(config.h) AC_PREREQ(2.59) -RSYNC_VERSION=2.6.7cvs +RSYNC_VERSION=2.6.9cvs AC_SUBST(RSYNC_VERSION) AC_MSG_NOTICE([Configuring rsync $RSYNC_VERSION]) @@ -367,7 +367,10 @@ if test x"$ac_cv_func_connect" = x"no"; then fi AC_SEARCH_LIBS(inet_ntop, resolv) -AC_SEARCH_LIBS(iconv_open, iconv) + +# Solaris and HP-UX weirdness: +# Search for libiconv_open (not iconv_open) to discover if -liconv is needed! +AC_SEARCH_LIBS(libiconv_open, iconv) dnl AC_MSG_NOTICE([Looking in libraries: $LIBS]) @@ -499,8 +502,7 @@ if test $ac_cv_func_getpgrp = yes; then AC_FUNC_GETPGRP fi -# Determine whether chown follows symlinks (it should). -AC_CACHE_CHECK([whether chown() dereferences symlinks],rsync_cv_chown_follows_symlink,[ +AC_CACHE_CHECK([whether chown() modifies symlinks],rsync_cv_chown_modifies_symlink,[ AC_TRY_RUN([ #if HAVE_UNISTD_H # include @@ -511,14 +513,52 @@ AC_CACHE_CHECK([whether chown() dereferences symlinks],rsync_cv_chown_follows_sy char const *dangling_symlink = "conftest.dangle"; unlink(dangling_symlink); if (symlink("conftest.no-such", dangling_symlink) < 0) abort(); - if (chown(dangling_symlink, getuid(), getgid()) < 0 && errno == ENOENT) exit(0); - exit(1); + if (chown(dangling_symlink, getuid(), getgid()) < 0 && errno == ENOENT) exit(1); + exit(0); }], - rsync_cv_chown_follows_symlink=yes,rsync_cv_chown_follows_symlink=no,rsync_cv_chown_follows_symlink=yes)]) -if test $rsync_cv_chown_follows_symlink = no; then + rsync_cv_chown_modifies_symlink=yes,rsync_cv_chown_modifies_symlink=no,rsync_cv_chown_modifies_symlink=no)]) +if test $rsync_cv_chown_modifies_symlink = yes; then AC_DEFINE(CHOWN_MODIFIES_SYMLINK, 1, [Define to 1 if chown modifies symlinks.]) fi +AC_CACHE_CHECK([whether link() can hard-link symlinks],rsync_cv_can_hardlink_symlink,[ + AC_TRY_RUN([ +#if HAVE_UNISTD_H +# include +#endif +#include +#include +#define FILENAME "conftest.dangle" + main() { + unlink(FILENAME); + if (symlink("conftest.no-such", FILENAME) < 0) abort(); + if (link(FILENAME, FILENAME "2") < 0) exit(1); + exit(0); + }], + rsync_cv_can_hardlink_symlink=yes,rsync_cv_can_hardlink_symlink=no,rsync_cv_can_hardlink_symlink=no)]) +if test $rsync_cv_can_hardlink_symlink = yes; then + AC_DEFINE(CAN_HARDLINK_SYMLINK, 1, [Define to 1 if link() can hard-link symlinks.]) +fi + +AC_CACHE_CHECK([whether link() can hard-link special files],rsync_cv_can_hardlink_special,[ + AC_TRY_RUN([ +#if HAVE_UNISTD_H +# include +#endif +#include +#include +#define FILENAME "conftest.fifi" + main() { + unlink(FILENAME); + if (mkfifo(FILENAME, 0777) < 0) abort(); + if (link(FILENAME, FILENAME "2") < 0) exit(1); + exit(0); + }], + rsync_cv_can_hardlink_special=yes,rsync_cv_can_hardlink_special=no,rsync_cv_can_hardlink_special=no)]) +if test $rsync_cv_can_hardlink_special = yes; then + AC_DEFINE(CAN_HARDLINK_SPECIAL, 1, [Define to 1 if link() can hard-link special files.]) +fi + AC_CACHE_CHECK([for working socketpair],rsync_cv_HAVE_SOCKETPAIR,[ AC_TRY_RUN([ #include @@ -647,35 +687,6 @@ if test x"$rsync_cv_HAVE_SECURE_MKSTEMP" = x"yes"; then fi -AC_CACHE_CHECK([for broken inet_ntoa],rsync_cv_REPLACE_INET_NTOA,[ -AC_TRY_RUN([ -#include -#include -#include -#include -main() { struct in_addr ip; ip.s_addr = 0x12345678; -if (strcmp(inet_ntoa(ip),"18.52.86.120") && - strcmp(inet_ntoa(ip),"120.86.52.18")) { exit(1); } -exit(0);}], - rsync_cv_REPLACE_INET_NTOA=no,rsync_cv_REPLACE_INET_NTOA=yes,rsync_cv_REPLACE_INET_NTOA=cross)]) -if test x"$rsync_cv_REPLACE_INET_NTOA" = x"yes"; then - AC_DEFINE(REPLACE_INET_NTOA, 1, [Define to 1 if inet_ntoa() needs to be replaced]) -fi - - -AC_CACHE_CHECK([for broken inet_aton],rsync_cv_REPLACE_INET_ATON,[ -AC_TRY_RUN([ -#include -#include -#include -#include -main() { struct in_addr ip; -if (inet_aton("example", &ip) == 0) exit(0); exit(1);}], - rsync_cv_REPLACE_INET_ATON=no,rsync_cv_REPLACE_INET_ATON=yes,rsync_cv_REPLACE_INET_ATON=cross)]) -if test x"$rsync_cv_REPLACE_INET_ATON" = x"yes"; then - AC_DEFINE(REPLACE_INET_ATON, 1, [Define to 1 if inet_aton() needs to be replaced]) -fi - AC_CACHE_CHECK([if mknod creates FIFOs],rsync_cv_MKNOD_CREATES_FIFOS,[ AC_TRY_RUN([ #include