|
|
| version 1.267, 2003/06/23 23:51:59 | version 1.280.2.1, 2003/09/07 04:36:38 |
|---|---|
| Line 21 dnl The GNU folks apparently haven't hea | Line 21 dnl The GNU folks apparently haven't hea |
| dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir". | dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir". |
| m4_define([info], [doc]) | m4_define([info], [doc]) |
| m4_define([infodir], [docdir]) | m4_define([infodir], [docdir]) |
| AC_INIT([PostgreSQL], [7.4devel], [[email protected]]) | AC_INIT([PostgreSQL], [7.4beta2], [[email protected]]) |
| m4_undefine([infodir]) | m4_undefine([infodir]) |
| m4_undefine([info]) | m4_undefine([info]) |
| AC_SUBST(docdir) | AC_SUBST(docdir) |
| AC_PREREQ(2.53) | AC_PREREQ(2.53) |
| AC_COPYRIGHT([Copyright 2002 PostgreSQL Global Development Group]) | AC_COPYRIGHT([Copyright 2003 PostgreSQL Global Development Group]) |
| AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c]) | AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c]) |
| AC_CONFIG_AUX_DIR(config) | AC_CONFIG_AUX_DIR(config) |
| AC_PREFIX_DEFAULT(/usr/local/pgsql) | AC_PREFIX_DEFAULT(/usr/local/pgsql) |
| Line 52 PGAC_ARG_REQ(with, template, [], | Line 52 PGAC_ARG_REQ(with, template, [], |
| esac | esac |
| ], | ], |
| [ | [ |
| # --with-template not given | # --with-template not given |
| case $host_os in | case $host_os in |
| aix*) template=aix ;; | aix*) template=aix ;; |
| Line 108 AC_SUBST(PORTNAME) | Line 108 AC_SUBST(PORTNAME) |
| # assembler code in src/include/storage/s_lock.h, so we just use | # assembler code in src/include/storage/s_lock.h, so we just use |
| # a dummy file here. | # a dummy file here. |
| case $host in | case $host in |
| *-*-hpux*) need_tas=yes; tas_file=hpux.s ;; | hppa*-*-hpux*) need_tas=yes; tas_file=hpux_hppa.s ;; |
| sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;; | sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;; |
| i?86-*-solaris*) need_tas=yes; tas_file=solaris_i386.s ;; | i?86-*-solaris*) need_tas=yes; tas_file=solaris_i386.s ;; |
| *) need_tas=no; tas_file=dummy.s ;; | *) need_tas=no; tas_file=dummy.s ;; |
| Line 153 PGAC_ARG_BOOL(enable, integer-datetimes, | Line 153 PGAC_ARG_BOOL(enable, integer-datetimes, |
| AC_MSG_RESULT([$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 | # NLS |
| # | # |
| Line 187 AC_MSG_RESULT([$default_port]) | Line 178 AC_MSG_RESULT([$default_port]) |
| # Need both of these because some places want an integer and some a string | # Need both of these because some places want an integer and some a string |
| AC_DEFINE_UNQUOTED(DEF_PGPORT, ${default_port}, | AC_DEFINE_UNQUOTED(DEF_PGPORT, ${default_port}, |
| [Define to the default TCP port number on which the server listens and | [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 | to which clients will try to connect. This can be overridden at run-time, |
| run-time, but it's convenient if your clients have the right default | but it's convenient if your clients have the right default compiled in. |
| compiled in. (--with-pgport=PORTNUM)]) | (--with-pgport=PORTNUM)]) |
| AC_DEFINE_UNQUOTED(DEF_PGPORT_STR, "${default_port}", | AC_DEFINE_UNQUOTED(DEF_PGPORT_STR, "${default_port}", |
| [Define to the default TCP port number as string constant.]) | [Define to the default TCP port number as a string constant.]) |
| AC_SUBST(default_port) | AC_SUBST(default_port) |
| # | # |
| Line 232 case $template in | Line 223 case $template in |
| esac | esac |
| AC_PROG_CC([$pgac_cc_list]) | AC_PROG_CC([$pgac_cc_list]) |
| # | |
| # Read the template | # Read the template |
| # | |
| . "$srcdir/src/template/$template" || exit | . "$srcdir/src/template/$template" || exit |
| # adjust CFLAGS per template | |
| if test "$ac_env_CFLAGS_set" = set; then | if test "$ac_env_CFLAGS_set" = set; then |
| CFLAGS=$ac_env_CFLAGS_value | CFLAGS=$ac_env_CFLAGS_value |
| fi | fi |
| Line 243 if test "$enable_debug" = yes && test "$ | Line 238 if test "$enable_debug" = yes && test "$ |
| fi | fi |
| AC_MSG_NOTICE([using CFLAGS=$CFLAGS]) | AC_MSG_NOTICE([using CFLAGS=$CFLAGS]) |
| # We already have this in Makefile.win32, but configure needs it too | |
| if test "$PORTNAME" = "win32" | |
| then | |
| CPPFLAGS="$CPPFLAGS -Isrc/include/port/win32" | |
| fi | |
| # Check if the compiler still works with the template settings | # Check if the compiler still works with the template settings |
| AC_MSG_CHECKING([whether the C compiler still works]) | AC_MSG_CHECKING([whether the C compiler still works]) |
| AC_TRY_LINK([], [return 0;], | AC_TRY_LINK([], [return 0;], |
| Line 320 done | Line 321 done |
| IFS=$ac_save_IFS | IFS=$ac_save_IFS |
| # | # |
| # Enable libpq to be thread-safe | # Enable thread-safe client libraries |
| # | # |
| AC_MSG_CHECKING([allow threaded libpq]) | AC_MSG_CHECKING([allow thread-safe client libraries]) |
| PGAC_ARG_BOOL(with, threads, no, [ --with-threads allow libpq and ecpg to be thread-safe], | PGAC_ARG_BOOL(enable, thread-safety, no, [ --enable-thread-safety make client libraries thread-safe], |
| [AC_DEFINE([USE_THREADS], 1, [Define to 1 to build libpq and ecpg to be thread-safe. (--with-threads)])]) | [AC_DEFINE([USE_THREADS], 1, |
| [Define to 1 to build client libraries as thread-safe code. (--enable-thread-safety)])]) | |
| AC_MSG_RESULT([$with_threads]) | AC_MSG_RESULT([$enable_thread_safety]) |
| AC_SUBST(with_threads) | AC_SUBST(enable_thread_safety) |
| # | # |
| # Tcl/Tk | # Tcl/Tk |
| Line 367 AC_MSG_RESULT([$with_perl]) | Line 368 AC_MSG_RESULT([$with_perl]) |
| AC_SUBST(with_perl) | AC_SUBST(with_perl) |
| # | # |
| # Optionally build Python interface module | # Optionally build Python modules (PL/Python) |
| # | # |
| AC_MSG_CHECKING([whether to build Python modules]) | AC_MSG_CHECKING([whether to build Python modules]) |
| PGAC_ARG_BOOL(with, python, no, [ --with-python build Python interface module]) | PGAC_ARG_BOOL(with, python, no, [ --with-python build Python modules (PL/Python)]) |
| AC_MSG_RESULT([$with_python]) | AC_MSG_RESULT([$with_python]) |
| AC_SUBST(with_python) | AC_SUBST(with_python) |
| Line 613 fi | Line 614 fi |
| if test "$with_python" = yes; then | if test "$with_python" = yes; then |
| PGAC_PATH_PYTHON | PGAC_PATH_PYTHON |
| PGAC_CHECK_PYTHON_MODULE_SETUP | |
| PGAC_CHECK_PYTHON_EMBED_SETUP | PGAC_CHECK_PYTHON_EMBED_SETUP |
| fi | fi |
| Line 641 AC_CHECK_LIB(BSD, main) | Line 641 AC_CHECK_LIB(BSD, main) |
| AC_CHECK_LIB(gen, main) | AC_CHECK_LIB(gen, main) |
| AC_CHECK_LIB(PW, main) | AC_CHECK_LIB(PW, main) |
| AC_CHECK_LIB(resolv, main) | AC_CHECK_LIB(resolv, main) |
| AC_CHECK_LIB(wsock32, main) | |
| AC_SEARCH_LIBS(getopt_long, [getopt gnugetopt]) | AC_SEARCH_LIBS(getopt_long, [getopt gnugetopt]) |
| # QNX: | # QNX: |
| AC_CHECK_LIB(unix, main) | AC_CHECK_LIB(unix, main) |
| AC_SEARCH_LIBS(crypt, crypt) | AC_SEARCH_LIBS(crypt, crypt) |
| # BeOS: | # BeOS: |
| AC_CHECK_LIB(bind, __inet_ntoa) | if test "$PORTNAME" = "beos" |
| then | |
| AC_CHECK_LIB(bind, __inet_ntoa) | |
| fi | |
| # Solaris: | # Solaris: |
| AC_SEARCH_LIBS(fdatasync, [rt posix4]) | AC_SEARCH_LIBS(fdatasync, [rt posix4]) |
| # Cygwin: | # Cygwin: |
| AC_CHECK_LIB(cygipc, shmget) | AC_CHECK_LIB(cygipc, shmget) |
| # WIN32: | |
| if test "$PORTNAME" = "win32" | |
| then | |
| AC_CHECK_LIB(wsock32, main) | |
| fi | |
| if test "$with_readline" = yes; then | if test "$with_readline" = yes; then |
| PGAC_CHECK_READLINE | PGAC_CHECK_READLINE |
| Line 778 PGAC_STRUCT_TIMEZONE | Line 785 PGAC_STRUCT_TIMEZONE |
| PGAC_UNION_SEMUN | PGAC_UNION_SEMUN |
| PGAC_STRUCT_SOCKADDR_UN | PGAC_STRUCT_SOCKADDR_UN |
| PGAC_STRUCT_SOCKADDR_STORAGE | PGAC_STRUCT_SOCKADDR_STORAGE |
| PGAC_STRUCT_SOCKADDR_STORAGE_SS_FAMILY | PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS |
| PGAC_STRUCT_ADDRINFO | PGAC_STRUCT_ADDRINFO |
| AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [], | AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [], |
| Line 787 AC_CHECK_TYPES([struct cmsgcred, struct | Line 794 AC_CHECK_TYPES([struct cmsgcred, struct |
| #include <sys/socket.h> | #include <sys/socket.h> |
| #include <sys/ucred.h>]) | #include <sys/ucred.h>]) |
| AC_CHECK_TYPES([struct option], [], [], | |
| [#ifdef HAVE_GETOPT_H | |
| #include <getopt.h> | |
| #endif]) | |
| if test "$with_zlib" = yes; then | if test "$with_zlib" = yes; then |
| # Check that <zlib.h> defines z_streamp (versions before about 1.0.4 | # Check that <zlib.h> defines z_streamp (versions before about 1.0.4 |
| # did not). While we could work around the lack of z_streamp, it | # did not). While we could work around the lack of z_streamp, it |
| Line 826 AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasy | Line 838 AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasy |
| AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>]) | AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>]) |
| HAVE_IPV6=no | |
| AC_CHECK_TYPE([struct sockaddr_in6], | AC_CHECK_TYPE([struct sockaddr_in6], |
| [AC_CHECK_FUNC(inet_ntop, | [AC_CHECK_FUNC(inet_ntop, |
| [AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if you have support for IPv6.])])], | [AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if you have support for IPv6.]) |
| HAVE_IPV6=yes])], | |
| [], | [], |
| [$ac_includes_default | [$ac_includes_default |
| #include <netinet/in.h>]) | #include <netinet/in.h>]) |
| AC_SUBST(HAVE_IPV6) | |
| AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS], | AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS], |
| [AC_TRY_LINK( | [AC_TRY_LINK( |
| Line 882 else | Line 897 else |
| AC_CHECK_FUNCS([fpclass fp_class fp_class_d class], [break]) | AC_CHECK_FUNCS([fpclass fp_class fp_class_d class], [break]) |
| fi | fi |
| AC_REPLACE_FUNCS([crypt fseeko getopt getopt_long getrusage inet_aton random rint srandom strcasecmp strdup strerror strtol strtoul]) | AC_REPLACE_FUNCS([crypt fseeko getopt 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 | # 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 | # a definition for struct addrinfo; see notes in src/include/getaddrinfo.h |
| Line 892 else | Line 907 else |
| AC_LIBOBJ(getaddrinfo) | AC_LIBOBJ(getaddrinfo) |
| fi | fi |
| # similarly, use system's getopt_long() only if system provides struct option. | |
| if test x"$ac_cv_type_struct_option" = xyes ; then | |
| AC_REPLACE_FUNCS([getopt_long]) | |
| else | |
| AC_LIBOBJ(getopt_long) | |
| fi | |
| # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos | # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos |
| # We override the previous test that said fseeko/ftello didn't exist | # 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 | # OS tests are also done in include/c.h and port/fseeko.c |
| Line 964 AC_FUNC_FSEEKO | Line 986 AC_FUNC_FSEEKO |
| # | # |
| # For each platform, we need to know about any special compile and link | # For each platform, we need to know about any special compile and link |
| # libraries, and whether the normal C function names are thread-safe. | # libraries, and whether the normal C function names are thread-safe. |
| # See the comment at the top of src/port/thread.c for more information. | |
| # | # |
| NEED_REENTRANT_FUNC_NAMES=no | if test "$enable_thread_safety" = yes; then |
| if test "$with_threads" = yes; then | AC_CHECK_HEADER(pthread.h, [], [AC_MSG_ERROR([pthread.h not found, required for --enable-thread-safetys])]) |
| AC_CHECK_HEADER(pthread.h, [], [AC_MSG_ERROR([pthread.h not found, required for --with-threads])]) | |
| if test "$SUPPORTS_THREADS" != yes; then | if test "$SUPPORTS_THREADS" != yes; then |
| AC_MSG_ERROR([ | AC_MSG_ERROR([ |
| Cannot enable threads on your platform. | Cannot enable threads on your platform. |
| Please report your platform threading info to the PostgreSQL mailing lists | 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, | so it can be added to the next release. Report all compile flags, link flags, |
| functions, or libraries required for threading support. | functions, or libraries required for threading support. |
| See the comment at the top of src/port/thread.c for more information. | |
| ]) | ]) |
| fi | fi |
| else | |
| # do not use values from template file | |
| THREAD_CFLAGS= | |
| THREAD_LIBS= | |
| fi | fi |
| AC_SUBST(THREAD_CFLAGS) | AC_SUBST(THREAD_CFLAGS) |
| AC_SUBST(THREAD_LIBS) | AC_SUBST(THREAD_LIBS) |
| Line 989 AC_SUBST(THREAD_LIBS) | Line 1016 AC_SUBST(THREAD_LIBS) |
| # threading on this platform. Some platforms have *_r functions but | # threading on this platform. Some platforms have *_r functions but |
| # their natively named funcs are threadsafe, and should be used instead. | # 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 | # One trick here is that if we don't call AC_CHECK_FUNCS, the |
| # functions are marked "not found", which is perfect. | # functions are marked "not found", which is perfect. |
| # | # |
| if test "$NEED_REENTRANT_FUNC_NAMES" = yes ; then | if test "$enable_thread_safety" = yes -a "$NEED_REENTRANT_FUNC_NAMES" = yes ; then |
| _CFLAGS="$CFLAGS" | _CFLAGS="$CFLAGS" |
| _LIB="$LIBS" | _LIBS="$LIBS" |
| CFLAGS="$CFLAGS $TREAD_CFLAGS" | CFLAGS="$CFLAGS $THREAD_CFLAGS" |
| LIBS="$LIBS $THREAD_LIBS" | LIBS="$LIBS $THREAD_LIBS" |
| AC_CHECK_FUNCS([strerror_r getpwuid_r gethostbyname_r]) | AC_CHECK_FUNC(strerror_r, |
| [], [AC_MSG_ERROR([strerror_r not found, required on this platform for --enable-thread-safety])]) | |
| AC_CHECK_FUNC(getpwuid_r, | |
| [], [AC_MSG_ERROR([getpwuid_r not found, required on this platform for --enable-thread-safety])]) | |
| AC_CHECK_FUNC(gethostbyname_r, | |
| [], [AC_MSG_ERROR([gethostbyname_r not found, required on this platform for --enable-thread-safety])]) | |
| CFLAGS="$_CFLAGS" | CFLAGS="$_CFLAGS" |
| LIB="$_LIBS" | LIBS="$_LIBS" |
| fi | fi |