*** pgsql/configure.in 2003/04/24 21:16:42 1.244 --- 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 $Header: /projects/cvsroot/pgsql/configure.in,v 1.244 2003/04/24 21:16:42 tgl Exp $ dnl dnl Developers, please strive to achieve this order: dnl --- 1,5 ---- 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 *************** case $host_os in *** 65,71 **** hpux*) template=hpux ;; irix*) template=irix5 ;; linux*) template=linux ;; ! mingw*) template=win ;; netbsd*) template=netbsd ;; nextstep*) template=nextstep ;; openbsd*) template=openbsd ;; --- 65,71 ---- hpux*) template=hpux ;; irix*) template=irix5 ;; linux*) template=linux ;; ! mingw*) template=win32 ;; netbsd*) template=netbsd ;; nextstep*) template=nextstep ;; openbsd*) template=openbsd ;; *************** for dir in $LIBRARY_DIRS $SRCH_LIB; do *** 319,324 **** --- 319,333 ---- 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_SUBST(with_pam) *** 473,478 **** --- 482,498 ---- # + # 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, *************** PGAC_ARG_BOOL(with, zlib, yes, *** 507,512 **** --- 527,535 ---- [ --without-zlib do not use Zlib]) + # + # Elf + # # Assume system is ELF if it predefines __ELF__ as 1, # otherwise believe host_os based default. *************** else *** 528,534 **** fi]) AC_SUBST(ELF_SYS) ! CPPFLAGS="$CPPFLAGS $INCLUDES" LDFLAGS="$LDFLAGS $LIBDIRS" --- 551,559 ---- fi]) AC_SUBST(ELF_SYS) ! # ! # Assignments ! # CPPFLAGS="$CPPFLAGS $INCLUDES" LDFLAGS="$LDFLAGS $LIBDIRS" *************** AC_PATH_PROG(TAR, tar) *** 559,564 **** --- 584,598 ---- 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(BSD, main) *** 607,612 **** --- 641,647 ---- 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) *************** fi *** 639,644 **** --- 674,680 ---- 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 *************** if test "$with_pam" = yes ; then *** 722,727 **** --- 758,767 ---- [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 *************** AC_C_STRINGIZE *** 734,746 **** PGAC_C_SIGNED AC_C_VOLATILE PGAC_C_FUNCNAME_SUPPORT ! AC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN PGAC_STRUCT_ADDRINFO AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [], [#include #include #include ]) --- 774,789 ---- 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 ]) *************** PGAC_FUNC_GETTIMEOFDAY_1ARG *** 779,785 **** # 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 sysconf utime utimes waitpid]) AC_CHECK_DECLS(fdatasync, [], [], [#include ]) --- 822,828 ---- # 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 ]) *************** else *** 839,845 **** AC_CHECK_FUNCS([fpclass fp_class fp_class_d class], [break]) fi ! AC_REPLACE_FUNCS([fseeko gethostname getopt_long getrusage inet_aton random 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 --- 882,888 ---- 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 *************** AC_LIBOBJ(qsort) ;; *** 862,886 **** esac # Win32 can't to rename or unlink on an open file ! case $host_os in win32*) ! AC_LIBOBJ(dirmod) ;; 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 ;; - 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]) --- 905,916 ---- 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(atexit, [], *** 929,934 **** --- 959,1007 ---- 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.