dnl Process this file with autoconf to produce a configure script.
-dnl $Header: /cvsroot/pgsql/configure.in,v 1.218 2002/11/04 21:36:13 tgl Exp $
+dnl $Header: /cvsroot/pgsql/configure.in,v 1.267 2003/06/23 23:51:59 momjian Exp $
dnl
dnl Developers, please strive to achieve this order:
dnl
aix*) template=aix ;;
beos*) template=beos ;;
bsdi*) template=bsdi ;;
- cygwin*) template=win ;;
+ cygwin*) template=cygwin ;;
darwin*) template=darwin ;;
dgux*) template=dgux ;;
freebsd*) template=freebsd ;;
hpux*) template=hpux ;;
irix*) template=irix5 ;;
linux*) template=linux ;;
+ mingw*) template=win32 ;;
netbsd*) template=netbsd ;;
nextstep*) template=nextstep ;;
openbsd*) template=openbsd ;;
AC_MSG_CHECKING([whether to build with 64-bit integer date/time support])
PGAC_ARG_BOOL(enable, integer-datetimes, no, [ --enable-integer-datetimes enable 64-bit integer date/time support],
[AC_DEFINE([USE_INTEGER_DATETIMES], 1,
- [Set to 1 if you want integer date/time support (--enable-integer-datetimes)])])
+ [Define to 1 if you want 64-bit integer timestamp and interval support. (--enable-integer-datetimes)])])
AC_MSG_RESULT([$enable_integer_datetimes])
AC_MSG_CHECKING([whether to build with recode support])
PGAC_ARG_BOOL(enable, recode, no, [ --enable-recode enable single-byte recode support],
[AC_DEFINE([CYR_RECODE], 1,
- [Set to 1 if you want single-byte recode support (--enable-recode)])])
+ [Define to 1 if you want single-byte recode support. (--enable-recode)])])
AC_MSG_RESULT([$enable_recode])
[],
[WANTED_LANGUAGES=$enableval],
[AC_DEFINE(ENABLE_NLS, 1,
- [Define to 1 if you want National Language Support (--enable-nls)])])
+ [Define to 1 if you want National Language Support. (--enable-nls)])])
AC_MSG_RESULT([$enable_nls])
AC_SUBST(enable_nls)
AC_SUBST(WANTED_LANGUAGES)
AC_MSG_RESULT([$default_port])
# Need both of these because some places want an integer and some a string
AC_DEFINE_UNQUOTED(DEF_PGPORT, ${default_port},
-[The default TCP port number on which the server listens and to which
-clients will try to connect to. This can be overridden at run-time,
-but it's convenient if your clients have the right default compiled in.
-(--with-pgport=PORTNUM)])
+[Define to the default TCP port number on which the server listens and
+to which clients will try to connect to. This can be overridden at
+run-time, but it's convenient if your clients have the right default
+compiled in. (--with-pgport=PORTNUM)])
AC_DEFINE_UNQUOTED(DEF_PGPORT_STR, "${default_port}",
- [Default TCP port number as string constant])
+ [Define to the default TCP port number as string constant.])
AC_SUBST(default_port)
-#
-# Maximum number of allowed connections (--with-maxbackends), default 32
-#
-AC_MSG_CHECKING([for default soft limit on number of connections])
-PGAC_ARG_REQ(with, maxbackends, [ --with-maxbackends=N set default maximum number of connections [32]],
- [],
- [with_maxbackends=32])
-AC_MSG_RESULT([$with_maxbackends])
-AC_DEFINE_UNQUOTED([DEF_MAXBACKENDS], [$with_maxbackends],
- [The default soft limit on the number of concurrent connections, i.e., the default for the postmaster -N switch (--with-maxbackends)])
-
-
#
# Option to disable shared libraries
#
else
cc_string=$CC
fi
-AC_DEFINE_UNQUOTED(PG_VERSION_STR, ["PostgreSQL $PACKAGE_VERSION on $host, compiled by $cc_string"], [A canonical string containing the version number, platform, and C compiler])
+AC_DEFINE_UNQUOTED(PG_VERSION_STR,
+ ["PostgreSQL $PACKAGE_VERSION on $host, compiled by $cc_string"],
+ [A string containing the version number, platform, and C compiler])
#
#
PGAC_ARG_BOOL(enable, cassert, no, [ --enable-cassert enable assertion checks (for debugging)],
[AC_DEFINE([USE_ASSERT_CHECKING], 1,
- [Define to 1 to build with assertion checks])])
+ [Define to 1 to build with assertion checks. (--enable-cassert)])])
#
done
IFS=$ac_save_IFS
+#
+# Enable libpq to be thread-safe
+#
+AC_MSG_CHECKING([allow threaded libpq])
+PGAC_ARG_BOOL(with, threads, no, [ --with-threads allow libpq and ecpg to be thread-safe],
+ [AC_DEFINE([USE_THREADS], 1, [Define to 1 to build libpq and ecpg to be thread-safe. (--with-threads)])])
+
+AC_MSG_RESULT([$with_threads])
+AC_SUBST(with_threads)
#
# Tcl/Tk
[krb4_prefix=$withval],
[
AC_MSG_RESULT(yes)
- AC_DEFINE(KRB4, 1, [Define if you are building with Kerberos 4 support.])
+ AC_DEFINE(KRB4, 1, [Define to build with Kerberos 4 support. (--with-krb4)])
if test -d "$krb4_prefix/include"; then
INCLUDES="$INCLUDES -I$krb4_prefix/include"
[krb5_prefix=$withval],
[
AC_MSG_RESULT([yes])
- AC_DEFINE(KRB5, 1, [Define if you are building with Kerberos 5 support.])
+ AC_DEFINE(KRB5, 1, [Define to build with Kerberos 5 support. (--with-krb5)])
if test -d "$krb5_prefix/include"; then
INCLUDES="$INCLUDES -I$krb5_prefix/include"
[],
[with_krb_srvnam="postgres"])
AC_DEFINE_UNQUOTED([PG_KRB_SRVNAM], ["$with_krb_srvnam"],
- [The name of the PostgreSQL service principal in Kerberos])
+ [Define to the name of the PostgreSQL service principal in Kerberos. (--with-krb-srvnam=NAME)])
#
AC_MSG_CHECKING([whether to build with PAM support])
PGAC_ARG_BOOL(with, pam, no,
[ --with-pam build with PAM support],
- [AC_DEFINE([USE_PAM], 1, [Define to 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)
+#
+# Rendezvous
+#
+AC_MSG_CHECKING([whether to build with Rendezvous support])
+PGAC_ARG_BOOL(with, rendezvous, no,
+ [ --with-rendezvous build with Rendezvous support],
+ [AC_DEFINE([USE_RENDEZVOUS], 1, [Define to 1 to build with Rendezvous support. (--with-rendezvous)])])
+AC_MSG_RESULT([$with_rendezvous])
+AC_SUBST(with_rendezvous)
+
+
#
# OpenSSL
#
[openssl_prefix=$withval],
[
AC_MSG_RESULT([building with OpenSSL support])
- AC_DEFINE([USE_SSL], 1, [Define to build with (Open)SSL support])
+ AC_DEFINE([USE_SSL], 1, [Define to build with (Open)SSL support. (--with-openssl)])
if test -d "${openssl_prefix}/include" ; then
INCLUDES="$INCLUDES -I${openssl_prefix}/include"
[ --without-zlib do not use Zlib])
+#
+# Elf
+#
# Assume system is ELF if it predefines __ELF__ as 1,
# otherwise believe host_os based default.
fi])
AC_SUBST(ELF_SYS)
-
+#
+# Assignments
+#
CPPFLAGS="$CPPFLAGS $INCLUDES"
LDFLAGS="$LDFLAGS $LIBDIRS"
PGAC_CHECK_STRIP
AC_CHECK_PROGS(YACC, ['bison -y'])
+
+if test "$YACC"; then
+ if $YACC --version | sed q | $AWK '{ if ($4 < 1.875) exit 0; else exit 1;}'; then
+ AC_MSG_WARN([
+*** The installed version of Bison is too old. PostgreSQL needs
+*** Bison version 1.875 or later.])
+ fi
+fi
+
if test -z "$YACC"; then
AC_MSG_WARN([
*** Without Bison you will not be able to build PostgreSQL from CVS or
AC_CHECK_LIB(gen, main)
AC_CHECK_LIB(PW, main)
AC_CHECK_LIB(resolv, main)
+AC_CHECK_LIB(wsock32, main)
AC_SEARCH_LIBS(getopt_long, [getopt gnugetopt])
# QNX:
-AC_CHECK_LIB([[unix]], main)
+AC_CHECK_LIB(unix, main)
AC_SEARCH_LIBS(crypt, crypt)
# BeOS:
-AC_CHECK_LIB(bind, __inet_ntoa)
+AC_CHECK_LIB(bind, __inet_ntoa)
# Solaris:
AC_SEARCH_LIBS(fdatasync, [rt posix4])
# Cygwin:
fi
if test "$with_krb4" = yes ; then
- AC_CHECK_LIB(des, [des_encrypt], [], [AC_MSG_ERROR([library 'des' is required for Kerberos 4])])
- AC_CHECK_LIB(krb, [krb_sendauth], [], [AC_MSG_ERROR([library 'krb' is required for Kerberos 4])])
+ AC_CHECK_LIB(des, des_encrypt, [], [AC_MSG_ERROR([library 'des' is required for Kerberos 4])])
+ AC_CHECK_LIB(krb, krb_sendauth, [], [AC_MSG_ERROR([library 'krb' is required for Kerberos 4])])
+ AC_REPLACE_FUNCS([gethostname])
fi
if test "$with_krb5" = yes ; then
if test "$with_openssl" = yes ; then
dnl Order matters!
- 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])])
+ 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])])
fi
if test "$with_pam" = yes ; then
- AC_CHECK_LIB(pam, [pam_start], [], [AC_MSG_ERROR([library 'pam' is required for PAM])])
+ AC_CHECK_LIB(pam, pam_start, [], [AC_MSG_ERROR([library 'pam' is required for PAM])])
fi
##
dnl sys/socket.h is required by AC_FUNC_ACCEPT_ARGTYPES
-AC_CHECK_HEADERS([crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h pwd.h sys/ipc.h sys/pstat.h sys/select.h sys/sem.h sys/socket.h sys/shm.h sys/un.h termios.h kernel/OS.h kernel/image.h SupportDefs.h])
+AC_CHECK_HEADERS([crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h poll.h pwd.h sys/ipc.h sys/poll.h sys/pstat.h sys/select.h sys/sem.h sys/socket.h sys/shm.h sys/un.h termios.h utime.h kernel/OS.h kernel/image.h SupportDefs.h])
# At least on IRIX, cpp test for netinet/tcp.h will fail unless
# netinet/in.h is included first.
-AC_CHECK_HEADERS([netinet/in.h])
-AC_CHECK_HEADERS([netinet/tcp.h], [], [],
+AC_CHECK_HEADERS(netinet/in.h)
+AC_CHECK_HEADERS(netinet/tcp.h, [], [],
[AC_INCLUDES_DEFAULT
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
])
if test "$with_readline" = yes; then
- AC_CHECK_HEADERS([readline/readline.h], [],
- [AC_CHECK_HEADERS([readline.h], [],
+ AC_CHECK_HEADERS(readline/readline.h, [],
+ [AC_CHECK_HEADERS(editline/readline.h, [],
+ [AC_CHECK_HEADERS(readline.h, [],
[AC_MSG_ERROR([readline header not found
If you have readline already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
-Use --without-readline to disable readline support.])])])
- AC_CHECK_HEADERS([readline/history.h], [],
- [AC_CHECK_HEADERS([history.h], [],
+Use --without-readline to disable readline support.])])])])
+ AC_CHECK_HEADERS(readline/history.h, [],
+ [AC_CHECK_HEADERS(editline/history.h, [],
+ [AC_CHECK_HEADERS(history.h, [],
[AC_MSG_ERROR([history header not found
If you have readline already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
-Use --without-readline to disable readline support.])])])
+Use --without-readline to disable readline support.])])])])
fi
if test "$with_zlib" = yes; then
AC_CHECK_HEADER(zlib.h, [], [AC_MSG_ERROR([zlib header not found
-If you have readline already installed, see config.log for details on the
+If you have zlib already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.])])
fi
fi
if test "$with_openssl" = yes ; then
- AC_CHECK_HEADER([openssl/ssl.h], [], [AC_MSG_ERROR([header file <openssl/ssl.h> is required for OpenSSL])])
- AC_CHECK_HEADER([openssl/err.h], [], [AC_MSG_ERROR([header file <openssl/err.h> is required for OpenSSL])])
+ AC_CHECK_HEADER(openssl/ssl.h, [], [AC_MSG_ERROR([header file <openssl/ssl.h> is required for OpenSSL])])
+ AC_CHECK_HEADER(openssl/err.h, [], [AC_MSG_ERROR([header file <openssl/err.h> is required for OpenSSL])])
fi
if test "$with_pam" = yes ; then
- AC_CHECK_HEADER([security/pam_appl.h], [], [AC_MSG_ERROR([header file <security/pam_appl.h> is required for PAM])])
+ AC_CHECK_HEADERS(security/pam_appl.h, [],
+ [AC_CHECK_HEADERS(pam/pam_appl.h, [],
+ [AC_MSG_ERROR([header file <security/pam_appl.h> or <pam/pam_appl.h> is required for PAM.])])])
+fi
+
+if test "$with_rendezvous" = yes ; then
+ AC_CHECK_HEADER(DNSServiceDiscovery/DNSServiceDiscovery.h, [], [AC_MSG_ERROR([header file <DNSServiceDiscovery/DNSServiceDiscovery.h> is required for Rendezvous])])
fi
AC_C_STRINGIZE
PGAC_C_SIGNED
AC_C_VOLATILE
-AC_STRUCT_TIMEZONE
+PGAC_C_FUNCNAME_SUPPORT
+PGAC_STRUCT_TIMEZONE
PGAC_UNION_SEMUN
PGAC_STRUCT_SOCKADDR_UN
+PGAC_STRUCT_SOCKADDR_STORAGE
+PGAC_STRUCT_SOCKADDR_STORAGE_SS_FAMILY
+PGAC_STRUCT_ADDRINFO
AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [],
[#include <sys/param.h>
+#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ucred.h>])
if test "$with_krb5" = yes; then
# Check for differences between MIT and Heimdal (KTH) releases
- AC_CHECK_MEMBERS([krb5_ticket.enc_part2], [],
- [AC_CHECK_MEMBERS([krb5_ticket.client], [],
+ AC_CHECK_MEMBERS(krb5_ticket.enc_part2, [],
+ [AC_CHECK_MEMBERS(krb5_ticket.client, [],
[AC_MSG_ERROR([could not determine how to get client name from Kerberos 5 ticket])],
[#include <krb5.h>])],
[#include <krb5.h>])
- AC_CHECK_MEMBERS([krb5_error.text.data], [],
- [AC_CHECK_MEMBERS([krb5_error.e_data], [],
+ AC_CHECK_MEMBERS(krb5_error.text.data, [],
+ [AC_CHECK_MEMBERS(krb5_error.e_data, [],
[AC_MSG_ERROR([could not determine how to extract Kerberos 5 error messages])],
[#include <krb5.h>])],
[#include <krb5.h>])
# SunOS doesn't handle negative byte comparisons properly with +/- return
AC_FUNC_MEMCMP
-AC_CHECK_FUNCS([cbrt fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync])
+AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasync getpeereid memmove poll pstat setproctitle setsid sigprocmask symlink sysconf utime utimes waitpid])
AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>])
+AC_CHECK_TYPE([struct sockaddr_in6],
+ [AC_CHECK_FUNC(inet_ntop,
+ [AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if you have support for IPv6.])])],
+ [],
+[$ac_includes_default
+#include <netinet/in.h>])
+
AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS],
[AC_TRY_LINK(
[#include <machine/vmparam.h>
[pgac_cv_var_PS_STRINGS=yes],
[pgac_cv_var_PS_STRINGS=no])])
if test "$pgac_cv_var_PS_STRINGS" = yes ; then
- AC_DEFINE([HAVE_PS_STRINGS], [], [Define if the PS_STRINGS thing exists.])
+ AC_DEFINE([HAVE_PS_STRINGS], [], [Define to 1 if the PS_STRINGS thing exists.])
fi
[ac_cv_func_isinf=no])])
if test $ac_cv_func_isinf = yes ; then
- AC_DEFINE(HAVE_ISINF, 1, [Define to 1 if you have isinf()])
+ AC_DEFINE(HAVE_ISINF, 1, [Define to 1 if you have isinf().])
else
AC_LIBOBJ(isinf)
# Look for a way to implement a substitute for isinf()
AC_CHECK_FUNCS([fpclass fp_class fp_class_d class], [break])
fi
-AC_REPLACE_FUNCS([fseeko gethostname getrusage inet_aton random srandom strcasecmp strdup strerror strtol strtoul])
+AC_REPLACE_FUNCS([crypt fseeko getopt getopt_long getrusage inet_aton random rint srandom strcasecmp strdup strerror strtol strtoul])
+
+# system's version of getaddrinfo(), if any, may be used only if we found
+# a definition for struct addrinfo; see notes in src/include/getaddrinfo.h
+if test x"$ac_cv_type_struct_addrinfo" = xyes ; then
+ AC_REPLACE_FUNCS([getaddrinfo])
+else
+ AC_LIBOBJ(getaddrinfo)
+fi
# BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
# We override the previous test that said fseeko/ftello didn't exist
ac_cv_func_fseeko=yes
esac
-# Solaris has a very slow qsort in certain cases.
-case $host_os in
- solaris*) AC_LIBOBJ(qsort) ;;
+# Solaris has a very slow qsort in certain cases, so we replace it.
+case $host_os in solaris*)
+AC_LIBOBJ(qsort) ;;
esac
-# On HPUX 9, rint() is not in regular libm.a but in /lib/pa1.1/libm.a;
-# this hackery with HPUXMATHLIB allows us to cope.
-HPUXMATHLIB=""
-case $host_cpu in
- hppa1.1)
- if test -r /lib/pa1.1/libm.a ; then
- HPUXMATHLIB="-L /lib/pa1.1 -lm"
- fi ;;
+# Win32 can't to rename or unlink on an open file
+case $host_os in mingw*)
+AC_LIBOBJ(dirmod)
+AC_LIBOBJ(copydir)
+AC_LIBOBJ(gettimeofday) ;;
esac
-AC_SUBST(HPUXMATHLIB)
-
-AC_CHECK_FUNCS(rint, [],
- [AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT), , $HPUXMATHLIB)])
-
if test "$with_readline" = yes; then
PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER
AC_CHECK_FUNCS([rl_completion_matches rl_filename_completion_function])
+ AC_CHECK_FUNCS([replace_history_entry])
fi
AC_MSG_CHECKING(for finite)
AC_TRY_LINK([#include <math.h>],
[int dummy=finite(1.0);],
- [AC_DEFINE(HAVE_FINITE, 1, [Set to 1 if you have finite()])
+ [AC_DEFINE(HAVE_FINITE, 1, [Define to 1 if you have finite().])
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
dnl Cannot use AC_CHECK_FUNC because sigsetjmp may be a macro
dnl (especially on GNU libc)
-dnl See also comments in pg_config.h.
+dnl See also comments in c.h.
AC_MSG_CHECKING(for sigsetjmp)
AC_TRY_LINK([#include <setjmp.h>],
[sigjmp_buf x; sigsetjmp(x, 1);],
- [AC_DEFINE(HAVE_SIGSETJMP, 1, [Set to 1 if you have sigsetjmp()])
+ [AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have sigsetjmp().])
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
-AC_CHECK_FUNC(syslog,
- [AC_CHECK_HEADER(syslog.h,
- [AC_DEFINE(HAVE_SYSLOG, 1, [])],
- [])])
+AC_CHECK_FUNC(syslog,
+ [AC_CHECK_HEADER(syslog.h,
+ [AC_DEFINE(HAVE_SYSLOG, 1, [Define to 1 if you have the syslog interface.])])])
AC_CACHE_CHECK([for optreset], pgac_cv_var_int_optreset,
[AC_TRY_LINK([#include <unistd.h>],
[pgac_cv_var_int_optreset=yes],
[pgac_cv_var_int_optreset=no])])
if test x"$pgac_cv_var_int_optreset" = x"yes"; then
- AC_DEFINE(HAVE_INT_OPTRESET, 1, [Define to 1 if you have the global variable 'int optreset'])
+ AC_DEFINE(HAVE_INT_OPTRESET, 1, [Define to 1 if you have the global variable 'int optreset'.])
fi
AC_CHECK_FUNCS([strtoll strtoq], [break])
# Check for one of atexit() or on_exit()
AC_CHECK_FUNCS(atexit, [],
[AC_CHECK_FUNCS(on_exit, [],
- [AC_MSG_ERROR([neither atexit() nor on_exit() found])])])
+ [AC_MSG_ERROR([neither atexit() nor on_exit() found])])])
AC_FUNC_FSEEKO
+#
+# Pthreads
+#
+# For each platform, we need to know about any special compile and link
+# libraries, and whether the normal C function names are thread-safe.
+#
+NEED_REENTRANT_FUNC_NAMES=no
+if test "$with_threads" = yes; then
+AC_CHECK_HEADER(pthread.h, [], [AC_MSG_ERROR([pthread.h not found, required for --with-threads])])
+
+if test "$SUPPORTS_THREADS" != yes; then
+AC_MSG_ERROR([
+Cannot enable threads on your platform.
+Please report your platform threading info to the PostgreSQL mailing lists
+so it can be added to the next release. Report any compile flags, link flags,
+functions, or libraries required for threading support.
+])
+fi
+fi
+AC_SUBST(THREAD_CFLAGS)
+AC_SUBST(THREAD_LIBS)
+
+
+#
+# Check for re-entrant versions of certain functions
+#
+# Include special flags if threads are enabled _and_ if required for
+# threading on this platform. Some platforms have *_r functions but
+# their natively named funcs are threadsafe, and should be used instead.
+#
+# One trick here is that if the don't call AC_CHECK_FUNCS, the
+# functions are marked "not found", which is perfect.
+#
+if test "$NEED_REENTRANT_FUNC_NAMES" = yes ; then
+_CFLAGS="$CFLAGS"
+_LIB="$LIBS"
+CFLAGS="$CFLAGS $TREAD_CFLAGS"
+LIBS="$LIBS $THREAD_LIBS"
+AC_CHECK_FUNCS([strerror_r getpwuid_r gethostbyname_r])
+CFLAGS="$_CFLAGS"
+LIB="$_LIBS"
+fi
+
# This test makes sure that run tests work at all. Sometimes a shared
# library is found by the linker, but the runtime linker can't find it.
long long int foo = INT64CONST(0x1234567890123456);
],
[],
- [AC_DEFINE(HAVE_LL_CONSTANTS, 1, [Define if you have LL constants])],
+ [AC_DEFINE(HAVE_LL_CONSTANTS, 1, [Define to 1 if constants of type 'long long int' should have the suffix LL.])],
[])
fi
-dnl If we found "long int" is 64 bits, assume snprintf handles it.
-dnl If we found we need to use "long long int", better check.
-dnl We cope with snprintfs that use either %lld or %qd as the format.
-dnl If neither works, fall back to our own snprintf emulation (which we
-dnl know uses %lld).
+# If we found "long int" is 64 bits, assume snprintf handles it. If
+# we found we need to use "long long int", better check. We cope with
+# snprintfs that use either %lld, %qd, or %I64d as the format. If
+# neither works, fall back to our own snprintf emulation (which we
+# know uses %lld).
-if test x"$HAVE_LONG_LONG_INT_64" = xyes ; then
+if test "$HAVE_LONG_LONG_INT_64" = yes ; then
if test $pgac_need_repl_snprintf = no; then
- AC_MSG_CHECKING(whether snprintf handles 'long long int' as %lld)
- AC_TRY_RUN([#include <stdio.h>
-typedef long long int int64;
-#define INT64_FORMAT "%lld"
-
-int64 a = 20000001;
-int64 b = 40000005;
-
-int does_int64_snprintf_work()
-{
- int64 c;
- char buf[100];
-
- if (sizeof(int64) != 8)
- return 0; /* doesn't look like the right size */
-
- c = a * b;
- snprintf(buf, 100, INT64_FORMAT, c);
- if (strcmp(buf, "800000140000005") != 0)
- return 0; /* either multiply or snprintf is busted */
- return 1;
-}
-main() {
- exit(! does_int64_snprintf_work());
-}],
- [ AC_MSG_RESULT(yes)
- INT64_FORMAT='"%lld"'
- ],
- [ AC_MSG_RESULT(no)
- AC_MSG_CHECKING(whether snprintf handles 'long long int' as %qd)
- AC_TRY_RUN([#include <stdio.h>
-typedef long long int int64;
-#define INT64_FORMAT "%qd"
-
-int64 a = 20000001;
-int64 b = 40000005;
-
-int does_int64_snprintf_work()
-{
- int64 c;
- char buf[100];
-
- if (sizeof(int64) != 8)
- return 0; /* doesn't look like the right size */
-
- c = a * b;
- snprintf(buf, 100, INT64_FORMAT, c);
- if (strcmp(buf, "800000140000005") != 0)
- return 0; /* either multiply or snprintf is busted */
- return 1;
-}
-main() {
- exit(! does_int64_snprintf_work());
-}],
- [ AC_MSG_RESULT(yes)
- INT64_FORMAT='"%qd"'
- ],
- [ AC_MSG_RESULT(no)
- # Force usage of our own snprintf, since system snprintf is broken
- pgac_need_repl_snprintf=yes
- INT64_FORMAT='"%lld"'
- ],
- [ AC_MSG_RESULT([cannot test (not on host machine)])
- # Force usage of our own snprintf, since we cannot test foreign snprintf
- pgac_need_repl_snprintf=yes
- INT64_FORMAT='"%lld"'
- ]) ],
- [ AC_MSG_RESULT([cannot test (not on host machine)])
- # Force usage of our own snprintf, since we cannot test foreign snprintf
- pgac_need_repl_snprintf=yes
- INT64_FORMAT='"%lld"'
- ])
+ PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT
+ if test "$LONG_LONG_INT_FORMAT" = ""; then
+ # Force usage of our own snprintf, since system snprintf is broken
+ pgac_need_repl_snprintf=yes
+ LONG_LONG_INT_FORMAT='%lld'
+ fi
else
- # here if we previously decided we needed to use our own snprintf
- INT64_FORMAT='"%lld"'
+ # Here if we previously decided we needed to use our own snprintf
+ LONG_LONG_INT_FORMAT='%lld'
fi
+ INT64_FORMAT="\"$LONG_LONG_INT_FORMAT\""
else
# Here if we are not using 'long long int' at all
INT64_FORMAT='"%ld"'
fi
AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT,
- [Define this as the appropriate snprintf format for 64-bit ints, if any])
+ [Define to the appropriate snprintf format for 64-bit ints, if any.])
if test $pgac_need_repl_snprintf = yes; then
AC_LIBOBJ(snprintf)
fi
-dnl Need a #define for the size of Datum (unsigned long)
-
+# Need a #define for the size of Datum (unsigned long)
AC_CHECK_SIZEOF([unsigned long])
-AC_DEFINE_UNQUOTED(SIZEOF_DATUM, $ac_cv_sizeof_unsigned_long, [sizeof(Datum) -- don't change])
# Determine memory alignment requirements for the basic C data types.
if test x"$HAVE_LONG_LONG_INT_64" = xyes && test $MAX_ALIGNOF -lt $pgac_cv_alignof_long_long_int ; then
MAX_ALIGNOF="$pgac_cv_alignof_long_long_int"
fi
-AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any type])
+AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any C data type.])
# Some platforms predefine the types int8, int16, etc. Only check
# We also check for sig_atomic_t, which *should* be defined per ANSI
# C, but is missing on some old platforms.
-AC_CHECK_TYPES([sig_atomic_t], [], [], [#include <signal.h>])
+AC_CHECK_TYPES(sig_atomic_t, [], [], [#include <signal.h>])
PGAC_FUNC_POSIX_SIGNALS
# Select semaphore implementation type.
if test x"$USE_NAMED_POSIX_SEMAPHORES" = x"1" ; then
- AC_DEFINE(USE_NAMED_POSIX_SEMAPHORES, 1, [Define to select named POSIX semaphores])
+ AC_DEFINE(USE_NAMED_POSIX_SEMAPHORES, 1, [Define to select named POSIX semaphores.])
SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
else
if test x"$USE_UNNAMED_POSIX_SEMAPHORES" = x"1" ; then
- AC_DEFINE(USE_UNNAMED_POSIX_SEMAPHORES, 1, [Define to select unnamed POSIX semaphores])
+ AC_DEFINE(USE_UNNAMED_POSIX_SEMAPHORES, 1, [Define to select unnamed POSIX semaphores.])
SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
else
- AC_DEFINE(USE_SYSV_SEMAPHORES, 1, [Define to select SysV-style semaphores])
+ AC_DEFINE(USE_SYSV_SEMAPHORES, 1, [Define to select SysV-style semaphores.])
SEMA_IMPLEMENTATION="src/backend/port/sysv_sema.c"
fi
fi
# Select shared-memory implementation type.
-AC_DEFINE(USE_SYSV_SHARED_MEMORY, 1, [Define to select SysV-style shared memory])
+AC_DEFINE(USE_SYSV_SHARED_MEMORY, 1, [Define to select SysV-style shared memory.])
SHMEM_IMPLEMENTATION="src/backend/port/sysv_shmem.c"
if test "$with_tcl" = yes; then
PGAC_PATH_TCLCONFIGSH([$with_tclconfig])
PGAC_EVAL_TCLCONFIGSH([$TCL_CONFIG_SH],
- [TCL_LIB_FILE,TCL_LIBS,TCL_LIB_SPEC,TCL_SHARED_BUILD])
+ [TCL_INCLUDE_SPEC,TCL_LIB_FILE,TCL_LIBS,TCL_LIB_SPEC,TCL_SHARED_BUILD])
AC_SUBST(TCL_SHLIB_LD_LIBS)dnl don't want to double-evaluate that one
fi
#
PGAC_PROG_NSGMLS
PGAC_PROG_JADE
-PGAC_CHECK_DOCBOOK([3.1])
+PGAC_CHECK_DOCBOOK(3.1)
PGAC_PATH_DOCBOOK_STYLESHEETS
PGAC_PATH_COLLATEINDEX
AC_CHECK_PROGS(SGMLSPL, sgmlspl)