*** pgsql/configure.in 2000/10/14 23:56:57 1.59 --- pgsql/configure.in 2003/06/23 23:51:59 1.267 *************** *** 1,5 **** dnl Process this file with autoconf to produce a configure script. ! dnl Developers, please strive to achieve this order: dnl dnl 0. Initialization and options processing --- 1,6 ---- dnl Process this file with autoconf to produce a configure script. ! dnl $Header: /projects/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 dnl 0. Initialization and options processing *************** dnl 7. Functions, global variables *** 13,41 **** dnl 8. System services dnl dnl Read the Autoconf manual for details. ! dnl The GNU folks apparently haven't heard that some people don't use dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir". ! define([info], [doc]) ! define([infodir], [docdir]) ! AC_INIT(src/backend/access/common/heaptuple.c) ! undefine([infodir]) ! undefine([info]) ! ! AC_PREFIX_DEFAULT(/usr/local/pgsql) ! AC_CONFIG_HEADER(src/include/config.h) ! ! AC_PREREQ(2.13) AC_CONFIG_AUX_DIR(config) ! VERSION='7.1devel' ! AC_SUBST(VERSION) ! AC_DEFINE_UNQUOTED(PG_VERSION, "$VERSION") AC_CANONICAL_HOST - AC_SUBST(host) - AC_SUBST(host_cpu) - AC_SUBST(host_os) template= AC_MSG_CHECKING([which template to use]) --- 14,41 ---- dnl 8. System services dnl dnl Read the Autoconf manual for details. ! dnl ! m4_pattern_forbid(^PGAC_)dnl to catch undefined macros ! dnl dnl The GNU folks apparently haven't heard that some people don't use dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir". ! m4_define([info], [doc]) ! m4_define([infodir], [docdir]) ! AC_INIT([PostgreSQL], [7.4devel], [pgsql-bugs@postgresql.org]) ! m4_undefine([infodir]) ! m4_undefine([info]) ! AC_SUBST(docdir) ! ! AC_PREREQ(2.53) ! AC_COPYRIGHT([Copyright 2002 PostgreSQL Global Development Group]) ! AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c]) AC_CONFIG_AUX_DIR(config) + AC_PREFIX_DEFAULT(/usr/local/pgsql) + AC_SUBST(configure_args, [$ac_configure_args]) ! AC_DEFINE_UNQUOTED(PG_VERSION, "$PACKAGE_VERSION", [PostgreSQL version]) AC_CANONICAL_HOST template= AC_MSG_CHECKING([which template to use]) *************** PGAC_ARG_REQ(with, template, [], *** 47,53 **** *) if test -f "$srcdir/src/template/$with_template" ; then template=$withval else ! AC_MSG_ERROR([\`$withval' is not a valid template name. Use \`list' for a list.]) fi;; esac ], --- 47,53 ---- *) if test -f "$srcdir/src/template/$with_template" ; then template=$withval else ! AC_MSG_ERROR(['$withval' is not a valid template name. Use 'list' for a list.]) fi;; esac ], *************** case $host_os in *** 58,69 **** aix*) template=aix ;; beos*) template=beos ;; bsdi*) template=bsdi ;; ! cygwin*) template=win ;; dgux*) template=dgux ;; freebsd*) template=freebsd ;; hpux*) template=hpux ;; irix*) template=irix5 ;; linux*) template=linux ;; netbsd*) template=netbsd ;; nextstep*) template=nextstep ;; openbsd*) template=openbsd ;; --- 58,71 ---- aix*) template=aix ;; beos*) template=beos ;; bsdi*) template=bsdi ;; ! 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 ;; *************** nextstep*) template=nextstep ;; *** 77,98 **** univel) template=univel ;; esac ;; sysv4*) template=svr4 ;; ! sysv5uw*) template=unixware ;; ultrix*) template=ultrix4 ;; esac if test x"$template" = x"" ; then ! AC_MSG_ERROR([ ******************************************************************* PostgreSQL has apparently not been ported to your platform yet. To try a manual configuration, look into the src/template directory ! for a similar platform and use the \`--with-template=' option. Please also contact to see about ! rectifying this. Include the above \`checking host system type...' line. ******************************************************************* ! ]) fi ]) --- 79,100 ---- univel) template=univel ;; esac ;; sysv4*) template=svr4 ;; ! sysv5*) template=unixware ;; ultrix*) template=ultrix4 ;; esac if test x"$template" = x"" ; then ! AC_MSG_ERROR([[ ******************************************************************* PostgreSQL has apparently not been ported to your platform yet. To try a manual configuration, look into the src/template directory ! for a similar platform and use the '--with-template=' option. Please also contact to see about ! rectifying this. Include the above 'checking host system type...' line. ******************************************************************* ! ]]) fi ]) *************** AC_MSG_RESULT([$template]) *** 102,125 **** PORTNAME=$template AC_SUBST(PORTNAME) - AC_LINK_FILES([src/backend/port/dynloader/${template}.c], [src/backend/port/dynloader.c]) - AC_LINK_FILES([src/backend/port/dynloader/${template}.h], [src/include/dynloader.h]) - AC_LINK_FILES([src/include/port/${template}.h], [src/include/os.h]) - AC_LINK_FILES([src/makefiles/Makefile.${template}], [src/Makefile.port]) - # Pick right test-and-set (TAS) code. Most platforms have inline # assembler code in src/include/storage/s_lock.h, so we just use # a dummy file here. - tas_file=dummy.s - need_tas=no case $host in *-*-hpux*) need_tas=yes; tas_file=hpux.s ;; sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;; ! i?86-*-solaris) need_tas=yes; tas_file=solaris_i386.s ;; esac if test "$need_tas" = yes ; then - AC_LINK_FILES([src/backend/port/tas/${tas_file}], [src/backend/port/tas.s]) TAS=tas.o fi AC_SUBST(TAS) --- 104,121 ---- PORTNAME=$template AC_SUBST(PORTNAME) # Pick right test-and-set (TAS) code. Most platforms have inline # assembler code in src/include/storage/s_lock.h, so we just use # a dummy file here. case $host in *-*-hpux*) need_tas=yes; tas_file=hpux.s ;; sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;; ! i?86-*-solaris*) need_tas=yes; tas_file=solaris_i386.s ;; ! *) need_tas=no; tas_file=dummy.s ;; esac + AC_CONFIG_LINKS([src/backend/port/tas.s:src/backend/port/tas/${tas_file}]) if test "$need_tas" = yes ; then TAS=tas.o fi AC_SUBST(TAS) *************** PGAC_ARG_REQ(with, libs, [ --with- *** 148,202 **** # ! # Locale (--enable-locale) # ! AC_MSG_CHECKING([whether to build with locale support]) ! PGAC_ARG_BOOL(enable, locale, no, [ --enable-locale enable locale support], ! [AC_DEFINE([USE_LOCALE], 1, ! [Set to 1 if you want LOCALE support (--enable-locale)])]) ! AC_MSG_RESULT([$enable_locale]) - # # Character set recode (--enable-recode) # AC_MSG_CHECKING([whether to build with recode support]) ! PGAC_ARG_BOOL(enable, recode, no, [ --enable-recode enable character set recode support], [AC_DEFINE([CYR_RECODE], 1, ! [Set to 1 if you want cyrillic recode support (--enable-recode)])]) AC_MSG_RESULT([$enable_recode]) # ! # Multibyte support # ! MULTIBYTE= ! AC_MSG_CHECKING([whether to build with multibyte character support]) ! ! PGAC_ARG_OPTARG(enable, multibyte, [ --enable-multibyte enable multibyte character support], ! [MULTIBYTE=SQL_ASCII], ! [ ! case $enableval in ! SQL_ASCII|EUC_JP|EUC_CN|EUC_KR|EUC_TW|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5|KOI8|WIN|ALT) ! MULTIBYTE=$enableval;; ! *) ! AC_MSG_ERROR( ! [argument to --enable-multibyte must be one of: ! SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, ! UNICODE, MULE_INTERNAL, ! LATIN1, LATIN2, LATIN3, LATIN4, LATIN5, ! KOI8, WIN, ALT ! Or do not specify an argument to the option to use the default.]);; ! esac ! ], ! [ ! AC_DEFINE(MULTIBYTE, 1, [Set to 1 if you want to use multibyte characters (--enable-multibyte)]) ! AC_MSG_RESULT([yes, default $MULTIBYTE]) ! ], ! [AC_MSG_RESULT(no)]) ! ! AC_SUBST(MULTIBYTE) ! # # Default port number (--with-pgport), default 5432 --- 144,180 ---- # ! # 64-bit integer date/time storage (--enable-integer-datetimes) # ! 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, ! [Define to 1 if you want 64-bit integer timestamp and interval support. (--enable-integer-datetimes)])]) ! AC_MSG_RESULT([$enable_integer_datetimes]) # Character set recode (--enable-recode) # 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, ! [Define to 1 if you want single-byte recode support. (--enable-recode)])]) AC_MSG_RESULT([$enable_recode]) # ! # NLS # ! AC_MSG_CHECKING([whether NLS is wanted]) ! PGAC_ARG_OPTARG(enable, nls, ! [[ --enable-nls[=LANGUAGES] enable Native Language Support]], ! [], ! [WANTED_LANGUAGES=$enableval], ! [AC_DEFINE(ENABLE_NLS, 1, ! [Define to 1 if you want National Language Support. (--enable-nls)])]) ! AC_MSG_RESULT([$enable_nls]) ! AC_SUBST(enable_nls) ! AC_SUBST(WANTED_LANGUAGES) # # Default port number (--with-pgport), default 5432 *************** AC_MSG_CHECKING([for default port number *** 205,227 **** PGAC_ARG_REQ(with, pgport, [ --with-pgport=PORTNUM change default port number [5432]], [default_port=$withval], [default_port=5432]) - # Need both of these because backend wants an integer and frontend a string - AC_DEFINE_UNQUOTED(DEF_PGPORT, ${default_port}) - AC_DEFINE_UNQUOTED(DEF_PGPORT_STR, "${default_port}") AC_MSG_RESULT([$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)]) # # C compiler --- 183,220 ---- PGAC_ARG_REQ(with, pgport, [ --with-pgport=PORTNUM change default port number [5432]], [default_port=$withval], [default_port=5432]) 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}, + [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}", + [Define to the default TCP port number as string constant.]) + AC_SUBST(default_port) + # + # Option to disable shared libraries + # + PGAC_ARG_BOOL(enable, shared, yes, + [ --disable-shared do not build shared libraries]) + AC_SUBST(enable_shared) # ! # '-rpath'-like feature can be disabled # ! PGAC_ARG_BOOL(enable, rpath, yes, ! [ --disable-rpath do not embed shared library search path in executables]) ! AC_SUBST(enable_rpath) ! + # + # --enable-debug adds -g to compiler flags + # + PGAC_ARG_BOOL(enable, debug, no, + [ --enable-debug build with debugging symbols (-g)]) + AC_SUBST(enable_debug) # # C compiler *************** AC_DEFINE_UNQUOTED([DEF_MAXBACKENDS], [$ *** 232,263 **** # variable. PGAC_ARG_REQ(with, CC, [], [CC=$with_CC]) ! # On AIX, default compiler to xlc. ! if test "$template" = aix && test -z "$CC" ; then CC=xlc; fi ! AC_PROG_CC # Read the template . "$srcdir/src/template/$template" || exit ! echo "using CFLAGS=$CFLAGS" # Check if the compiler still works with the template settings ! AC_PROG_CC_WORKS ! AC_EXEEXT ! AC_PROG_CPP ! AC_PROG_GCC_TRADITIONAL AC_SUBST(GCC) - AC_SUBST(AROPT) - AC_SUBST(SHARED_LIB) - AC_SUBST(DLSUFFIX) - AC_SUBST(DL_LIB) # Create compiler version string if test x"$GCC" = x"yes" ; then ! cc_string="GCC `${CC} --version`" else cc_string=$CC fi ! AC_DEFINE_UNQUOTED(PG_VERSION_STR, ["PostgreSQL $VERSION on $host, compiled by $cc_string"], [A canonical string containing the version number, platform, and C compiler]) # --- 225,274 ---- # variable. PGAC_ARG_REQ(with, CC, [], [CC=$with_CC]) ! case $template in ! aix) pgac_cc_list="gcc xlc";; ! irix) pgac_cc_list="cc";; # no gcc ! *) pgac_cc_list="gcc cc";; ! esac ! AC_PROG_CC([$pgac_cc_list]) # Read the template . "$srcdir/src/template/$template" || exit ! ! if test "$ac_env_CFLAGS_set" = set; then ! CFLAGS=$ac_env_CFLAGS_value ! fi ! if test "$enable_debug" = yes && test "$ac_cv_prog_cc_g" = yes; then ! CFLAGS="$CFLAGS -g" ! fi ! AC_MSG_NOTICE([using CFLAGS=$CFLAGS]) ! # Check if the compiler still works with the template settings ! AC_MSG_CHECKING([whether the C compiler still works]) ! AC_TRY_LINK([], [return 0;], ! [AC_MSG_RESULT(yes)], ! [AC_MSG_RESULT(no) ! AC_MSG_ERROR([cannot proceed])]) ! ! # Defend against gcc -ffastmath ! if test "$GCC" = yes; then ! AC_TRY_COMPILE([], [@%:@ifdef __FAST_MATH__ ! choke me ! @%:@endif], [], [AC_MSG_ERROR([do not put -ffast-math in CFLAGS])]) ! fi + AC_PROG_CPP AC_SUBST(GCC) # Create compiler version string if test x"$GCC" = x"yes" ; then ! cc_string="GCC `${CC} --version | sed q`" else cc_string=$CC fi ! 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]) # *************** AC_SUBST(autodepend) *** 269,293 **** # - # --enable-debug adds -g to compiler flags - # - PGAC_ARG_BOOL(enable, debug, no, [ --enable-debug build with debugging symbols (-g)], - [CFLAGS="$CFLAGS -g"]) - - - # # Enable assert checks # 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])]) # # Include directories # ac_save_IFS=$IFS ! IFS=':' # SRCH_INC comes from the template file for dir in $with_includes $SRCH_INC; do if test -d "$dir"; then --- 280,297 ---- # # Enable assert checks # 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. (--enable-cassert)])]) # # Include directories # ac_save_IFS=$IFS ! IFS="${IFS}:" # SRCH_INC comes from the template file for dir in $with_includes $SRCH_INC; do if test -d "$dir"; then *************** AC_SUBST(INCLUDES) *** 304,320 **** # Library directories # ac_save_IFS=$IFS ! IFS=':' # LIBRARY_DIRS comes from command line, SRCH_LIB from template file. for dir in $LIBRARY_DIRS $SRCH_LIB; do if test -d "$dir"; then ! PGSQL_LDFLAGS="$PGSQL_LDFLAGS -L$dir" else AC_MSG_WARN([*** Library directory $dir does not exist.]) fi done IFS=$ac_save_IFS # # Tcl/Tk --- 308,333 ---- # Library directories # ac_save_IFS=$IFS ! IFS="${IFS}:" # LIBRARY_DIRS comes from command line, SRCH_LIB from template file. for dir in $LIBRARY_DIRS $SRCH_LIB; do if test -d "$dir"; then ! LIBDIRS="$LIBDIRS -L$dir" else AC_MSG_WARN([*** Library directory $dir does not exist.]) fi 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 *************** AC_MSG_RESULT([$with_tk]) *** 335,371 **** AC_SUBST([with_tk]) ! # We see if the path to the TCL/TK configuration scripts is specified. # This will override the use of tclsh to find the paths to search. PGAC_ARG_REQ(with, tclconfig, [ --with-tclconfig=DIR tclConfig.sh and tkConfig.sh are in DIR]) ! # We see if the path to the TK configuration scripts is specified. # This will override the use of tclsh to find the paths to search. PGAC_ARG_REQ(with, tkconfig, [ --with-tkconfig=DIR tkConfig.sh is in DIR]) - # ! # Optionally build Perl modules (Pg.pm and PL/Perl) # AC_MSG_CHECKING([whether to build Perl modules]) ! PGAC_ARG_BOOL(with, perl, no, [ --with-perl build Perl interface and PL/Perl]) AC_MSG_RESULT([$with_perl]) AC_SUBST(with_perl) - # # Optionally build Python interface module # AC_MSG_CHECKING([whether to build Python modules]) ! PGAC_ARG_BOOL(with, python, no, [ --with-python build Python interface module], ! [AC_MSG_RESULT(yes) ! PGAC_PROG_PYTHON ! PGAC_PATH_PYTHONDIR], ! [AC_MSG_RESULT(no)]) AC_SUBST(with_python) dnl A note on the Kerberos and OpenSSL options: dnl --- 348,395 ---- AC_SUBST([with_tk]) ! # We see if the path to the Tcl/Tk configuration scripts is specified. # This will override the use of tclsh to find the paths to search. PGAC_ARG_REQ(with, tclconfig, [ --with-tclconfig=DIR tclConfig.sh and tkConfig.sh are in DIR]) ! # We see if the path to the Tk configuration scripts is specified. # This will override the use of tclsh to find the paths to search. PGAC_ARG_REQ(with, tkconfig, [ --with-tkconfig=DIR tkConfig.sh is in DIR]) # ! # Optionally build Perl modules (PL/Perl) # AC_MSG_CHECKING([whether to build Perl modules]) ! PGAC_ARG_BOOL(with, perl, no, [ --with-perl build Perl modules (PL/Perl)]) AC_MSG_RESULT([$with_perl]) AC_SUBST(with_perl) # # Optionally build Python interface module # AC_MSG_CHECKING([whether to build Python modules]) ! PGAC_ARG_BOOL(with, python, no, [ --with-python build Python interface module]) ! AC_MSG_RESULT([$with_python]) AC_SUBST(with_python) + # + # Optionally build the Java/JDBC tools + # + AC_MSG_CHECKING([whether to build Java/JDBC tools]) + PGAC_ARG_BOOL(with, java, no, [ --with-java build JDBC interface and Java tools], + [AC_MSG_RESULT(yes) + PGAC_PATH_ANT + if test -z "$ANT"; then + AC_MSG_ERROR([Ant is required to build Java components + If you have Ant already installed, see config.log for details on the failure.]) + fi + if "$ANT" -version | sed q | egrep -v ' 1\.[[5-9]]| [[2-9]]\.' >/dev/null ; then + AC_MSG_ERROR([Ant version >= 1.5 is required to build Java components]) + fi], + [AC_MSG_RESULT(no)]) + AC_SUBST(with_java) dnl A note on the Kerberos and OpenSSL options: dnl *************** dnl is non-standard. *** 380,406 **** # # Kerberos 4 # ! PGAC_ARG_OPTARG(with, krb4, [ --with-krb4[=DIR] build with Kerberos 4 support [/usr/athena]], [krb4_prefix=/usr/athena], [krb4_prefix=$withval], [ ! AC_MSG_RESULT([building with Kerberos 4 support]) ! AC_DEFINE(KRB4, 1, [Define if you are building with Kerberos 4 support.]) ! if test -d "$krb4_prefix"; then ! if test -d "$krb4_prefix/include"; then ! INCLUDES="$INCLUDES -I$krb4_prefix/include" ! fi ! if test -d "$krb4_prefix/lib"; then ! krb_libdir="-L$krb4_prefix/lib" ! LIBS="$krb_libdir $LIBS" ! fi fi - # Test for these libraries is below - KRB_LIBS="$krb_libdir -lkrb -ldes" krb_srvtab="/etc/srvtab" ! ]) AC_SUBST(with_krb4) --- 404,427 ---- # # Kerberos 4 # ! AC_MSG_CHECKING([whether to build with Kerberos 4 support]) ! PGAC_ARG_OPTARG(with, krb4, [[ --with-krb4[=DIR] build with Kerberos 4 support [/usr/athena]]], [krb4_prefix=/usr/athena], [krb4_prefix=$withval], [ ! AC_MSG_RESULT(yes) ! 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" ! fi ! if test -d "$krb4_prefix/lib"; then ! LIBDIRS="$LIBDIRS -L$krb4_prefix/lib" fi krb_srvtab="/etc/srvtab" ! ], ! [AC_MSG_RESULT(no)]) AC_SUBST(with_krb4) *************** AC_SUBST(with_krb4) *** 408,435 **** # # Kerberos 5 # ! PGAC_ARG_OPTARG(with, krb5, [ --with-krb5[=DIR] build with Kerberos 5 support [/usr/athena]], [krb5_prefix=/usr/athena], [krb5_prefix=$withval], [ ! AC_MSG_RESULT([building with Kerberos 5 support]) ! AC_DEFINE(KRB5, 1, [Define if you are building with Kerberos 5 support.]) ! if test -d "$krb5_prefix"; then ! if test -d "$krb5_prefix/include"; then ! INCLUDES="$INCLUDES -I$krb5_prefix/include" ! fi ! if test -d "$krb5_prefix/lib"; then ! krb_libdir="-L$krb5_prefix/lib" ! LIBS="$krb_libdir $LIBS" ! fi fi - - # Test for these libraries is below - KRB_LIBS="$krb_libdir -lkrb5 -lcrypto -lcom_err" krb_srvtab="FILE:\$(sysconfdir)/krb5.keytab" ! ]) AC_SUBST(with_krb5) --- 429,452 ---- # # Kerberos 5 # ! AC_MSG_CHECKING([whether to build with Kerberos 5 support]) ! PGAC_ARG_OPTARG(with, krb5, [[ --with-krb5[=DIR] build with Kerberos 5 support [/usr/athena]]], [krb5_prefix=/usr/athena], [krb5_prefix=$withval], [ ! AC_MSG_RESULT([yes]) ! 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" ! fi ! if test -d "$krb5_prefix/lib"; then ! LIBDIRS="$LIBDIRS -L$krb5_prefix/lib" fi krb_srvtab="FILE:\$(sysconfdir)/krb5.keytab" ! ], ! [AC_MSG_RESULT(no)]) AC_SUBST(with_krb5) *************** if test "$with_krb4" = yes && test "$wit *** 440,523 **** fi AC_SUBST(krb_srvtab) - dnl Necessary for special libpq link - AC_SUBST(KRB_LIBS) # # Kerberos configuration parameters # PGAC_ARG_REQ(with, krb-srvnam, ! [ --with-krb-srvnam=NAME name of the PostgreSQL service principal in Kerberos [postgres]], [], [with_krb_srvnam="postgres"]) AC_DEFINE_UNQUOTED([PG_KRB_SRVNAM], ["$with_krb_srvnam"], ! [The name of the PostgreSQL service principal in Kerberos]) # # OpenSSL # PGAC_ARG_OPTARG(with, openssl, ! [ --with-openssl[=DIR] build with OpenSSL support [/usr/local/ssl]], [openssl_prefix=/usr/local/ssl], [openssl_prefix=$withval], [ AC_MSG_RESULT([building with OpenSSL support]) ! AC_DEFINE([USE_SSL], 1, [Define to build with (Open)SSL support]) if test -d "${openssl_prefix}/include" ; then INCLUDES="$INCLUDES -I${openssl_prefix}/include" fi if test -d "${openssl_prefix}/lib" ; then ! openssl_libdir="${openssl_prefix}/lib" ! LIBS="$LIBS -L${openssl_prefix}/lib" ! else ! openssl_libdir="${openssl_prefix}" ! LIBS="$LIBS -L${openssl_prefix}" fi ]) AC_SUBST(with_openssl) - # OpenSSL and Kerberos 5 both have a `crypto' library, so if you want to - # use both of them you'll have to figure it out yourself. - if test "$with_openssl" = yes && test "$with_krb5" = yes ; then - AC_MSG_ERROR([OpenSSL and Kerberos 5 support cannot be combined]) - fi - - # ! # Optionally enable the building of the ODBC driver # ! ! # Old option name ! if test "${with_odbc+set}" = set && test "${enable_odbc+set}" != set; then ! enable_odbc=$with_odbc ! fi ! ! AC_MSG_CHECKING([whether to build the ODBC driver]) ! PGAC_ARG_BOOL(enable, odbc, no, [ --enable-odbc build the ODBC driver package]) ! AC_MSG_RESULT([$enable_odbc]) ! AC_SUBST([enable_odbc]) ! ! # Allow for overriding the default location of the odbcinst.ini ! # file which is normally ${sysconfdir} (i.e., ${prefix}/etc). ! PGAC_ARG_REQ(with, odbcinst, ! [ --with-odbcinst=DIR default directory for odbcinst.ini [sysconfdir]], ! [odbcinst_ini_dir=$withval], ! [odbcinst_ini_dir="\${sysconfdir}"]) ! AC_SUBST([odbcinst_ini_dir]) # Assume system is ELF if it predefines __ELF__ as 1, # otherwise believe host_os based default. case $host_os in ! freebsd1*|freebsd2*) elf=yes;; esac AC_EGREP_CPP(yes, --- 457,541 ---- fi AC_SUBST(krb_srvtab) # # Kerberos configuration parameters # PGAC_ARG_REQ(with, krb-srvnam, ! [ --with-krb-srvnam=NAME name of the service principal in Kerberos [postgres]], [], [with_krb_srvnam="postgres"]) AC_DEFINE_UNQUOTED([PG_KRB_SRVNAM], ["$with_krb_srvnam"], ! [Define to the name of the PostgreSQL service principal in Kerberos. (--with-krb-srvnam=NAME)]) ! ! ! # ! # PAM ! # ! 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 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 # PGAC_ARG_OPTARG(with, openssl, ! [[ --with-openssl[=DIR] build with OpenSSL support [/usr/local/ssl]]], [openssl_prefix=/usr/local/ssl], [openssl_prefix=$withval], [ AC_MSG_RESULT([building with OpenSSL 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" fi if test -d "${openssl_prefix}/lib" ; then ! LIBDIRS="$LIBDIRS -L${openssl_prefix}/lib" fi ]) AC_SUBST(with_openssl) # ! # Readline # ! PGAC_ARG_BOOL(with, readline, yes, ! [ --without-readline do not use Readline]) ! # ! # Zlib ! # ! PGAC_ARG_BOOL(with, zlib, yes, ! [ --without-zlib do not use Zlib]) + # + # Elf + # # Assume system is ELF if it predefines __ELF__ as 1, # otherwise believe host_os based default. case $host_os in ! freebsd1*|freebsd2*) elf=no;; ! freebsd3*|freebsd4*) elf=yes;; esac AC_EGREP_CPP(yes, *************** else *** 533,601 **** fi]) AC_SUBST(ELF_SYS) - - # ! # Optionally build C++ code (i.e., libpq++) # - AC_MSG_CHECKING([whether to build C++ modules]) - PGAC_ARG_OPTARG(with, CXX, [ --with-CXX build C++ modules (libpq++)], - [], - [CXX=$withval], - [ - AC_MSG_RESULT(yes) - AC_PROG_CXX - AC_PROG_CXXCPP - PGAC_CLASS_STRING - PGAC_CXX_NAMESPACE_STD - ], - [AC_MSG_RESULT(no)]) - AC_SUBST(with_CXX) - CPPFLAGS="$CPPFLAGS $INCLUDES" ! LDFLAGS="$LDFLAGS $PGSQL_LDFLAGS" ! ! echo "using CPPFLAGS=$CPPFLAGS" ! echo "using LDFLAGS=$LDFLAGS" ! ! ! # Figure out how to invoke "install" and what install options to use. ! ! AC_PROG_INSTALL ! # When Autoconf chooses install-sh as install program it tries to generate ! # a relative path to it in each makefile where it subsitutes it. This clashes ! # with our Makefile.global concept. This workaround helps. ! case $INSTALL in ! *install-sh*) INSTALL='\${SHELL} \${top_srcdir}/config/install-sh -c';; ! esac ! ! # Fix Autoconf's brain-dead defaults for script installs. ! INSTALL_SCRIPT="\${INSTALL} -m 755" ! ! # HPUX wants shared libs to be mode 555. Add your platform's special ! # needs here if necessary. ! case $host_os in ! hpux*) INSTL_SHLIB_OPTS="-m 555" ;; ! *) INSTL_SHLIB_OPTS="-m 644" ;; ! esac ! INSTALL_SHLIB="\${INSTALL} $INSTL_SHLIB_OPTS" ! AC_SUBST(INSTALL_SHLIB) AC_PROG_AWK PGAC_PATH_FLEX AC_PROG_LN_S AC_PROG_RANLIB AC_CHECK_PROGS(LORDER, lorder) AC_PATH_PROG(TAR, tar) ! AC_CHECK_PROGS(PERL, perl) ! AC_PROG_YACC AC_SUBST(YFLAGS) ! if test "$with_tk" = yes; then ! AC_PATH_PROG(WISH, wish) ! test -z "$WISH" && AC_MSG_ERROR([\`wish' is required for Tk support]) fi --- 551,620 ---- fi]) AC_SUBST(ELF_SYS) # ! # Assignments # CPPFLAGS="$CPPFLAGS $INCLUDES" ! LDFLAGS="$LDFLAGS $LIBDIRS" ! AC_MSG_NOTICE([using CPPFLAGS=$CPPFLAGS]) ! AC_MSG_NOTICE([using LDFLAGS=$LDFLAGS]) AC_PROG_AWK PGAC_PATH_FLEX AC_PROG_LN_S + AC_PROG_LD + AC_SUBST(LD) + AC_SUBST(with_gnu_ld) + case $host_os in sysv5*) + AC_CACHE_CHECK([whether ld -R works], [pgac_cv_prog_ld_R], + [ + pgac_save_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -Wl,-R/usr/lib" + AC_TRY_LINK([], [], [pgac_cv_prog_ld_R=yes], [pgac_cv_prog_ld_R=no]) + LDFLAGS=$pgac_save_LDFLAGS + ]) + ld_R_works=$pgac_cv_prog_ld_R + AC_SUBST(ld_R_works) + esac AC_PROG_RANLIB AC_CHECK_PROGS(LORDER, lorder) AC_PATH_PROG(TAR, tar) ! 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 ! *** change any of the parser definition files. You can obtain Bison from ! *** a GNU mirror site. (If you are using the official distribution of ! *** PostgreSQL then you do not need to worry about this because the Bison ! *** output is pre-generated.) To use a different yacc program (possible, ! *** but not recommended), set the environment variable YACC before running ! *** 'configure'.]) ! fi AC_SUBST(YFLAGS) ! ! PGAC_PATH_PERL ! if test "$with_perl" = yes; then ! PGAC_CHECK_PERL_CONFIGS([archlibexp,privlibexp,useshrplib]) ! PGAC_CHECK_PERL_EMBED_LDFLAGS ! fi ! ! if test "$with_python" = yes; then ! PGAC_PATH_PYTHON ! PGAC_CHECK_PYTHON_MODULE_SETUP ! PGAC_CHECK_PYTHON_EMBED_SETUP fi *************** fi *** 603,614 **** ## Libraries ## - AC_CHECK_LIB(sfio, main) - AC_CHECK_LIB(ncurses, main, [], [AC_CHECK_LIB(curses, main)]) - AC_CHECK_LIB(termcap, main) - AC_CHECK_LIB(readline, readline) - AC_SEARCH_LIBS(using_history, history, [AC_DEFINE(HAVE_HISTORY_FUNCTIONS)]) - if test "$PORTNAME" != "aix" -a "$PORTNAME" != "alpha" then AC_CHECK_LIB(bsd, main) --- 622,627 ---- *************** fi *** 616,663 **** AC_CHECK_LIB(util, setproctitle) AC_CHECK_LIB(m, main) AC_CHECK_LIB(dl, main) - AC_CHECK_LIB(socket, main) AC_CHECK_LIB(nsl, main) AC_CHECK_LIB(ipc, main) AC_CHECK_LIB(IPC, main) AC_CHECK_LIB(lc, main) AC_CHECK_LIB(dld, main) - AC_CHECK_LIB(ln, main) AC_CHECK_LIB(ld, main) AC_CHECK_LIB(compat, main) AC_CHECK_LIB(BSD, main) AC_CHECK_LIB(gen, main) AC_CHECK_LIB(PW, main) AC_SEARCH_LIBS(crypt, crypt) ! AC_CHECK_LIB(z, inflate) ! AC_SEARCH_LIBS(inet_ntoa, bind) 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])]) fi if test "$with_krb5" = yes ; then ! AC_CHECK_LIB(com_err, main, [], [AC_MSG_ERROR([library \`com_err' is required for Kerberos 5])]) ! AC_CHECK_LIB(crypto, main, [], [AC_MSG_ERROR([library \`crypto' is required for Kerberos 5])]) ! AC_CHECK_LIB(krb5, main, [], [AC_MSG_ERROR([library \`krb5' is required for Kerberos 5])]) fi if test "$with_openssl" = yes ; then dnl Order matters! ! AC_CHECK_LIB(crypto, [CRYPTO_new_ex_data], [], [AC_MSG_ERROR([library \`ssl' is required for OpenSSL])]) ! AC_CHECK_LIB(ssl, [SSL_library_init], [], [AC_MSG_ERROR([library \`ssl' is required for OpenSSL])]) fi ## ## Header files ## - dnl sys/socket.h and sys/types.h are required by AC_FUNC_ACCEPT_ARGTYPES - AC_CHECK_HEADERS([crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h xti.h netinet/tcp.h pwd.h sys/ipc.h sys/pstat.h sys/select.h sys/sem.h sys/socket.h sys/shm.h sys/types.h sys/un.h termios.h kernel/OS.h kernel/image.h SupportDefs.h]) ! AC_CHECK_HEADERS([readline/readline.h readline.h], [break]) ! AC_CHECK_HEADERS([readline/history.h history.h], [break]) if test "$with_krb4" = yes ; then AC_CHECK_HEADER(krb.h, [], [AC_MSG_ERROR([header file is required for Kerberos 4])]) --- 629,742 ---- AC_CHECK_LIB(util, setproctitle) AC_CHECK_LIB(m, main) AC_CHECK_LIB(dl, main) AC_CHECK_LIB(nsl, main) + AC_CHECK_LIB(socket, main) AC_CHECK_LIB(ipc, main) AC_CHECK_LIB(IPC, main) AC_CHECK_LIB(lc, main) AC_CHECK_LIB(dld, main) AC_CHECK_LIB(ld, main) AC_CHECK_LIB(compat, main) AC_CHECK_LIB(BSD, main) 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_SEARCH_LIBS(crypt, crypt) ! # BeOS: ! AC_CHECK_LIB(bind, __inet_ntoa) ! # Solaris: ! AC_SEARCH_LIBS(fdatasync, [rt posix4]) ! # Cygwin: ! AC_CHECK_LIB(cygipc, shmget) ! ! if test "$with_readline" = yes; then ! PGAC_CHECK_READLINE ! if test x"$pgac_cv_check_readline" = x"no"; then ! AC_MSG_ERROR([readline library 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.]) ! fi ! fi ! ! if test "$with_zlib" = yes; then ! AC_CHECK_LIB(z, inflate, [], ! [AC_MSG_ERROR([zlib library not found ! 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 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_REPLACE_FUNCS([gethostname]) fi if test "$with_krb5" = yes ; then ! AC_SEARCH_LIBS(com_err, [krb5 'krb5 -ldes -lasn1 -lroken' com_err], [], ! [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5])]) ! AC_SEARCH_LIBS(krb5_encrypt, [krb5 'krb5 -ldes -lasn1 -lroken' crypto k5crypto], [], ! [AC_MSG_ERROR([could not find function 'krb5_encrypt' required for Kerberos 5])]) ! AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -ldes -lasn1 -lroken'], [], ! [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5])]) fi 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])]) ! fi ! ! if test "$with_pam" = yes ; then ! AC_CHECK_LIB(pam, pam_start, [], [AC_MSG_ERROR([library 'pam' is required for PAM])]) fi ## ## Header files ## ! 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 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_INCLUDES_DEFAULT ! #ifdef HAVE_NETINET_IN_H ! #include ! #endif ! ]) ! ! if test "$with_readline" = yes; then ! 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(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.])])])]) ! fi ! ! if test "$with_zlib" = yes; then ! AC_CHECK_HEADER(zlib.h, [], [AC_MSG_ERROR([zlib header not found ! 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 if test "$with_krb4" = yes ; then AC_CHECK_HEADER(krb.h, [], [AC_MSG_ERROR([header file is required for Kerberos 4])]) *************** if test "$with_krb5" = yes ; then *** 669,716 **** fi if test "$with_openssl" = yes ; then ! AC_CHECK_HEADER([openssl/ssl.h], [], [AC_MSG_ERROR([header file is required for OpenSSL])]) ! AC_CHECK_HEADER([openssl/err.h], [], [AC_MSG_ERROR([header file is required for OpenSSL])]) fi ## ## Types, structures, compiler characteristics ## AC_C_CONST AC_C_INLINE AC_C_STRINGIZE PGAC_C_SIGNED ! PGAC_C_VOLATILE ! AC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN ## ## Functions, global variables ## PGAC_VAR_INT_TIMEZONE AC_FUNC_ACCEPT_ARGTYPES PGAC_FUNC_GETTIMEOFDAY_1ARG ! AC_MSG_CHECKING([for fcntl(F_SETLK)]) ! case $host_os in ! linux*) AC_MSG_RESULT([broken on Linux]) ;; ! *) ! AC_TRY_LINK( ! [#include ! #include ! ], ! [struct flock lck; ! lck.l_whence = SEEK_SET; lck.l_start = lck.l_len = 0; ! lck.l_type = F_WRLCK; ! fcntl(0, F_SETLK, &lck);], ! [AC_DEFINE(HAVE_FCNTL_SETLK) AC_MSG_RESULT(yes)], ! [AC_MSG_RESULT(no)]) ! ;; ! esac ! AC_CHECK_FUNCS([fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen]) AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS], [AC_TRY_LINK( --- 748,837 ---- fi if test "$with_openssl" = yes ; then ! AC_CHECK_HEADER(openssl/ssl.h, [], [AC_MSG_ERROR([header file is required for OpenSSL])]) ! AC_CHECK_HEADER(openssl/err.h, [], [AC_MSG_ERROR([header file is required for OpenSSL])]) ! fi ! ! if test "$with_pam" = yes ; then ! AC_CHECK_HEADERS(security/pam_appl.h, [], ! [AC_CHECK_HEADERS(pam/pam_appl.h, [], ! [AC_MSG_ERROR([header file or is required for PAM.])])]) ! fi ! ! if test "$with_rendezvous" = yes ; then ! AC_CHECK_HEADER(DNSServiceDiscovery/DNSServiceDiscovery.h, [], [AC_MSG_ERROR([header file is required for Rendezvous])]) fi ## ## Types, structures, compiler characteristics ## + + m4_defun([AC_PROG_CC_STDC], []) dnl We don't want that. AC_C_CONST AC_C_INLINE AC_C_STRINGIZE PGAC_C_SIGNED ! AC_C_VOLATILE ! 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 + #include + #include + #include ]) + + if test "$with_zlib" = yes; then + # Check that defines z_streamp (versions before about 1.0.4 + # did not). While we could work around the lack of z_streamp, it + # seems unwise to encourage people to use such old zlib versions... + AC_CHECK_TYPE(z_streamp, [], [AC_MSG_ERROR([zlib version is too old + Use --without-zlib to disable zlib support.])], + [#include ]) + fi + + 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_MSG_ERROR([could not determine how to get client name from Kerberos 5 ticket])], + [#include ])], + [#include ]) + 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 ])], + [#include ]) + fi + ## ## Functions, global variables ## + PGAC_VAR_INT_TIMEZONE AC_FUNC_ACCEPT_ARGTYPES PGAC_FUNC_GETTIMEOFDAY_1ARG ! # SunOS doesn't handle negative byte comparisons properly with +/- return ! AC_FUNC_MEMCMP ! ! AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasync getpeereid memmove poll pstat setproctitle setsid sigprocmask symlink sysconf utime utimes waitpid]) ! AC_CHECK_DECLS(fdatasync, [], [], [#include ]) ! ! 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 ]) AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS], [AC_TRY_LINK( *************** PS_STRINGS->ps_argvstr = "foo";], *** 722,751 **** [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.]) fi ! dnl We use our snprintf.c emulation if either snprintf() or vsnprintf() ! dnl is missing. Yes, there are machines that have only one. ! dnl We may also decide to use snprintf.c if snprintf() is present but does ! dnl not have working "long long int" support -- see below. ! SNPRINTF='' ! AC_CHECK_FUNC(snprintf, ! AC_DEFINE(HAVE_SNPRINTF), ! SNPRINTF='snprintf.o') ! AC_CHECK_FUNC(vsnprintf, ! AC_DEFINE(HAVE_VSNPRINTF), ! SNPRINTF='snprintf.o') ! AC_SUBST(SNPRINTF) ! dnl Check whether declares snprintf() and vsnprintf(); if not, ! dnl include/c.h will provide declarations. Note this is a separate test ! dnl from whether the functions exist in the C library --- there are systems ! dnl that have the functions but don't bother to declare them :-( ! dnl Note: simple-minded pattern here will do wrong thing if stdio.h ! dnl declares vsnprintf() but not snprintf(). Hopefully there are no ! dnl systems that are *that* brain-damaged... ! AC_EGREP_HEADER(snprintf, stdio.h, AC_DEFINE(HAVE_SNPRINTF_DECL)) ! AC_EGREP_HEADER(vsnprintf, stdio.h, AC_DEFINE(HAVE_VSNPRINTF_DECL)) # do this one the hard way in case isinf() is a macro AC_CACHE_CHECK([for isinf], ac_cv_func_isinf, --- 843,869 ---- [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 to 1 if the PS_STRINGS thing exists.]) fi ! ! # We use our snprintf.c emulation if either snprintf() or vsnprintf() ! # is missing. Yes, there are machines that have only one. We may ! # also decide to use snprintf.c if snprintf() is present but does not ! # have working "long long int" support -- see below. ! ! pgac_need_repl_snprintf=no ! AC_CHECK_FUNCS(snprintf, [], pgac_need_repl_snprintf=yes) ! AC_CHECK_FUNCS(vsnprintf, [], pgac_need_repl_snprintf=yes) ! ! ! # Check whether declares snprintf() and vsnprintf(); if not, ! # include/c.h will provide declarations. Note this is a separate test ! # from whether the functions exist in the C library --- there are ! # systems that have the functions but don't bother to declare them :-( ! ! AC_CHECK_DECLS([snprintf, vsnprintf]) ! # do this one the hard way in case isinf() is a macro AC_CACHE_CHECK([for isinf], ac_cv_func_isinf, *************** AC_CACHE_CHECK([for isinf], ac_cv_func_i *** 757,888 **** [ac_cv_func_isinf=no])]) if test $ac_cv_func_isinf = yes ; then ! AC_DEFINE(HAVE_ISINF) ! ISINF= else ! ISINF='isinf.o' # Look for a way to implement a substitute for isinf() AC_CHECK_FUNCS([fpclass fp_class fp_class_d class], [break]) fi - AC_SUBST(ISINF) ! AC_CHECK_FUNC(getrusage, ! AC_DEFINE(HAVE_GETRUSAGE), ! GETRUSAGE='getrusage.o') ! AC_SUBST(GETRUSAGE) ! AC_CHECK_FUNC(srandom, ! AC_DEFINE(HAVE_SRANDOM), ! SRANDOM='srandom.o') ! AC_SUBST(SRANDOM) ! AC_CHECK_FUNC(gethostname, ! AC_DEFINE(HAVE_GETHOSTNAME), ! GETHOSTNAME='gethostname.o') ! AC_SUBST(GETHOSTNAME) ! AC_CHECK_FUNC(random, ! AC_DEFINE(HAVE_RANDOM), ! MISSING_RANDOM='random.o') ! AC_SUBST(MISSING_RANDOM) ! AC_CHECK_FUNC(inet_aton, ! AC_DEFINE(HAVE_INET_ATON), ! INET_ATON='inet_aton.o') ! AC_SUBST(INET_ATON) ! AC_CHECK_FUNC(strerror, ! AC_DEFINE(HAVE_STRERROR), ! [STRERROR='strerror.o' STRERROR2='../../backend/port/strerror.o']) ! AC_SUBST(STRERROR) ! AC_SUBST(STRERROR2) ! AC_CHECK_FUNC(strdup, ! AC_DEFINE(HAVE_STRDUP), ! STRDUP='../../utils/strdup.o') ! AC_SUBST(STRDUP) ! AC_CHECK_FUNC(strtol, ! AC_DEFINE(HAVE_STRTOL), ! STRTOL='strtol.o') ! AC_SUBST(STRTOL) ! AC_CHECK_FUNC(strtoul, ! AC_DEFINE(HAVE_STRTOUL), ! STRTOL='strtoul.o') ! AC_SUBST(STRTOUL) ! AC_CHECK_FUNC(strcasecmp, ! AC_DEFINE(HAVE_STRCASECMP), ! STRCASECMP='strcasecmp.o') ! AC_SUBST(STRCASECMP) ! AC_CHECK_FUNC(cbrt, ! AC_DEFINE(HAVE_CBRT), ! AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT))) ! ! # 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 [[ -r /lib/pa1.1/libm.a ]] ; then ! HPUXMATHLIB="-L /lib/pa1.1 -lm" ! fi ;; ! esac ! AC_SUBST(HPUXMATHLIB) ! AC_CHECK_FUNC(rint, ! AC_DEFINE(HAVE_RINT), ! AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT), , $HPUXMATHLIB)) ! # Readline versions < 2.1 don't have rl_completion_append_character ! AC_MSG_CHECKING([for rl_completion_append_character]) ! AC_TRY_LINK([#include ! #ifdef HAVE_READLINE_H ! # include ! #endif ! #ifdef HAVE_READLINE_READLINE_H ! # include ! #endif], ! [rl_completion_append_character = 'x';], ! [AC_MSG_RESULT(yes) ! AC_DEFINE(HAVE_RL_COMPLETION_APPEND_CHARACTER)], ! [AC_MSG_RESULT(no)]) ! # Check whether readline's filename_completion_function is declared. ! # Some prehistoric versions of readline, in particular those shipped ! # with earlier Cygwins don't have this declared, although it's in the ! # library. ! AC_MSG_CHECKING([whether filename_completion_function is declared]) ! if test "$ac_cv_header_readline_h" = yes; then ! _readline_header='readline.h' ! elif test "$ac_cv_header_readline_readline_h" = yes; then ! _readline_header='readline/readline.h' ! else ! _readline_header='xxx' fi - AC_EGREP_HEADER([filename_completion_function], [$_readline_header], - [AC_DEFINE(HAVE_FILENAME_COMPLETION_FUNCTION_DECL) - AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) - dnl Cannot use AC_CHECK_FUNC because finite may be a macro AC_MSG_CHECKING(for finite) AC_TRY_LINK([#include ], ! [int dummy=finite(1.0);], ! [AC_DEFINE(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 config.h. AC_MSG_CHECKING(for sigsetjmp) AC_TRY_LINK([#include ], ! [sigjmp_buf x; sigsetjmp(x, 1);], ! [AC_DEFINE(HAVE_SIGSETJMP) AC_MSG_RESULT(yes)], ! AC_MSG_RESULT(no)) ! PGAC_ARG_BOOL(enable, syslog, no, [ --enable-syslog enable logging to syslog], ! [AC_CHECK_FUNC(syslog, ! [AC_DEFINE([ENABLE_SYSLOG], 1, ! [Define to 1 if to enable the syslogging code])], ! [AC_MSG_ERROR([no syslog interface found])])]) dnl Check to see if we have a working 64-bit integer type. --- 875,1021 ---- [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().]) 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([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 + # OS tests are also done in include/c.h and port/fseeko.c + case $host_os in bsdi*|netbsd*) + ac_cv_func_fseeko=yes + esac ! # Solaris has a very slow qsort in certain cases, so we replace it. ! case $host_os in solaris*) ! AC_LIBOBJ(qsort) ;; ! esac + # 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 ! 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 dnl Cannot use AC_CHECK_FUNC because finite may be a macro AC_MSG_CHECKING(for finite) AC_TRY_LINK([#include ], ! [int dummy=finite(1.0);], ! [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 c.h. AC_MSG_CHECKING(for sigsetjmp) AC_TRY_LINK([#include ], ! [sigjmp_buf x; sigsetjmp(x, 1);], ! [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, [Define to 1 if you have the syslog interface.])])]) ! ! AC_CACHE_CHECK([for optreset], pgac_cv_var_int_optreset, ! [AC_TRY_LINK([#include ], ! [extern int optreset; optreset = 1;], ! [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'.]) ! fi ! ! AC_CHECK_FUNCS([strtoll strtoq], [break]) ! AC_CHECK_FUNCS([strtoull strtouq], [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_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. ! # This check should come after all modifications of compiler or linker ! # variables, and before any other run tests. ! AC_MSG_CHECKING([test program]) ! AC_TRY_RUN([int main() { return 0; }], ! [AC_MSG_RESULT(ok)], ! [AC_MSG_RESULT(failed) ! AC_MSG_ERROR([[ ! *** Could not execute a simple test program. This may be a problem ! *** related to locating shared libraries. Check the file 'config.log' ! *** for the exact reason.]])], ! [AC_MSG_RESULT([cross-compiling])]) dnl Check to see if we have a working 64-bit integer type. *************** if test x"$HAVE_LONG_INT_64" = x"no" ; t *** 905,1052 **** 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 [[ x"$HAVE_LONG_LONG_INT_64" = xyes ]] ; then ! if [[ x$SNPRINTF = x ]] ; then ! AC_MSG_CHECKING(whether snprintf handles 'long long int' as %lld) ! AC_TRY_RUN([#include ! 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 ! 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 ! SNPRINTF='snprintf.o' ! INT64_FORMAT='"%lld"' ! ], ! [ AC_MSG_RESULT(assuming not on target machine) ! # Force usage of our own snprintf, since we cannot test foreign snprintf ! SNPRINTF='snprintf.o' ! INT64_FORMAT='"%lld"' ! ]) ], ! [ AC_MSG_RESULT(assuming not on target machine) ! # Force usage of our own snprintf, since we cannot test foreign snprintf ! SNPRINTF='snprintf.o' ! INT64_FORMAT='"%lld"' ! ]) else ! # here if we previously decided we needed to use our own snprintf ! INT64_FORMAT='"%lld"' fi else # Here if we are not using 'long long int' at all INT64_FORMAT='"%ld"' fi ! AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT) ! dnl Determine memory alignment requirements for the basic C datatypes. PGAC_CHECK_ALIGNOF(short) PGAC_CHECK_ALIGNOF(int) PGAC_CHECK_ALIGNOF(long) ! if [[ x"$HAVE_LONG_LONG_INT_64" = xyes ]] ; then PGAC_CHECK_ALIGNOF(long long int) fi PGAC_CHECK_ALIGNOF(double) ! dnl Compute maximum alignment of any basic type. ! dnl We assume long's alignment is at least as strong as char, short, or int; ! dnl but we must check long long (if it exists) and double. ! ! if test $pgac_cv_alignof_double != 'sizeof(double)' ; then ! MAX_ALIGNOF=$pgac_cv_alignof_long ! if test $MAX_ALIGNOF -lt $pgac_cv_alignof_double ; then ! MAX_ALIGNOF=$pgac_cv_alignof_double ! fi ! 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 ! else ! dnl cross-compiling: assume that double's alignment is worst case ! MAX_ALIGNOF="$pgac_cv_alignof_double" fi ! AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any type]) PGAC_FUNC_POSIX_SIGNALS # Check for Tcl configuration script tclConfig.sh if test "$with_tcl" = yes; then PGAC_PATH_TCLCONFIGSH([$with_tclconfig]) fi # Check for Tk configuration script tkConfig.sh if test "$with_tk" = yes; then PGAC_PATH_TKCONFIGSH([$with_tkconfig $with_tclconfig]) fi ! # Finally ready to produce output files ... ! AC_OUTPUT( [ ! GNUmakefile ! src/GNUmakefile ! src/Makefile.global ! src/backend/port/Makefile ! ], ! [echo "timestamp file" > src/include/stamp-h] ! ) --- 1038,1216 ---- fi ! dnl If we need to use "long long int", figure out whether nnnLL notation works. ! ! if test x"$HAVE_LONG_LONG_INT_64" = xyes ; then ! AC_TRY_COMPILE([ ! #define INT64CONST(x) x##LL ! long long int foo = INT64CONST(0x1234567890123456); ! ], ! [], ! [AC_DEFINE(HAVE_LL_CONSTANTS, 1, [Define to 1 if constants of type 'long long int' should have the suffix LL.])], ! []) ! fi ! ! ! # 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 "$HAVE_LONG_LONG_INT_64" = yes ; then ! if test $pgac_need_repl_snprintf = no; then ! 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 ! 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 to the appropriate snprintf format for 64-bit ints, if any.]) ! ! 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]) ! # Determine memory alignment requirements for the basic C data types. PGAC_CHECK_ALIGNOF(short) PGAC_CHECK_ALIGNOF(int) PGAC_CHECK_ALIGNOF(long) ! if test x"$HAVE_LONG_LONG_INT_64" = x"yes" ; then PGAC_CHECK_ALIGNOF(long long int) fi PGAC_CHECK_ALIGNOF(double) ! # Compute maximum alignment of any basic type. ! # We assume long's alignment is at least as strong as char, short, or int; ! # but we must check long long (if it exists) and double. ! ! MAX_ALIGNOF=$pgac_cv_alignof_long ! if test $MAX_ALIGNOF -lt $pgac_cv_alignof_double ; then ! MAX_ALIGNOF=$pgac_cv_alignof_double ! fi ! 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 C data type.]) ! ! ! # Some platforms predefine the types int8, int16, etc. Only check ! # a (hopefully) representative subset. ! AC_CHECK_TYPES([int8, uint8, int64, uint64], [], [], ! [#include ! #ifdef HAVE_SUPPORTDEFS_H ! #include ! #endif]) ! ! # 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 ]) ! PGAC_FUNC_POSIX_SIGNALS + if test $ac_cv_func_fseeko = yes; then + AC_SYS_LARGEFILE + fi + + + # 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.]) + 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.]) + SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c" + else + 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.]) + SHMEM_IMPLEMENTATION="src/backend/port/sysv_shmem.c" + + + if test "$enable_nls" = yes ; then + PGAC_CHECK_GETTEXT + fi # Check for Tcl configuration script tclConfig.sh if test "$with_tcl" = yes; then PGAC_PATH_TCLCONFIGSH([$with_tclconfig]) + PGAC_EVAL_TCLCONFIGSH([$TCL_CONFIG_SH], + [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 # Check for Tk configuration script tkConfig.sh if test "$with_tk" = yes; then PGAC_PATH_TKCONFIGSH([$with_tkconfig $with_tclconfig]) + PGAC_EVAL_TCLCONFIGSH([$TK_CONFIG_SH], [TK_LIBS,TK_LIB_SPEC,TK_XINCLUDES]) fi ! # ! # Check for DocBook and tools ! # ! PGAC_PROG_NSGMLS ! PGAC_PROG_JADE ! PGAC_CHECK_DOCBOOK(3.1) ! PGAC_PATH_DOCBOOK_STYLESHEETS ! PGAC_PATH_COLLATEINDEX ! AC_CHECK_PROGS(SGMLSPL, sgmlspl) ! ! ! # prepare build tree if outside source tree ! # Note 1: test -ef might not exist, but it's more reliable than `pwd`. ! # Note 2: /bin/pwd might be better than shell's built-in at getting ! # a symlink-free name. ! if test "$no_create" != yes; then ! if ( test "$srcdir" -ef . ) >/dev/null 2>&1 || test "`cd $srcdir && /bin/pwd`" = "`/bin/pwd`"; then ! : ! else ! AC_SUBST(vpath_build, yes) ! _AS_ECHO_N([preparing build tree... ]) ! pgac_abs_top_srcdir=`cd "$srcdir" && pwd` ! $SHELL "$ac_aux_dir/prep_buildtree" "$pgac_abs_top_srcdir" "." \ ! || AC_MSG_ERROR(failed) ! AC_MSG_RESULT(done) ! fi ! fi ! ! AC_CONFIG_FILES([GNUmakefile src/Makefile.global]) ! ! AC_CONFIG_LINKS([ ! src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c ! src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION} ! src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION} ! src/include/dynloader.h:src/backend/port/dynloader/${template}.h ! src/include/pg_config_os.h:src/include/port/${template}.h ! src/Makefile.port:src/makefiles/Makefile.${template} ! ]) ! ! AC_CONFIG_HEADERS([src/include/pg_config.h], [ ! # Update timestamp for pg_config.h (see Makefile.global) ! echo >src/include/stamp-h ! ]) ! ! AC_OUTPUT