.SUFFIXES:
.SUFFIXES: .c .o
-LIBOBJ=lib/getopt.o lib/fnmatch.o lib/zlib.o
+LIBOBJ=lib/getopt.o lib/fnmatch.o lib/zlib.o lib/compat.o
OBJS1=rsync.o exclude.o util.o md4.o main.o checksum.o match.o
OBJS=$(OBJS1) flist.o io.o compat.o hlink.o token.o uidlist.o $(LIBOBJ)
echo yes;AC_DEFINE(HAVE_FNMATCH),
echo no)
+echo $ac_n "checking for utimbuf ... $ac_c"
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <utime.h>],
+[int set_modtime(char *fname,time_t modtime)
+{ struct utimbuf tbuf; tbuf.actime = 0; tbuf.modtime = modtime;
+ return utime(fname,&tbuf); }],
+echo yes;AC_DEFINE(HAVE_UTIMBUF),
+echo no)
+
AC_OUTPUT(Makefile)
#define S_IWUSR 0200
#endif
+#ifndef S_ISBLK
+#define S_ISBLK(mode) (((mode) & (_S_IFMT)) == (_S_IFBLK))
+#endif
+
+#ifndef S_ISCHR
+#define S_ISCHR(mode) (((mode) & (_S_IFMT)) == (_S_IFCHR))
+#endif
+
+#ifndef S_ISDIR
+#define S_ISDIR(mode) (((mode) & (_S_IFMT)) == (_S_IFDIR))
+#endif
+
+#ifndef S_ISREG
+#define S_ISREG(mode) (((mode) & (_S_IFMT)) == (_S_IFREG))
+#endif
+
#define IS_DEVICE(mode) (S_ISCHR(mode) || S_ISBLK(mode))
}
-#ifndef HAVE_STRDUP
- char *strdup(char *s)
-{
- int l = strlen(s) + 1;
- char *ret = (char *)malloc(l);
- if (ret)
- strcpy(ret,s);
- return ret;
-}
-#endif
-
int set_modtime(char *fname,time_t modtime)
{
-#ifdef HAVE_UTIME_H
+#ifdef HAVE_UTIMBUF
struct utimbuf tbuf;
tbuf.actime = time(NULL);
tbuf.modtime = modtime;