diff --git a/configure b/configure index bd84605af0..afe81d0346 100755 --- a/configure +++ b/configure @@ -11397,7 +11397,8 @@ esac # Win32 can't to rename or unlink on an open file case $host_os in mingw*) LIBOBJS="$LIBOBJS dirmod.$ac_objext" -LIBOBJS="$LIBOBJS copydir.$ac_objext" ;; +LIBOBJS="$LIBOBJS copydir.$ac_objext" +LIBOBJS="$LIBOBJS gettimeofday.$ac_objext" ;; esac if test "$with_readline" = yes; then diff --git a/configure.in b/configure.in index 670e5960d7..51157599a9 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Header: /cvsroot/pgsql/configure.in,v 1.251 2003/05/15 17:59:17 momjian Exp $ +dnl $Header: /cvsroot/pgsql/configure.in,v 1.252 2003/05/16 01:57:51 momjian Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -865,7 +865,8 @@ esac # Win32 can't to rename or unlink on an open file case $host_os in mingw*) AC_LIBOBJ(dirmod) -AC_LIBOBJ(copydir) ;; +AC_LIBOBJ(copydir) +AC_LIBOBJ(gettimeofday) ;; esac if test "$with_readline" = yes; then diff --git a/src/include/c.h b/src/include/c.h index f8df3a434c..6f3c690fbc 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -12,7 +12,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: c.h,v 1.146 2003/05/15 23:39:27 tgl Exp $ + * $Id: c.h,v 1.147 2003/05/16 01:57:51 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -52,7 +52,9 @@ #include "pg_config.h" #include "pg_config_manual.h" /* must be after pg_config.h */ +#ifndef WIN32 #include "pg_config_os.h" /* must be before any system header files */ +#endif #include "postgres_ext.h" #include @@ -71,6 +73,11 @@ #include #endif +#ifdef WIN32 +/* We have to redefine some system functions after they are included above */ +#include "pg_config_os.h" +#endif + /* Must be before gettext() games below */ #include diff --git a/src/include/port.h b/src/include/port.h index f5672355bd..ef40360ca6 100644 --- a/src/include/port.h +++ b/src/include/port.h @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: port.h,v 1.1 2003/05/15 16:35:29 momjian Exp $ + * $Id: port.h,v 1.2 2003/05/16 01:57:51 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -22,21 +22,26 @@ int fseeko(FILE *stream, off_t offset, int whence); off_t ftello(FILE *stream); #endif +#ifdef WIN32 /* * Win32 doesn't have reliable rename/unlink during concurrent access */ -#if defined(WIN32) && !defined(FRONTEND) +#ifndef FRONTEND int pgrename(const char *from, const char *to); int pgunlink(const char *path); #define rename(from, to) pgrename(from, to) #define unlink(path) pgunlink(path) #endif +extern int copydir(char *fromdir,char *todir); +extern int gettimeofday(struct timeval *tp, struct timezone *tzp); + +#else + /* * Win32 requires a special close for sockets and pipes, while on Unix * close() does them all. */ -#ifndef WIN32 #define closesocket close #endif @@ -45,7 +50,7 @@ int pgunlink(const char *path); * When necessary, these routines are provided by files in src/port/. */ #ifndef HAVE_CRYPT -char *crypt(const char *key, const char *setting); +extern char *crypt(const char *key, const char *setting); #endif #ifndef HAVE_FSEEKO @@ -90,4 +95,3 @@ extern long random(void); #ifndef HAVE_SRANDOM extern void srandom(unsigned int seed); #endif - diff --git a/src/port/copydir.c b/src/port/copydir.c index cd39f4d07e..81a36cca4a 100644 --- a/src/port/copydir.c +++ b/src/port/copydir.c @@ -6,6 +6,11 @@ #include "postgres.h" +#undef mkdir /* no reason to use that macro because we ignore the 2nd arg */ + +#include "dirent.h" + + int copydir(char *fromdir,char *todir) {