diff --git a/configure b/configure index 8510ca6cacb..d1f710de1b0 100755 --- a/configure +++ b/configure @@ -22385,6 +22385,7 @@ fi + { $as_echo "$as_me:$LINENO: checking whether long int is 64 bits" >&5 $as_echo_n "checking whether long int is 64 bits... " >&6; } if test "${pgac_cv_type_long_int_64+set}" = set; then @@ -22657,6 +22658,11 @@ _ACEOF fi + if test x"$HAVE_LONG_LONG_INT_64" = x"no" ; then + { { $as_echo "$as_me:$LINENO: error: Cannot find a working 64-bit integer type." >&5 +$as_echo "$as_me: error: Cannot find a working 64-bit integer type." >&2;} + { (exit 1); exit 1; }; } + fi fi @@ -26542,26 +26548,6 @@ fi -# If the user did not disable integer datetimes, check that -# there is a working 64-bit integral type to use. -if test x"$USE_INTEGER_DATETIMES" = x"yes" && - test x"$HAVE_LONG_INT_64" = x"no" && - test x"$HAVE_LONG_LONG_INT_64" = x"no" && - test x"$HAVE_INT64" = x"no" ; then - { { $as_echo "$as_me:$LINENO: error: -Integer-based datetime support requires a 64-bit integer type, -but no such type could be found. The --disable-integer-datetimes -configure option can be used to disable integer-based storage -of datetime values." >&5 -$as_echo "$as_me: error: -Integer-based datetime support requires a 64-bit integer type, -but no such type could be found. The --disable-integer-datetimes -configure option can be used to disable integer-based storage -of datetime values." >&2;} - { (exit 1); exit 1; }; } -fi - - if test "$PORTNAME" != "win32" then { $as_echo "$as_me:$LINENO: checking for POSIX signal interface" >&5 diff --git a/configure.in b/configure.in index 754a1646dcc..73c16ce9922 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $PostgreSQL: pgsql/configure.in,v 1.618 2010/01/02 16:57:32 momjian Exp $ +dnl $PostgreSQL: pgsql/configure.in,v 1.619 2010/01/07 00:25:04 tgl Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -1499,10 +1499,16 @@ dnl If there is no native snprintf() or it does not handle the 64-bit type, dnl we force our own version of snprintf() to be used instead. dnl Note this test must be run after our initial check for snprintf/vsnprintf. +dnl As of Postgres 8.4, we no longer support compilers without a working +dnl 64-bit type. But we still handle the case of snprintf being broken. + PGAC_TYPE_64BIT_INT([long int]) if test x"$HAVE_LONG_INT_64" = x"no" ; then PGAC_TYPE_64BIT_INT([long long int]) + if test x"$HAVE_LONG_LONG_INT_64" = x"no" ; then + AC_MSG_ERROR([Cannot find a working 64-bit integer type.]) + fi fi @@ -1546,10 +1552,10 @@ else fi AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT, - [Define to the appropriate snprintf format for 64-bit ints, if any.]) + [Define to the appropriate snprintf format for 64-bit ints.]) AC_DEFINE_UNQUOTED(UINT64_FORMAT, $UINT64_FORMAT, - [Define to the appropriate snprintf format for unsigned 64-bit ints, if any.]) + [Define to the appropriate snprintf format for unsigned 64-bit ints.]) # Now we have checked all the reasons to replace snprintf if test $pgac_need_repl_snprintf = yes; then @@ -1632,20 +1638,6 @@ AC_CHECK_TYPES([int8, uint8, int64, uint64], [], [], AC_CHECK_TYPES(sig_atomic_t, [], [], [#include ]) -# If the user did not disable integer datetimes, check that -# there is a working 64-bit integral type to use. -if test x"$USE_INTEGER_DATETIMES" = x"yes" && - test x"$HAVE_LONG_INT_64" = x"no" && - test x"$HAVE_LONG_LONG_INT_64" = x"no" && - test x"$HAVE_INT64" = x"no" ; then - AC_MSG_ERROR([ -Integer-based datetime support requires a 64-bit integer type, -but no such type could be found. The --disable-integer-datetimes -configure option can be used to disable integer-based storage -of datetime values.]) -fi - - if test "$PORTNAME" != "win32" then PGAC_FUNC_POSIX_SIGNALS diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index a3a80f053b9..69799a50424 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -647,7 +647,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_WINLDAP_H -/* Define to the appropriate snprintf format for 64-bit ints, if any. */ +/* Define to the appropriate snprintf format for 64-bit ints. */ #undef INT64_FORMAT /* Define to build with Kerberos 5 support. (--with-krb5) */ @@ -732,8 +732,7 @@ /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME -/* Define to the appropriate snprintf format for unsigned 64-bit ints, if any. - */ +/* Define to the appropriate snprintf format for unsigned 64-bit ints. */ #undef UINT64_FORMAT /* Define to 1 to build with assertion checks. (--enable-cassert) */