Needed more stuff from c.h.
authorMichael Meskes <meskes@postgresql.org>
Thu, 24 Aug 2006 10:48:21 +0000 (10:48 +0000)
committerMichael Meskes <meskes@postgresql.org>
Thu, 24 Aug 2006 10:48:21 +0000 (10:48 +0000)
src/interfaces/ecpg/include/Makefile
src/interfaces/ecpg/include/ecpg_config.h.in
src/interfaces/ecpg/include/pgtypes_interval.h

index 3017aa82d40eaa1cd6411af70ef72e8a7e9e61e1..4f2c472c59626620aa6e087f6c347c35c8f9e300 100644 (file)
@@ -7,6 +7,8 @@ override CPPFLAGS := -DFRONTEND -I$(top_srcdir)/src/interfaces/ecpg/include \
 
 informix_esql_dir = $(pkgincludedir)/informix/esql
 
+all: $(top_builddir)/src/interfaces/ecpg/include/ecpg_config.h 
+
 install: all installdirs install-headers
 
 .PHONY: install-headers
index b55169deb58e33908e29adbd02e1b25781958013..e363cae6656a8eb9b166a50b64a172de6f75116c 100644 (file)
@@ -1,3 +1,6 @@
+/* Define to 1 if the system has the type `int64'. */
+#undef HAVE_INT64
+
 /* Define to 1 if `long int' works and is 64 bits. */
 #undef HAVE_LONG_INT_64
 
index afde9894fd330605e07ae2ccf59d8e11533dbf1d..ad427c4887e2db5d7d17071a4ac1158bd4766934 100644 (file)
@@ -1,14 +1,39 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/pgtypes_interval.h,v 1.10 2006/08/23 12:01:52 meskes Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/pgtypes_interval.h,v 1.11 2006/08/24 10:48:21 meskes Exp $ */
 
 #ifndef PGTYPES_INTERVAL
 #define PGTYPES_INTERVAL
 
 #include <ecpg_config.h>
 
-#if defined(USE_INTEGER_DATETIMES) && (defined(HAVE_LONG_INT_64) || defined(HAVE_LONG_LONG_INT_64))
+#ifndef C_H
+
+#ifdef HAVE_LONG_INT_64
+#ifndef HAVE_INT64
+typedef long int int64;
+#endif
+#elif defined(HAVE_LONG_LONG_INT_64)
+/* We have working support for "long long int", use that */
+
+#ifndef HAVE_INT64
+typedef long long int int64;
+#endif
+#else                                                   /* not HAVE_LONG_INT_64 and not
+                                                                 * HAVE_LONG_LONG_INT_64 */
+
+/* Won't actually work, but fall back to long int so that code compiles */
+#ifndef HAVE_INT64
+typedef long int int64;
+#endif
+
+#define INT64_IS_BUSTED
+#endif   /* not HAVE_LONG_INT_64 and not HAVE_LONG_LONG_INT_64 */
+
+#if defined(USE_INTEGER_DATETIMES) && !defined(INT64_IS_BUSTED)
 #define HAVE_INT64_TIMESTAMP
 #endif
 
+#endif /* C_H */
+
 typedef struct
 {
 #ifdef HAVE_INT64_TIMESTAMP