X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/fab9a9c54729984199d20b637ea8cc163c73d2e2..b964901f7d01ad04717535ce3d328200d616be32:/configure.in diff --git a/configure.in b/configure.in index e08249da..060ebc2d 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(byteorder.h) AC_CONFIG_HEADER(config.h) -AC_PREREQ(2.12) +AC_PREREQ(2.52) LDFLAGS=${LDFLAGS-""} @@ -28,19 +28,12 @@ fi CFLAGS="$CFLAGS -DHAVE_CONFIG_H" -# look for getconf early as this affects just about everything -AC_CHECK_PROG(HAVE_GETCONF, getconf, "yes", "no") -if test $HAVE_GETCONF = "yes"; then - CFLAGS=$CFLAGS" "`getconf LFS_CFLAGS 2> /dev/null` - LDFLAGS=$LDFLAGS" "`getconf LFS_LDFLAGS 2> /dev/null` -fi - AC_ARG_WITH(included-popt, [ --with-included-popt use bundled popt library, not from system]) AC_ARG_WITH(rsync-path, [ --with-rsync-path=PATH set default --rsync-path to PATH (default: \"rsync\")], - [ RSYNC_PATH="$with_rsync_name" ], + [ RSYNC_PATH="$with_rsync_path" ], [ RSYNC_PATH="rsync" ]) AC_DEFINE_UNQUOTED(RSYNC_PATH, "$RSYNC_PATH", [ ]) @@ -52,7 +45,45 @@ AC_SUBST(SHELL) AC_CHECK_PROG(HAVE_REMSH, remsh, 1, 0) AC_DEFINE_UNQUOTED(HAVE_REMSH, $HAVE_REMSH, [ ]) -AC_SYS_LARGEFILE + +# arrgh. libc in the current debian stable screws up the largefile +# stuff, getting byte range locking wrong +AC_CACHE_CHECK([for broken largefile support],rsync_cv_HAVE_BROKEN_LARGEFILE,[ +AC_TRY_RUN([ +#define _FILE_OFFSET_BITS 64 +#include +#include +#include +#include + +int main(void) +{ + struct flock lock; + int status; + int fd = open("conftest.dat", O_CREAT|O_RDWR, 0600); + lock.l_type = F_WRLCK; + lock.l_whence = SEEK_SET; + lock.l_start = 0; + lock.l_len = 1; + lock.l_pid = 0; + + fcntl(fd,F_SETLK,&lock); + if (fork() == 0) { + lock.l_start = 1; + exit(fcntl(fd,F_SETLK,&lock) == 0); + } + wait(&status); + unlink("conftest.dat"); + exit(WEXITSTATUS(status)); +} +], +rsync_cv_HAVE_BROKEN_LARGEFILE=yes,rsync_cv_HAVE_BROKEN_LARGEFILE=no,rsync_cv_HAVE_BROKEN_LARGEFILE=cross)]) +if test x"$rsync_cv_HAVE_BROKEN_LARGEFILE" != x"yes"; then + AC_SYS_LARGEFILE +fi + + + AC_C_BIGENDIAN AC_HEADER_DIRENT AC_HEADER_TIME @@ -77,8 +108,7 @@ AC_TYPE_PID_T AC_TYPE_GETGROUPS AC_STRUCT_ST_RDEV AC_CHECK_TYPE([ino_t], [unsigned]) -dnl TYPE_SOCKLEN_T -AC_CHECK_TYPE([socklen_t], [size_t]) +TYPE_SOCKLEN_T AC_CACHE_CHECK([for errno in errno.h],rsync_cv_errno, [ AC_TRY_COMPILE([#include ],[int i = errno], @@ -348,4 +378,4 @@ AC_SUBST(OBJ_RESTORE) AC_SUBST(CC_SHOBJ_FLAG) AC_SUBST(BUILD_POPT) -AC_OUTPUT(Makefile lib/dummy zlib/dummy) +AC_OUTPUT(Makefile lib/dummy zlib/dummy popt/dummy shconfig)