提交 04c8d4c6 编写于 作者: T Tom Lane

libpq++/pgconnection.h must not include postgres_fe.h, else it fails to

compile in client apps that use the standard installed header set.
To allow removing that include, move DLLIMPORT definitions out of c.h
and into the appropriate port-specific header files.
上级 c64f083c
......@@ -12,7 +12,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: c.h,v 1.113 2001/12/03 17:44:52 tgl Exp $
* $Id: c.h,v 1.114 2002/01/22 19:02:39 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -620,27 +620,8 @@ typedef NameData *Name;
/* These are for things that are one way on Unix and another on NT */
#define NULL_DEV "/dev/null"
/* defines for dynamic linking on Win32 platform */
#ifdef __CYGWIN__
#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
#elif defined(WIN32) && defined(_MSC_VER) /* not CYGWIN */
#if defined(_DLL)
#define DLLIMPORT __declspec (dllexport)
#else /* not _DLL */
#define DLLIMPORT __declspec (dllimport)
#endif
#else /* not CYGWIN, not MSVC */
#define DLLIMPORT
#endif
/* Provide prototypes for routines not present in a particular machine's
/*
* Provide prototypes for routines not present in a particular machine's
* standard C library. It'd be better to put these in pg_config.h, but
* in pg_config.h we haven't yet included anything that defines size_t...
*/
......
......@@ -8,7 +8,7 @@
* or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your
* changes will be overwritten the next time you run configure.
*
* $Id: pg_config.h.in,v 1.15 2001/12/03 17:44:52 tgl Exp $
* $Id: pg_config.h.in,v 1.16 2002/01/22 19:02:40 tgl Exp $
*/
#ifndef PG_CONFIG_H
......@@ -720,10 +720,19 @@ extern int fdatasync(int fildes);
#include "pg_config_os.h"
/*
* Provide default definitions for things that port-specific pg_config_os.h
* files can set, but typically don't.
*/
#ifndef DLLIMPORT
#define DLLIMPORT /* no special DLL markers on most ports */
#endif
/*
* The following is used as the arg list for signal handlers. Any ports
* that take something other than an int argument should override this in
* the port-specific pg_config_os.h file. Note that variable names are required
* their pg_config_os.h file. Note that variable names are required
* because it is used in both the prototypes as well as the definitions.
* Note also the long name. We expect that this won't collide with
* other names causing compiler warnings.
......
......@@ -29,4 +29,32 @@
/* use _snprintf instead of snprintf */
#define HAVE_SNPRINTF_DECL
#define snprintf _snprintf
/* defines for dynamic linking on Win32 platform */
#ifdef __CYGWIN__
#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
#elif defined(WIN32) && defined(_MSC_VER) /* not CYGWIN */
#if defined(_DLL)
#define DLLIMPORT __declspec (dllexport)
#else /* not _DLL */
#define DLLIMPORT __declspec (dllimport)
#endif
#else /* not CYGWIN, not MSVC */
#define DLLIMPORT
#endif
#endif /* pg_config_h_win32__ */
......@@ -15,5 +15,31 @@ typedef unsigned char slock_t;
*/
#if CYGWIN_VERSION_DLL_MAJOR < 1001
#undef HAVE_UNIX_SOCKETS
#endif
/* defines for dynamic linking on Win32 platform */
#ifdef __CYGWIN__
#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
#elif defined(WIN32) && defined(_MSC_VER) /* not CYGWIN */
#if defined(_DLL)
#define DLLIMPORT __declspec (dllexport)
#else /* not _DLL */
#define DLLIMPORT __declspec (dllimport)
#endif
#else /* not CYGWIN, not MSVC */
#define DLLIMPORT
#endif
#define USES_WINSOCK
#define NOFILE 100
/* defines for dynamic linking on Win32 platform */
#ifdef __CYGWIN__
#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
#elif defined(WIN32) && defined(_MSC_VER) /* not CYGWIN */
#if defined(_DLL)
#define DLLIMPORT __declspec (dllexport)
#else /* not _DLL */
#define DLLIMPORT __declspec (dllimport)
#endif
#else /* not CYGWIN, not MSVC */
#define DLLIMPORT
#endif
......@@ -13,7 +13,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: pgconnection.h,v 1.14 2001/09/30 22:30:37 tgl Exp $
* $Id: pgconnection.h,v 1.15 2002/01/22 19:02:40 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -38,7 +38,6 @@ extern "C" {
#endif
extern "C" {
#include "postgres_fe.h"
#include "libpq-fe.h"
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册