#include "utils/acl.h"
#endif
-TriggerData *CurrentTriggerData = NULL;
+DLLIMPORT TriggerData *CurrentTriggerData = NULL;
void RelationBuildTriggers(Relation relation);
void FreeTriggerDesc(Relation relation);
* spi.c
* Server Programming Interface
*
- * $Id: spi.c,v 1.34 1999/02/13 23:15:30 momjian Exp $
+ * $Id: spi.c,v 1.35 1999/03/09 13:39:00 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
static int _SPI_connected = -1;
static int _SPI_curid = -1;
-uint32 SPI_processed = 0;
-SPITupleTable *SPI_tuptable;
-int SPI_result;
+DLLIMPORT uint32 SPI_processed = 0;
+DLLIMPORT SPITupleTable *SPI_tuptable;
+DLLIMPORT int SPI_result;
static int _SPI_execute(char *src, int tcount, _SPI_plan *plan);
static int _SPI_pquery(QueryDesc *queryDesc, EState *state, int tcount);
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: c.h,v 1.51 1999/02/13 23:20:44 momjian Exp $
+ * $Id: c.h,v 1.52 1999/03/09 13:39:01 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
#include <errno.h>
#endif
+#ifdef __CYGWIN32__
+#include <errno.h>
+#endif
+
/* ----------------------------------------------------------------
* Section 1: bool, true, false, TRUE, FALSE
* ----------------------------------------------------------------
#define COPY_CMD "cp"
#define SEP_CHAR '/'
+/* defines for dynamic linking on Win32 platform */
+#ifdef __CYGWIN32__
+#if __GNUC__ && ! defined (__declspec)
+#error You need egcs 1.1 or newer for compiling!
+#endif
+#ifdef BUILDING_DLL
+#define DLLIMPORT __declspec (dllexport)
+#else /* not BUILDING_DLL */
+#define DLLIMPORT __declspec (dllimport)
+#endif
+#else /* not CYGWIN */
+#define DLLIMPORT
+#endif
+
/* Provide prototypes for routines not present in a particular machine's
* standard C library. It'd be better to put these in config.h, but
* in config.h we haven't yet included anything that defines size_t...
Trigger *tg_trigger;
} TriggerData;
-extern TriggerData *CurrentTriggerData;
+extern DLLIMPORT TriggerData *CurrentTriggerData;
#define TRIGGER_EVENT_INSERT 0x00000000
#define TRIGGER_EVENT_DELETE 0x00000001
#define SPI_OK_UPDATE 9
#define SPI_OK_CURSOR 10
-extern uint32 SPI_processed;
-extern SPITupleTable *SPI_tuptable;
-extern int SPI_result;
+extern DLLIMPORT uint32 SPI_processed;
+extern DLLIMPORT SPITupleTable *SPI_tuptable;
+extern DLLIMPORT int SPI_result;
extern int SPI_connect(void);
extern int SPI_finish(void);
$(DLLTOOL) --export-all --output-def $*.def $<
$(DLLWRAP) -o $@ --def $*.def $< $(SRCDIR)/utils/dllinit.o $(DLLLIBS)
rm -f $*.def
+
+curdir:=$(shell pwd)
+ifeq ($(findstring backend,$(curdir)), backend)
+CFLAGS+= -DBUILDING_DLL=1
+endif