dnl Process this file with autoconf to produce a configure script.
-dnl $PostgreSQL: pgsql/configure.in,v 1.616 2009/12/11 02:21:21 momjian Exp $
+dnl $PostgreSQL: pgsql/configure.in,v 1.627 2010/05/13 22:07:42 tgl Exp $
dnl
dnl Developers, please strive to achieve this order:
dnl
dnl
m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
-AC_INIT([PostgreSQL], [8.5devel], [pgsql-bugs@postgresql.org])
+AC_INIT([PostgreSQL], [9.0beta1], [pgsql-bugs@postgresql.org])
m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.63], [], [m4_fatal([Autoconf version 2.63 is required.
Untested combinations of 'autoconf' and PostgreSQL versions are not
recommended. You can remove the check from 'configure.in' but it is then
your responsibility whether the result works or not.])])
-AC_COPYRIGHT([Copyright (c) 1996-2009, PostgreSQL Global Development Group])
+AC_COPYRIGHT([Copyright (c) 1996-2010, PostgreSQL Global Development Group])
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
AC_CONFIG_AUX_DIR(config)
AC_PREFIX_DEFAULT(/usr/local/pgsql)
PGAC_PATH_PERL
if test "$with_perl" = yes; then
+ if test -z "$PERL"; then
+ AC_MSG_ERROR([Perl not found])
+ fi
PGAC_CHECK_PERL_CONFIGS([archlibexp,privlibexp,useshrplib])
PGAC_CHECK_PERL_EMBED_LDFLAGS
fi
m4_defun([AC_PROG_CC_STDC], []) dnl We don't want that.
AC_C_BIGENDIAN
AC_C_CONST
-AC_C_INLINE
+PGAC_C_INLINE
AC_C_STRINGIZE
PGAC_C_SIGNED
AC_C_VOLATILE
PGAC_STRUCT_SOCKADDR_STORAGE
PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS
PGAC_STRUCT_ADDRINFO
+AC_TYPE_INTPTR_T
+AC_TYPE_UINTPTR_T
AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [],
[#include <sys/param.h>
[AC_MSG_RESULT(no)])
fi
+# Check largefile support. You might think this is a system service not a
+# compiler characteristic, but you'd be wrong. We must check this before
+# probing existence of related functions such as fseeko, since the largefile
+# defines can affect what is generated for that.
+AC_SYS_LARGEFILE
+
+# Check for largefile support (must be after AC_SYS_LARGEFILE)
+AC_CHECK_SIZEOF([off_t])
+
+# If we don't have largefile support, can't handle segsize >= 2GB.
+if test "$ac_cv_sizeof_off_t" -lt 8 -a "$segsize" != "1"; then
+ AC_MSG_ERROR([Large file support is not enabled. Segment size cannot be larger than 1GB.])
+fi
+
##
## Functions, global variables
AC_FUNC_ACCEPT_ARGTYPES
PGAC_FUNC_GETTIMEOFDAY_1ARG
-AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasync getifaddrs getpeereid getpeerucred getrlimit memmove poll pstat readlink setproctitle setsid sigprocmask symlink sysconf towlower utime utimes waitpid wcstombs])
+AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasync getifaddrs getpeereid getpeerucred getrlimit memmove poll pstat readlink scandir setproctitle setsid sigprocmask symlink sysconf towlower utime utimes waitpid wcstombs])
+
+AC_REPLACE_FUNCS(fseeko)
+case $host_os in
+ # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
+ # Mingw uses macros to access Win32 API calls
+ bsdi*|netbsd*|mingw*)
+ AC_DEFINE(HAVE_FSEEKO, 1, [Define to 1 because replacement version used.])
+ ac_cv_func_fseeko=yes;;
+ *)
+ AC_FUNC_FSEEKO;;
+esac
# posix_fadvise() is a no-op on Solaris, so don't incur function overhead
# by calling it, 2009-04-02
[AC_CHECK_FUNCS(on_exit, [],
[AC_MSG_ERROR([neither atexit() nor on_exit() found])])])
-AC_REPLACE_FUNCS(fseeko)
-case $host_os in
- # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
- # Mingw uses macros to access Win32 API calls
- bsdi*|netbsd*|mingw*)
- AC_DEFINE(HAVE_FSEEKO, 1, [Define to 1 because replacement version used.])
- ac_cv_func_fseeko=yes;;
- *)
- AC_FUNC_FSEEKO;;
-esac
-
#
# Pthreads
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
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
AC_LIBOBJ(snprintf)
fi
-# Need a #define for the size of Datum (unsigned long)
-AC_CHECK_SIZEOF([unsigned long])
-
-# And check size of void *, size_t (enables tweaks for > 32bit address space)
+# Check size of void *, size_t (enables tweaks for > 32bit address space)
AC_CHECK_SIZEOF([void *])
AC_CHECK_SIZEOF([size_t])
+AC_CHECK_SIZEOF([long])
# Decide whether float4 is passed by value: user-selectable, enabled by default
AC_MSG_CHECKING([whether to build with float4 passed by value])
# If sizeof(Datum) >= 8, this is user-selectable, enabled by default.
# If not, trying to select it is an error.
AC_MSG_CHECKING([whether to build with float8 passed by value])
-if test $ac_cv_sizeof_unsigned_long -ge 8 ; then
+if test $ac_cv_sizeof_void_p -ge 8 ; then
PGAC_ARG_BOOL(enable, float8-byval, yes, [disable float8 passed by value])
else
PGAC_ARG_BOOL(enable, float8-byval, no, [disable float8 passed by value])
AC_CHECK_TYPES(sig_atomic_t, [], [], [#include <signal.h>])
-# 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
fi
fi
-if test $ac_cv_func_fseeko = yes; then
-AC_SYS_LARGEFILE
-fi
-
-# Check for largefile support (must be after AC_SYS_LARGEFILE)
-AC_CHECK_SIZEOF([off_t])
-
-# If we don't have largefile support, can't handle segsize >= 2GB.
-if test "$ac_cv_sizeof_off_t" -lt 8 -a "$segsize" != "1"; then
- AC_MSG_ERROR([Large file support is not enabled. Segment size cannot be larger than 1GB.])
-fi
-
# SunOS doesn't handle negative byte comparisons properly with +/- return
AC_FUNC_MEMCMP