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.
/* 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...
*/
#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.
/* 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__ */
*/
#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
#endif
extern "C" {
-#include "postgres_fe.h"
#include "libpq-fe.h"
}