dnl
m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
-AC_INIT([PostgreSQL], [9.2devel], [pgsql-bugs@postgresql.org])
+AC_INIT([PostgreSQL], [9.2beta1], [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-2011, PostgreSQL Global Development Group])
+AC_COPYRIGHT([Copyright (c) 1996-2012, PostgreSQL Global Development Group])
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
AC_CONFIG_AUX_DIR(config)
AC_PREFIX_DEFAULT(/usr/local/pgsql)
case $host_os in
aix*) template=aix ;;
- bsdi*) template=bsdi ;;
cygwin*) template=cygwin ;;
darwin*) template=darwin ;;
dragonfly*) template=netbsd ;;
- dgux*) template=dgux ;;
freebsd*) template=freebsd ;;
hpux*) template=hpux ;;
irix*) template=irix ;;
template=linux ;;
mingw*) template=win32 ;;
netbsd*) template=netbsd ;;
-nextstep*) template=nextstep ;;
openbsd*) template=openbsd ;;
osf*) template=osf ;;
sco*) template=sco ;;
solaris*) template=solaris ;;
- sunos*) template=sunos4 ;;
- sysv4.2*)
- case $host_vendor in
- univel) template=univel ;;
- esac ;;
- sysv4*) template=svr4 ;;
sysv5*) template=unixware ;;
- ultrix*) template=ultrix4 ;;
esac
if test x"$template" = x"" ; then
#
PGAC_ARG_BOOL(enable, profiling, no,
[build with profiling enabled ])
-AC_SUBST(enable_profiling)
#
# --enable-coverage enables generation of code coverage metrics with gcov
krb_srvtab="FILE:\$(sysconfdir)/krb5.keytab"
])
AC_MSG_RESULT([$with_gssapi])
-AC_SUBST(with_gssapi)
#
# Kerberos 5
krb_srvtab="FILE:\$(sysconfdir)/krb5.keytab"
])
AC_MSG_RESULT([$with_krb5])
-AC_SUBST(with_krb5)
AC_SUBST(krb_srvtab)
[build with PAM support],
[AC_DEFINE([USE_PAM], 1, [Define to 1 to build with PAM support. (--with-pam)])])
AC_MSG_RESULT([$with_pam])
-AC_SUBST(with_pam)
#
[build with LDAP support],
[AC_DEFINE([USE_LDAP], 1, [Define to 1 to build with LDAP support. (--with-ldap)])])
AC_MSG_RESULT([$with_ldap])
-AC_SUBST(with_ldap)
#
[build with Bonjour support],
[AC_DEFINE([USE_BONJOUR], 1, [Define to 1 to build with Bonjour support. (--with-bonjour)])])
AC_MSG_RESULT([$with_bonjour])
-AC_SUBST(with_bonjour)
#
AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
AC_CHECK_LIB(ssl, SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
else
- AC_CHECK_LIB(eay32, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'eay32' is required for OpenSSL])])
- AC_CHECK_LIB(ssleay32, SSL_library_init, [], [AC_MSG_ERROR([library 'ssleay32' is required for OpenSSL])])
+ AC_SEARCH_LIBS(CRYPTO_new_ex_data, eay32 crypto, [], [AC_MSG_ERROR([library 'eay32' or 'crypto' is required for OpenSSL])])
+ AC_SEARCH_LIBS(SSL_library_init, ssleay32 ssl, [], [AC_MSG_ERROR([library 'ssleay32' or 'ssl' is required for OpenSSL])])
fi
fi
##
dnl sys/socket.h is required by AC_FUNC_ACCEPT_ARGTYPES
-AC_CHECK_HEADERS([crypt.h dld.h fp_class.h getopt.h ieeefp.h ifaddrs.h langinfo.h poll.h pwd.h sys/ioctl.h sys/ipc.h sys/poll.h sys/pstat.h sys/resource.h sys/select.h sys/sem.h sys/shm.h sys/socket.h sys/sockio.h sys/tas.h sys/time.h sys/ucred.h sys/un.h termios.h ucred.h utime.h wchar.h wctype.h kernel/OS.h kernel/image.h SupportDefs.h])
+AC_CHECK_HEADERS([crypt.h dld.h fp_class.h getopt.h ieeefp.h ifaddrs.h langinfo.h poll.h pwd.h sys/ioctl.h sys/ipc.h sys/poll.h sys/pstat.h sys/resource.h sys/select.h sys/sem.h sys/shm.h sys/socket.h sys/sockio.h sys/tas.h sys/time.h sys/ucred.h sys/un.h termios.h ucred.h utime.h wchar.h wctype.h])
# On BSD, cpp test for net/if.h will fail unless sys/socket.h
# is included first.
AC_MSG_CHECKING(for krb5_free_unparsed_name)
AC_TRY_LINK([#include <krb5.h>],
[krb5_free_unparsed_name(NULL,NULL);],
- [AC_DEFINE(HAVE_KRB5_FREE_UNPARSED_NAME, 1, [Define to 1 if you have krb5_free_unparsed_name])
+ [AC_DEFINE(HAVE_KRB5_FREE_UNPARSED_NAME, 1, [Define to 1 if you have krb5_free_unparsed_name.])
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
fi
+# On PPC, check if assembler supports LWARX instruction's mutex hint bit
+case $host_cpu in
+ ppc*|powerpc*)
+ AC_MSG_CHECKING([whether assembler supports lwarx hint bit])
+ AC_TRY_COMPILE([],
+ [int a = 0; int *p = &a; int r;
+ __asm__ __volatile__ (" lwarx %0,0,%1,1\n" : "=&r"(r) : "r"(p));],
+ [pgac_cv_have_ppc_mutex_hint=yes],
+ [pgac_cv_have_ppc_mutex_hint=no])
+ AC_MSG_RESULT([$pgac_cv_have_ppc_mutex_hint])
+ if test x"$pgac_cv_have_ppc_mutex_hint" = xyes ; then
+ AC_DEFINE(HAVE_PPC_LWARX_MUTEX_HINT, 1, [Define to 1 if the assembler supports PPC's LWARX mutex hint bit.])
+ fi
+ ;;
+esac
+
# 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
AC_REPLACE_FUNCS(fseeko)
case $host_os in
- # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
+ # NetBSD uses a custom fseeko/ftello built on fsetpos/fgetpos
# Mingw uses macros to access Win32 API calls
- bsdi*|netbsd*|mingw*)
+ netbsd*|mingw*)
AC_DEFINE(HAVE_FSEEKO, 1, [Define to 1 because replacement version used.])
ac_cv_func_fseeko=yes;;
*)
pgac_save_LIBS="$LIBS"
LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
-AC_REPLACE_FUNCS([crypt getopt getrusage inet_aton random rint srandom strdup strerror strlcat strlcpy strtol strtoul])
+AC_REPLACE_FUNCS([crypt fls getopt getrusage inet_aton random rint srandom strerror strlcat strlcpy])
case $host_os in
AC_CHECK_FUNCS([strtoll strtoq], [break])
AC_CHECK_FUNCS([strtoull strtouq], [break])
+AC_CACHE_CHECK([for builtin locking functions], pgac_cv_gcc_int_atomics,
+[AC_TRY_LINK([],
+ [int lock = 0;
+ __sync_lock_test_and_set(&lock, 1);
+ __sync_lock_release(&lock);],
+ [pgac_cv_gcc_int_atomics="yes"],
+ [pgac_cv_gcc_int_atomics="no"])])
+if test x"$pgac_cv_gcc_int_atomics" = x"yes"; then
+ AC_DEFINE(HAVE_GCC_INT_ATOMICS, 1, [Define to 1 if you have __sync_lock_test_and_set(int *) and friends.])
+fi
+
#
# Pthreads
# Some platforms predefine the types int8, int16, etc. Only check
# a (hopefully) representative subset.
AC_CHECK_TYPES([int8, uint8, int64, uint64], [], [],
-[#include <stdio.h>
-#ifdef HAVE_SUPPORTDEFS_H
-#include <SupportDefs.h>
-#endif])
+[#include <stdio.h>])
# We also check for sig_atomic_t, which *should* be defined per ANSI
# C, but is missing on some old platforms.