#error Oops: No config.h and no pre-built configuration in archive_platform.h.
#endif
+/* It should be possible to get rid of this by extending the feature-test
+ * macros to cover Windows API functions, probably along with non-trivial
+ * refactoring of code to find structures that sit more cleanly on top of
+ * either Windows or Posix APIs. */
+#if (defined(__WIN32__) || defined(_WIN32) || defined(__WIN32)) && !defined(__CYGWIN__)
+#include "archive_windows.h"
+#endif
+
/*
* The config files define a lot of feature macros. The following
* uses those macros to select/define replacements and include key
/* Implementation POSIX function */
extern int link (const char *from, const char *to);
extern int symlink (const char *from, const char *to);
+#ifndef HAVE_FTRUNCATE
+#define HAVE_FTRUNCATE 1
+#endif
extern int ftruncate(int fd, off_t length);
+#ifndef HAVE_FUTIMES
+#define HAVE_FUTIMES 1
+#endif
extern int futimes(int fd, const struct __timeval *times);
+#ifndef HAVE_UTIMES
+#define HAVE_UTIMES 1
+#endif
extern int utimes(const char *name, const struct __timeval *times);
/* Replacement POSIX function */