summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2004-09-14 03:39:55 +0000
committerTom Lane2004-09-14 03:39:55 +0000
commitbf06825e31de28692f3976e729c2700274d9b578 (patch)
tree0823e8c9bfcdcb16a7b6074b61711df52096f254
parentfc564686a76ff045a4dba85a3b077de4fe4b64b6 (diff)
Win32 compile fixes for pgbench, pgcrypto, and tsearch.
Claudio Natoli
-rw-r--r--contrib/pgbench/pgbench.c14
-rw-r--r--contrib/pgcrypto/Makefile7
-rw-r--r--contrib/tsearch/gistidx.h3
-rw-r--r--contrib/tsearch/rewrite.c3
-rw-r--r--contrib/tsearch/txtidx.c26
5 files changed, 34 insertions, 19 deletions
diff --git a/contrib/pgbench/pgbench.c b/contrib/pgbench/pgbench.c
index cf1880f242d..4dbf0d3fcfa 100644
--- a/contrib/pgbench/pgbench.c
+++ b/contrib/pgbench/pgbench.c
@@ -1,5 +1,5 @@
/*
- * $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.32 2004/08/29 05:06:36 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.33 2004/09/14 03:39:23 tgl Exp $
*
* pgbench: a simple TPC-B like benchmark program for PostgreSQL
* written by Tatsuo Ishii
@@ -44,6 +44,10 @@
extern char *optarg;
extern int optind;
+#ifdef WIN32
+#undef select
+#endif
+
/********************************************************************
* some configurable parameters */
@@ -705,7 +709,7 @@ main(int argc, char **argv)
int nsocks; /* return from select(2) */
int maxsock; /* max socket number to be waited */
-#ifndef __CYGWIN__
+#if !(defined(__CYGWIN__) || defined(__MINGW32__))
struct rlimit rlim;
#endif
@@ -755,7 +759,7 @@ main(int argc, char **argv)
fprintf(stderr, "invalid number of clients: %d\n", nclients);
exit(1);
}
-#ifndef __CYGWIN__
+#if !(defined(__CYGWIN__) || defined(__MINGW32__))
#ifdef RLIMIT_NOFILE /* most platform uses RLIMIT_NOFILE */
if (getrlimit(RLIMIT_NOFILE, &rlim) == -1)
{
@@ -772,7 +776,7 @@ main(int argc, char **argv)
fprintf(stderr, "Use limit/ulimt to increase the limit before using pgbench.\n");
exit(1);
}
-#endif /* #ifndef __CYGWIN__ */
+#endif /* #if !(defined(__CYGWIN__) || defined(__MINGW32__)) */
break;
case 'C':
is_connect = 1;
@@ -935,7 +939,7 @@ main(int argc, char **argv)
/* set random seed */
gettimeofday(&tv1, 0);
- srand((uint) tv1.tv_usec);
+ srand((unsigned int) tv1.tv_usec);
/* get start up time */
gettimeofday(&tv1, 0);
diff --git a/contrib/pgcrypto/Makefile b/contrib/pgcrypto/Makefile
index 429c837925c..c210664e0d2 100644
--- a/contrib/pgcrypto/Makefile
+++ b/contrib/pgcrypto/Makefile
@@ -1,5 +1,5 @@
#
-# $PostgreSQL: pgsql/contrib/pgcrypto/Makefile,v 1.11 2004/08/20 20:13:06 momjian Exp $
+# $PostgreSQL: pgsql/contrib/pgcrypto/Makefile,v 1.12 2004/09/14 03:39:48 tgl Exp $
#
# either 'builtin', 'mhash', 'openssl'
@@ -82,6 +82,11 @@ include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
+# to make ws2_32.lib the last library (must occur after definition of PORTNAME)
+ifeq ($(PORTNAME),win32)
+SHLIB_LINK += -lwsock32 -lws2_32
+endif
+
rijndael.o: rijndael.tbl
diff --git a/contrib/tsearch/gistidx.h b/contrib/tsearch/gistidx.h
index db1b501e922..98e974456e9 100644
--- a/contrib/tsearch/gistidx.h
+++ b/contrib/tsearch/gistidx.h
@@ -33,6 +33,9 @@ typedef char *BITVECP;
#define GETBIT(x,i) ( (GETBYTE(x,i) >> ( (i) % BITBYTE )) & 0x01 )
#define abs(a) ((a) < (0) ? -(a) : (a))
+#ifdef min
+#undef min
+#endif
#define min(a,b) ((a) < (b) ? (a) : (b))
#define HASHVAL(val) (((unsigned int)(val)) % SIGLENBIT)
#define HASH(sign, val) SETBIT((sign), HASHVAL(val))
diff --git a/contrib/tsearch/rewrite.c b/contrib/tsearch/rewrite.c
index 9d4c885434c..3f6588e7810 100644
--- a/contrib/tsearch/rewrite.c
+++ b/contrib/tsearch/rewrite.c
@@ -174,6 +174,9 @@ clean_NOT(ITEM * ptr, int4 *len)
return plaintree(clean_NOT_intree(root), len);
}
+#ifdef V_UNKNOWN /* apparently Windows defines this :-( */
+#undef V_UNKNOWN
+#endif
#define V_UNKNOWN 0
#define V_TRUE 1
#define V_FALSE 2
diff --git a/contrib/tsearch/txtidx.c b/contrib/tsearch/txtidx.c
index 709a01abc18..deab0bcd1de 100644
--- a/contrib/tsearch/txtidx.c
+++ b/contrib/tsearch/txtidx.c
@@ -342,11 +342,11 @@ typedef struct
{
uint16 len;
char *word;
-} WORD;
+} WORD_T; /* WORD type defined on win32; we'll use WORD_T */
typedef struct
{
- WORD *words;
+ WORD_T *words;
int4 lenwords;
int4 curwords;
} PRSTEXT;
@@ -369,7 +369,7 @@ parsetext(PRSTEXT * prs, char *buf, int4 buflen)
if (prs->curwords == prs->lenwords)
{
prs->lenwords *= 2;
- prs->words = (WORD *) repalloc((void *) prs->words, prs->lenwords * sizeof(WORD));
+ prs->words = (WORD_T *) repalloc((void *) prs->words, prs->lenwords * sizeof(WORD_T));
}
if (tokenlen > 0xffff)
{
@@ -410,18 +410,18 @@ parsetext(PRSTEXT * prs, char *buf, int4 buflen)
static int
compareWORD(const void *a, const void *b)
{
- if (((WORD *) a)->len == ((WORD *) b)->len)
+ if (((WORD_T *) a)->len == ((WORD_T *) b)->len)
return strncmp(
- ((WORD *) a)->word,
- ((WORD *) b)->word,
- ((WORD *) b)->len);
- return (((WORD *) a)->len > ((WORD *) b)->len) ? 1 : -1;
+ ((WORD_T *) a)->word,
+ ((WORD_T *) b)->word,
+ ((WORD_T *) b)->len);
+ return (((WORD_T *) a)->len > ((WORD_T *) b)->len) ? 1 : -1;
}
static int
-uniqueWORD(WORD * a, int4 l)
+uniqueWORD(WORD_T * a, int4 l)
{
- WORD *ptr,
+ WORD_T *ptr,
*res;
if (l == 1)
@@ -430,7 +430,7 @@ uniqueWORD(WORD * a, int4 l)
res = a;
ptr = a + 1;
- qsort((void *) a, l, sizeof(WORD), compareWORD);
+ qsort((void *) a, l, sizeof(WORD_T), compareWORD);
while (ptr - a < l)
{
@@ -500,7 +500,7 @@ txt2txtidx(PG_FUNCTION_ARGS)
prs.lenwords = 32;
prs.curwords = 0;
- prs.words = (WORD *) palloc(sizeof(WORD) * prs.lenwords);
+ prs.words = (WORD_T *) palloc(sizeof(WORD_T) * prs.lenwords);
initmorph();
parsetext(&prs, VARDATA(in), VARSIZE(in) - VARHDRSZ);
@@ -564,7 +564,7 @@ tsearch(PG_FUNCTION_ARGS)
errmsg("could not find txtidx_field")));
prs.lenwords = 32;
prs.curwords = 0;
- prs.words = (WORD *) palloc(sizeof(WORD) * prs.lenwords);
+ prs.words = (WORD_T *) palloc(sizeof(WORD_T) * prs.lenwords);
initmorph();
/* find all words in indexable column */