Second try at fixing DLLIMPORT problem for pg_crc.h on Cygwin.
authorTom Lane <[email protected]>
Fri, 14 Nov 2008 20:21:07 +0000 (20:21 +0000)
committerTom Lane <[email protected]>
Fri, 14 Nov 2008 20:21:07 +0000 (20:21 +0000)
src/include/utils/pg_crc.h

index 11a23d7a14440594f12c7da9588d583b4182f899..8b28032af7ea1205e83a20dac4996c8330134a03 100644 (file)
 #ifndef PG_CRC_H
 #define PG_CRC_H
 
+/* ugly hack to let this be used in frontend and backend code on Cygwin */
+#ifdef FRONTEND
+#define CRCDLLIMPORT
+#else
+#define CRCDLLIMPORT PGDLLIMPORT
+#endif
 
 typedef uint32 pg_crc32;
 
@@ -48,7 +54,7 @@ do { \
 #define EQ_CRC32(c1,c2)  ((c1) == (c2))
 
 /* Constant table for CRC calculation */
-extern PGDLLIMPORT const uint32 pg_crc32_table[];
+extern CRCDLLIMPORT const uint32 pg_crc32_table[];
 
 
 #ifdef PROVIDE_64BIT_CRC
@@ -106,8 +112,8 @@ do { \
 #define EQ_CRC64(c1,c2)  ((c1).crc0 == (c2).crc0 && (c1).crc1 == (c2).crc1)
 
 /* Constant table for CRC calculation */
-extern PGDLLIMPORT const uint32 pg_crc64_table0[];
-extern PGDLLIMPORT const uint32 pg_crc64_table1[];
+extern CRCDLLIMPORT const uint32 pg_crc64_table0[];
+extern CRCDLLIMPORT const uint32 pg_crc64_table1[];
 #else                                                  /* int64 works */
 
 typedef struct pg_crc64
@@ -140,7 +146,7 @@ do { \
 #define EQ_CRC64(c1,c2)  ((c1).crc0 == (c2).crc0)
 
 /* Constant table for CRC calculation */
-extern PGDLLIMPORT const uint64 pg_crc64_table[];
+extern CRCDLLIMPORT const uint64 pg_crc64_table[];
 #endif   /* INT64_IS_BUSTED */
 #endif   /* PROVIDE_64BIT_CRC */