diff --git a/src/interfaces/ecpg/include/Makefile b/src/interfaces/ecpg/include/Makefile index 3017aa82d40..4f2c472c596 100644 --- a/src/interfaces/ecpg/include/Makefile +++ b/src/interfaces/ecpg/include/Makefile @@ -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 diff --git a/src/interfaces/ecpg/include/ecpg_config.h.in b/src/interfaces/ecpg/include/ecpg_config.h.in index b55169deb58..e363cae6656 100644 --- a/src/interfaces/ecpg/include/ecpg_config.h.in +++ b/src/interfaces/ecpg/include/ecpg_config.h.in @@ -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 diff --git a/src/interfaces/ecpg/include/pgtypes_interval.h b/src/interfaces/ecpg/include/pgtypes_interval.h index afde9894fd3..ad427c4887e 100644 --- a/src/interfaces/ecpg/include/pgtypes_interval.h +++ b/src/interfaces/ecpg/include/pgtypes_interval.h @@ -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 -#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