Attached patches are required for cygwin:
2004-08-24 21:23:53 rurban@x-ray.at
* (postmaster/syslogger.c) struct timeval is
declared in sys/time.h, not in time.h
2004-08-24 20:20:54 rurban:
* (port/dirmod.c) cygwin needs different header locations,
and unlink is a macro. There are no pgport_palloc
versions yet
timezone/pgtz.c:
Pending is a patch against postgresql-8.0.0beta1/config/c-library.m4:
PGAC_VAR_INT_TIMEZONE
In the meantime I've hacked it with a cast from time_t to (int) in
timezone/pgtz.c: get_timezone_offset
but timezone really is of time_t, not int. I don't know what you are
trying to do here.
There's on remaining issue for the cygwin build:
../../src/port/libpgport.a(dirmod.o)(.text+0x5ee):dirmod.c: undefined
reference to `__imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x64b):dirmod.c: undefined
reference to `__imp__CurrentMemoryContext'
which explains the pgport_palloc problem.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/
2004-08-24 20:20:54 rurban:
* cygwin needs different header locations, and unlink is a macro
* There are no pgport_palloc versions yet
--- postgresql-8.0.0beta1/src/port/dirmod.c.orig 2004-08-08 07:44:36.000000000 +0100
+++ postgresql-8.0.0beta1/src/port/dirmod.c 2004-08-24 19:20:56.557435000 +0100
@@ -33,16 +33,28 @@
#include "miscadmin.h"
+
+#ifdef __CYGWIN__
+#include <windows.h>
+#include <w32api/winioctl.h>
+#else
#include <winioctl.h>
+#undef unlink
+#endif
#undef rename
-#undef unlink
+/* 2004-08-24 20:20:54 rurban: There are no pgport_palloc versions yet */
+#if 0
#ifndef FRONTEND
+#undef palloc
+#undef pstrdup
+#undef pfree
#define palloc(sz) pgport_palloc(sz)
#define pstrdup(str) pgport_pstrdup(str)
#define pfree(pointer) pgport_pfree(pointer)
#endif
+#endif
/*
2004-08-24 21:23:53 rurban@x-ray.at
* struct timeval is declared in sys/time.h, not in time.h
--- postgresql-8.0.0beta1/src/backend/postmaster/syslogger.c.orig 2004-08-06 20:17:31.000000000 +0100
+++ postgresql-8.0.0beta1/src/backend/postmaster/syslogger.c 2004-08-24 20:21:26.057851800 +0100
@@ -28,6 +28,7 @@
#include <signal.h>
#include <time.h>
#include <unistd.h>
+#include <sys/time.h>
#include <sys/stat.h>
#include "libpq/pqsignal.h"
--- postgresql-8.0.0beta1/src/timezone/pgtz.c.orig 2004-07-31 20:12:15.000000000 +0100
+++ postgresql-8.0.0beta1/src/timezone/pgtz.c 2004-08-24 19:56:30.686367800 +0100
@@ -97,9 +97,9 @@
return tm->tm_gmtoff;
#elif defined(HAVE_INT_TIMEZONE)
#ifdef HAVE_UNDERSCORE_TIMEZONE
- return -_timezone;
+ return -(int)_timezone;
#else
- return -timezone;
+ return -(int)timezone;
#endif
#else
#error No way to determine TZ? Can this happen?