dnl Process this file with autoconf to produce a configure script. AC_INIT(backend/access/common/heaptuple.c) AC_PREFIX_DEFAULT(/usr/local/pgsql) AC_CANONICAL_HOST tas_file=dummy.s case "$host_os" in solaris*) case "$host_cpu" in sparc) os=solaris_sparc need_tas=yes tas_file=solaris_sparc.s ;; i386) os=solaris_i386 need_tas=yes tas_file=solaris_i386.s ;; esac ;; sunos*) os=sunos4 need_tas=no ;; aux*) os=aux need_tas=no ;; linux*) os=linux need_tas=no ;; bsdi*) os=bsdi need_tas=no ;; freebsd*|netbsd*|openbsd*) os=bsd need_tas=no ;; dgux*) os=dgux need_tas=no ;; aix*) os=aix need_tas=no ;; nextstep*) os=nextstep need_tas=no ;; ultrix*) os=ultrix4 need_tas=no ;; irix*) os=irix5 need_tas=no ;; hpux*) os=hpux need_tas=yes tas_file=hpux.s ;; osf*) os=alpha need_tas=no ;; sco*) os=sco need_tas=no ;; machten*) os=machten need_tas=no ;; cygwin*) os=win need_tas=no ;; sysv4.2*) case "$host_vendor" in univel) os=univel need_tas=no ;; *) os=unknown need_tas=no ;; esac ;; sysv4*) os=svr4 need_tas=no ;; sysv5*) os=unixware need_tas=no ;; *) echo "" echo "*************************************************************" echo "configure does not currently recognize your operating system," echo "therefore you must do a manual configuration of:" echo "$host_os" echo "Please contact scrappy@hub.org to see about rectifying this, " echo "including the above 'checking host system type...' line " echo "*************************************************************" echo "" exit;; esac if test "X$need_tas" = "Xyes" then AC_LINK_FILES(backend/port/tas/${tas_file}, backend/port/tas.s) TAS=tas.o AC_SUBST(TAS) fi PORTNAME=${os} AC_LINK_FILES(backend/port/dynloader/${os}.c, backend/port/dynloader.c) AC_LINK_FILES(backend/port/dynloader/${os}.h, include/dynloader.h) AC_LINK_FILES(include/port/${os}.h, include/os.h) AC_LINK_FILES(makefiles/Makefile.${os}, Makefile.port) echo "checking echo setting..." if echo '\c' | grep -s c >/dev/null 2>&1 then ECHO_N="echo -n" ECHO_C="" else ECHO_N="echo" ECHO_C='\c' fi dnl this part selects the template from the one in the dnl template directory. AC_MSG_CHECKING(setting template to) AC_ARG_WITH(template, [ --with-template=TEMPLATE use operating system template file see template directory], [ TEMPLATE=$withval ], [ host_no_ver=`echo "$host" | sed 's/[[0-9.]]*$//'` GUESS=`grep "$host_no_ver" template/.similar | sed 's/.*=//' | tail -1` if test "$GUESS" then TEMPLATE="$GUESS" else TEMPLATE=`uname -s | tr A-Z a-z` fi ]) AC_MSG_RESULT($TEMPLATE) export TEMPLATE if test ! -f "template/$TEMPLATE"; then echo "" echo "$TEMPLATE does not exist" echo "" echo "Available Templates (set using --with-template):" echo "" ls template echo "" exit fi AROPT=`grep '^AROPT:' template/$TEMPLATE | awk -F: '{print $2}'` SHARED_LIB=`grep '^SHARED_LIB:' template/$TEMPLATE | awk -F: '{print $2}'` CFLAGS=`grep '^CFLAGS:' template/$TEMPLATE | awk -F: '{print $2}'` SRCH_INC=`grep '^SRCH_INC:' template/$TEMPLATE | awk -F: '{print $2}'` SRCH_LIB=`grep '^SRCH_LIB:' template/$TEMPLATE | awk -F: '{print $2}'` USE_LOCALE=`grep '^USE_LOCALE:' template/$TEMPLATE | awk -F: '{print $2}'` DLSUFFIX=`grep '^DLSUFFIX:' template/$TEMPLATE | awk -F: '{print $2}'` DL_LIB=`grep '^DL_LIB:' template/$TEMPLATE | awk -F: '{print $2}'` YACC=`grep '^YACC:' template/$TEMPLATE | awk -F: '{print $2}'` YFLAGS=`grep '^YFLAGS:' template/$TEMPLATE | awk -F: '{print $2}'` CC=`grep '^CC:' template/$TEMPLATE | awk -F: '{print $2}'` LIBS=`grep '^LIBS:' template/$TEMPLATE | awk -F: '{print $2}'` AC_ARG_WITH(includes, [ --with-includes=DIR site header files for tk/tcl, etc in DIR], [ case "$withval" in "" | y | ye | yes | n | no) AC_MSG_ERROR([*** You must supply an argument to the --with-includes option.]) ;; esac INCLUDE_DIRS="$withval" ]) if test "$INCLUDE_DIRS"; then for dir in $INCLUDE_DIRS; do if test -d "$dir"; then PGSQL_CPPFLAGS="$PGSQL_CPPFLAGS -I$dir" else AC_MSG_WARN([*** Include directory $dir does not exist.]) fi done fi AC_ARG_WITH(libs, [ --with-libs=DIR also search for libraries in DIR], [ case "$withval" in "" | y | ye | yes | n | no) AC_MSG_ERROR([*** You must supply an argument to the --with-libs option.]) ;; esac LIBRARY_DIRS="$withval" ]) AC_ARG_WITH(libraries, [ --with-libraries=DIR also search for libraries in DIR], [ case "$withval" in "" | y | ye | yes | n | no) AC_MSG_ERROR([*** You must supply an argument to the --with-libraries option.]) ;; esac LIBRARY_DIRS="$withval" ]) if test "$LIBRARY_DIRS"; then for dir in $LIBRARY_DIRS; do if test -d "$dir"; then PGSQL_LDFLAGS="$PGSQL_LDFLAGS -L$dir" else AC_MSG_WARN([*** Library directory $dir does not exist.]) fi done fi dnl We have read the default value of USE_LOCALE from the template dnl file. We have a further option of using dnl --enable-locale to explicitly enable it dnl It defaults to disabled AC_MSG_CHECKING(setting USE_LOCALE) AC_ARG_ENABLE( locale, [ --enable-locale enable locale support ], AC_DEFINE(USE_LOCALE) AC_MSG_RESULT(enabled), AC_MSG_RESULT(disabled) ) dnl We exclude cyrillic recode support unless we override it with dnl --enable-recode to explicitly enable it dnl It defaults to disabled AC_MSG_CHECKING(setting CYR_RECODE) AC_ARG_ENABLE( recode, [ --enable-recode enable cyrillic recode support ], AC_DEFINE(CYR_RECODE) AC_MSG_RESULT(enabled), AC_MSG_RESULT(disabled) ) AC_MSG_CHECKING(setting MULTIBYTE) AC_ARG_WITH(mb, [ --with-mb= enable multi-byte support ], [ case "$withval" in EUC_JP|EHC_CN|EUC_KR|EUC_TW|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5) AC_MSG_RESULT("enabled with $withval") ;; *) AC_MSG_ERROR([*** You must supply an argument to the --with-mb option one of EUC_JP,EHC_CN,EUC_KR,EUC_TW,UNICODE,MULE_INTERNAL,LATIN1-5]) ;; esac MULTIBYTE="$withval" ], AC_MSG_RESULT("disabled") ) dnl We use the default value of 5432 for the DEF_PGPORT value. If dnl we over-ride it with --with-pgport=port then we bypass this piece AC_MSG_CHECKING(setting DEF_PGPORT) AC_ARG_WITH( pgport, [ --with-pgport= change default startup port ], AC_DEFINE_UNQUOTED(DEF_PGPORT, "${withval}") AC_MSG_RESULT($with_pgport), AC_DEFINE_UNQUOTED(DEF_PGPORT, "5432") AC_MSG_RESULT(5432) ) dnl We exclude tcl support unless we override it with --with-tcl AC_MSG_CHECKING(setting USE_TCL) AC_ARG_WITH( tcl, [ --with-tcl use tcl ], [ case "$withval" in y | ye | yes) USE_TCL=true; USE_TK=true; AC_MSG_RESULT(enabled) ;; *) USE_TCL=; USE_TK=; AC_MSG_RESULT(disabled) ;; esac ], [ USE_TCL=; USE_TK=; AC_MSG_RESULT(disabled) ] ) export USE_TCL export USE_TK dnl We see if the path to the TCL/TK configuration scripts is specified. dnl This will overide the use of tclsh to find the paths to search. AC_ARG_WITH(tclconfig, [ --with-tclconfig=DIR tclConfig.sh and tkConfig.sh are in DIR], [ case "$withval" in "" | y | ye | yes | n | no) AC_MSG_ERROR([*** You must supply an argument to the --with-tclconfig option.]) ;; esac TCL_DIRS="$withval" ] ) dnl We exclude perl support unless we override it with --with-perl AC_MSG_CHECKING(setting USE_PERL) AC_ARG_WITH( perl, [ --with-perl use perl ], [ case "$withval" in y | ye | yes) USE_PERL=true; AC_MSG_RESULT(enabled) ;; *) USE_PERL=false; AC_MSG_RESULT(disabled) ;; esac ], [ USE_PERL=false; AC_MSG_RESULT(disabled) ] ) dnl We include odbc support unless we disable it with --with-odbc=false AC_MSG_CHECKING(setting USE_ODBC) AC_ARG_WITH( odbc, [ --with-odbc build ODBC driver package ], [ case "$withval" in y | ye | yes) USE_ODBC=true; AC_MSG_RESULT(enabled) ;; *) USE_ODBC=false; AC_MSG_RESULT(disabled) ;; esac ], [ USE_ODBC=false; AC_MSG_RESULT(disabled) ] ) export USE_ODBC dnl Allow for overriding the default location of the odbcinst.ini dnl file which is normally ${prefix}/share or ${prefix} if this is dnl being compiled inside the postgres distribution. dnl Link in the port and template directories dnl to help build a "standalone ODBC" tar file if test "X$USE_ODBC" = "Xtrue" then AC_LINK_FILES(include/port, interfaces/odbc/port) AC_LINK_FILES(makefiles, interfaces/odbc/makefiles) AC_LINK_FILES(template, interfaces/odbc/template) AC_LINK_FILES(include/config.h, interfaces/odbc/config.h) AC_MSG_CHECKING(setting ODBCINST) AC_ARG_WITH( odbcinst, [ --with-odbcinst=dir change default directory for odbcinst.ini], AC_DEFINE_UNQUOTED(ODBCINST, ${with_odbcinst}) AC_MSG_RESULT($with_odbcinst), AC_DEFINE_UNQUOTED(ODBCINST, ${ODBCINSTDIR}) AC_MSG_RESULT(${ODBCINSTDIR}) ) fi if test "X$with_odbcinst" != "X" then ODBCINSTDIR=$with_odbcinst fi AC_SUBST(ODBCINSTDIR) dnl Unless we specify the command line options dnl --enable cassert to explicitly enable it dnl If you do not explicitly do it, it defaults to disabled AC_MSG_CHECKING(setting ASSERT CHECKING) AC_ARG_ENABLE( cassert, [ --enable-cassert enable assertion checks (debugging) ], AC_DEFINE(USE_ASSERT_CHECKING) AC_MSG_RESULT(enabled), AC_MSG_RESULT(disabled) ) dnl Check for C support (allow override if needed) AC_ARG_WITH(CC, [ --with-CC=compiler use specific C compiler], [ case "$withval" in "" | y | ye | yes | n | no) AC_MSG_ERROR([*** You must supply an argument to the --with-CC option.]) ;; esac CC="$withval" ], [ AC_PROG_CC]) if test "$CC" = "gcc" then CC_VERSION=`${CC} --version` else CC_VERSION="" fi AC_SUBST(CC_VERSION) CPPFLAGS="$CPPFLAGS $PGSQL_CPPFLAGS" export CPPFLAGS echo "- setting CPPFLAGS=$CPPFLAGS" LDFLAGS="$LDFLAGS $PGSQL_LDFLAGS" export LDFLAGS echo "- setting LDFLAGS=$LDFLAGS" AC_CONFIG_HEADER(include/config.h) dnl Checks for programs. AC_PROG_CPP dnl Check to see what flags are required to get stdin into cpp AC_DEFUN(AC_TRY_CPPSTDIN, [AC_REQUIRE_CPP()dnl cat > conftest.$ac_ext <&AC_FD_CC echo "configure: failed program was:" >&AC_FD_CC cat conftest.$ac_ext >&AC_FD_CC ifelse([$3], , , [ rm -rf conftest* $3 ])dnl fi rm -f conftest*]) AC_MSG_CHECKING(how to use cpp with stdin) if test -z "$CPPSTDIN"; then AC_CACHE_VAL(ac_cv_cpp_stdin, [ CPPSTDIN="" AC_TRY_CPPSTDIN([#include Syntax Error], , CPPSTDIN="-") ac_cv_cpp_stdin="$CPPSTDIN"]) CPPSTDIN="$ac_cv_cpp_stdin" else ac_cv_cpp_stdin="$CPPSTDIN" fi AC_MSG_RESULT($CPP $CPPSTDIN) AC_SUBST(CPPSTDIN) AC_SUBST(PORTNAME) AC_SUBST(SRCDIR) AC_SUBST(LDFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(AROPT) AC_SUBST(SHARED_LIB) AC_SUBST(CFLAGS) AC_SUBST(DLSUFFIX) AC_SUBST(DL_LIB) AC_SUBST(USE_TCL) AC_SUBST(USE_TK) AC_SUBST(USE_PERL) AC_SUBST(USE_ODBC) AC_SUBST(MULTIBYTE) dnl Check for C++ support (allow override if needed) HAVECXX='HAVE_Cplusplus=true' AC_ARG_WITH(CXX, [ --with-CXX=compiler use specific C++ compiler], [ case "$withval" in "" | y | ye | yes) AC_MSG_ERROR([*** You must supply an argument to the --with-CC option.]) ;; n | no) HAVECXX='HAVE_Cplusplus=false' ;; esac CXX="$withval" ], [ AC_PROG_CXX]) AC_SUBST(HAVECXX) INSTALLPATH="`echo /usr/ucb:$PATH | sed 's/:/ /g'`" AC_PATH_PROGS(INSTALL, ginstall installbsd bsdinst scoinst install, NONE, $INSTALLPATH ) if test "$INSTALL" = "NONE" then # fall back on our own script INSTALL=`pwd`/install-sh fi INSTLOPTS="-m 444" INSTL_EXE_OPTS="-m 555" INSTL_LIB_OPTS="-m 644" INSTL_SHLIB_OPTS="-m 644" dnl HPUX wants shared libs to be mode 555. case "$host_os" in hpux*) INSTL_SHLIB_OPTS="-m 555" ;; esac dnl These flavors of install need -c to install by copy rather than move. dnl install by move is fatal because it removes stuff from the source tree! case "`basename $INSTALL`" in install|installbsd|scoinst|install-sh) INSTLOPTS="-c $INSTLOPTS" INSTL_EXE_OPTS="-c $INSTL_EXE_OPTS" INSTL_LIB_OPTS="-c $INSTL_LIB_OPTS" INSTL_SHLIB_OPTS="-c $INSTL_SHLIB_OPTS";; esac echo "- Using $INSTALL" AC_SUBST(INSTALL) AC_SUBST(INSTLOPTS) AC_SUBST(INSTL_LIB_OPTS) AC_SUBST(INSTL_SHLIB_OPTS) AC_SUBST(INSTL_EXE_OPTS) dnl Check the option to echo to inhibit newlines. ECHO_N_OUT=`echo -n "" | wc -c` ECHO_C_OUT=`echo "\c" | wc -c` if test "$ECHO_N_OUT" -eq 0; then DASH_N='-n' BACKSLASH_C= else if test "ECHO_C_OUT" -eq 0; then DASH_N= BACKSLASH_C='\\\\c' else AC_MSG_ERROR("echo behaviour undetermined") fi fi AC_SUBST(DASH_N) AC_SUBST(BACKSLASH_C) AC_PROG_LEX AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_RANLIB AC_PATH_PROG(find, find) AC_PATH_PROG(tar, tar) AC_PATH_PROG(split, split) AC_PATH_PROG(etags, etags) AC_PATH_PROG(xargs, xargs) AC_PATH_PROG(ipcs, ipcs) AC_PATH_PROG(ipcrm, ipcrm) AC_PATH_PROGS(TR, trbsd tr, NOT_FOUND) dnl Check tr flags to convert from lower to upper case TRSTRINGS="`echo ABCdef | $TR '[[a-z]]' '[[A-Z]]' 2>/dev/null | grep ABCDEF`" TRCLASS="`echo ABCdef | $TR '[[:lower:]]' '[[:upper:]]' 2>/dev/null | grep ABCDEF`" if test "$TRSTRINGS" = "ABCDEF"; then TRARGS="'[[a-z]]' '[[A-Z]]'" elif test "$TRCLASS" = "ABCDEF"; then TRARGS="'[[:lower:]]' '[[:upper:]]'" else AC_MSG_ERROR("Can\'t find method to convert from upper to lower case with tr") fi AC_SUBST(TRARGS) dnl Changes to look for YACC. We have three choices (in order of pref.) dnl (1) We specify in YACC and YFLAGS what we want dnl (2) We have bison and we use bison -y dnl (3) We have yacc and use it AC_SUBST(YACC) AC_SUBST(YFLAGS) AC_PATH_PROG(yacc, yacc) AC_PATH_PROG(bison, bison) if test -f "$YACC" then echo "- Using $YACC $YFLAGS" elif test -f "$bison" then echo "- Using $bison -y $YFLAGS" YACC="$bison" YFLAGS="-y $YFLAGS" export YACC YFLAGS else echo "- Using $yacc $YFLAGS" YACC="$yacc" export YACC fi AC_CHECK_LIB(sfio, main) for curses in ncurses curses ; do AC_CHECK_LIB(${curses}, main, [LIBS="-l${curses} $LIBS"; break]) done AC_CHECK_LIB(termcap, main) AC_CHECK_LIB(history, main) AC_CHECK_LIB(readline, main) AC_CHECK_LIB(readline, write_history, AC_DEFINE(HAVE_HISTORY)) if test "$PORTNAME" != "aix" -a "$PORTNAME" != "alpha" then AC_CHECK_LIB(bsd, main) fi 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(crypt, main) AC_CHECK_LIB(gen, main) AC_CHECK_LIB(PW, main) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(limits.h unistd.h termios.h values.h sys/select.h) AC_CHECK_HEADERS(sys/resource.h netdb.h arpa/inet.h getopt.h) AC_CHECK_HEADERS(readline.h history.h dld.h crypt.h endian.h float.h) AC_CHECK_HEADERS(readline/readline.h readline/history.h ieeefp.h fp_class.h) AC_CHECK_HEADERS(netinet/in.h string.h strings.h) dnl ODBC headers... AC_CHECK_HEADERS(sys/param.h pwd.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_UID_T AC_C_INLINE AC_TYPE_MODE_T AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM AC_MSG_CHECKING(for type of last arg to accept) AC_TRY_COMPILE([#include #include #include ], [int a = accept(1, (struct sockaddr *) 0, (size_t *) 0);], [AC_DEFINE(SOCKET_SIZE_TYPE, size_t) AC_MSG_RESULT(size_t)], [AC_DEFINE(SOCKET_SIZE_TYPE, int) AC_MSG_RESULT(int)]) dnl Check for any "odd" conditions AC_MSG_CHECKING(for int timezone) AC_TRY_LINK([#include ], [int res = timezone / 60; ], [AC_DEFINE(HAVE_INT_TIMEZONE) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no)) AC_MSG_CHECKING(for gettimeofday args) AC_TRY_LINK([#include ], [struct timeval *tp; struct timezone *tzp; gettimeofday(tp,tzp); ], [AC_DEFINE(HAVE_GETTIMEOFDAY_2_ARGS) AC_MSG_RESULT(2 args)], AC_MSG_RESULT(no)) AC_MSG_CHECKING(for union semun) AC_TRY_LINK([#include #include #include ], [union semun semun;], [AC_DEFINE(HAVE_UNION_SEMUN) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no)) AC_MSG_CHECKING(for fcntl(F_SETLK)) AC_TRY_LINK([#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)) AC_MSG_CHECKING(for good DBL_MIN) AC_TRY_RUN([#include #include #ifdef HAVE_FLOAT_H # include #endif main() { double d = DBL_MIN; if (d != DBL_MIN) exit(-1); else exit(0); }], AC_MSG_RESULT(yes), [AC_DEFINE(HAVE_DBL_MIN_PROBLEM) AC_MSG_RESULT(no)], AC_MSG_RESULT(assuming ok on target machine)) dnl Check to see if we have a working 64-bit integer type. AC_MSG_CHECKING(whether 'long int' is 64 bits) AC_TRY_RUN([#include typedef long int int64; #define INT64_FORMAT "%ld" int64 a = 20000001; int64 b = 40000005; int does_int64_work() { int64 c,d,e; char buf[100]; if (sizeof(int64) != 8) return 0; /* doesn't look like the right size */ /* we do perfunctory checks on multiply, divide, sprintf, sscanf */ c = a * b; sprintf(buf, INT64_FORMAT, c); if (strcmp(buf, "800000140000005") != 0) return 0; /* either multiply or sprintf is busted */ if (sscanf(buf, INT64_FORMAT, &d) != 1) return 0; if (d != c) return 0; e = d / b; if (e != a) return 0; return 1; } main() { exit(! does_int64_work()); }], [AC_DEFINE(HAVE_LONG_INT_64) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no), AC_MSG_RESULT(assuming not on target machine)) AC_MSG_CHECKING(whether 'long long int' is 64 bits) AC_TRY_RUN([#include typedef long long int int64; #define INT64_FORMAT "%lld" int64 a = 20000001; int64 b = 40000005; int does_int64_work() { int64 c,d,e; char buf[100]; if (sizeof(int64) != 8) return 0; /* doesn't look like the right size */ /* we do perfunctory checks on multiply, divide, sprintf, sscanf */ c = a * b; sprintf(buf, INT64_FORMAT, c); if (strcmp(buf, "800000140000005") != 0) return 0; /* either multiply or sprintf is busted */ if (sscanf(buf, INT64_FORMAT, &d) != 1) return 0; if (d != c) return 0; e = d / b; if (e != a) return 0; return 1; } main() { exit(! does_int64_work()); }], [AC_DEFINE(HAVE_LONG_LONG_INT_64) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no), AC_MSG_RESULT(assuming not on target machine)) dnl Checks for library functions. AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP AC_TYPE_SIGNAL AC_FUNC_VPRINTF AC_CHECK_FUNCS(tzset memmove sigsetjmp kill sysconf fpclass) AC_CHECK_FUNCS(fp_class fp_class_d class) AC_CHECK_FUNCS(sigprocmask waitpid setsid fcvt) AC_CHECK_FUNC(snprintf, AC_DEFINE(HAVE_SNPRINTF), SNPRINTF='snprintf.o') AC_SUBST(SNPRINTF) AC_CHECK_FUNC(isinf, AC_DEFINE(HAVE_ISINF), ISINF='isinf.o') 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))) AC_CHECK_FUNC(rint, AC_DEFINE(HAVE_RINT), [ # On HPUX 9, rint() is not in regular libm.a but in /lib/pa1.1/libm.a SPECIALMATHLIB="" if [[ -r /lib/pa1.1/libm.a ]] ; then SPECIALMATHLIB="-L /lib/pa1.1 -lm" fi AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT), , $SPECIALMATHLIB) ]) dnl Check for Tcl configuration script tclConfig.sh dnl If --with-tclconfig was given, don't check for tclsh, tcl if test -z "$TCL_DIRS" then AC_PATH_PROG(TCLSH, tclsh) if test -z "$TCLSH" then AC_PATH_PROG(TCLSH, tcl) if test -z "$TCLSH" then AC_MSG_WARN(TCL/TK support disabled; tcl shell is not in your path) USE_TCL= fi fi fi if test "$USE_TCL" = true then AC_MSG_CHECKING(for tclConfig.sh) TCL_CONFIG_SH= library_dirs= if test -z "$TCL_DIRS" then library_dirs=`echo 'puts $auto_path' | $TCLSH` fi library_dirs="$TCL_DIRS $library_dirs" for dir in $library_dirs; do if test -d "$dir" -a -r "$dir/tclConfig.sh"; then TCL_CONFIG_SH=$dir/tclConfig.sh break fi done if test -z "$TCL_CONFIG_SH"; then AC_MSG_RESULT(no) AC_MSG_WARN(TCL/TK support disabled; Tcl configuration script missing) USE_TCL= else AC_MSG_RESULT($TCL_CONFIG_SH) AC_SUBST(TCL_CONFIG_SH) fi fi USE_TK=$USE_TCL # If TCL is disabled, disable TK dnl Check for Tk configuration script tkConfig.sh if test "$USE_TK" = true then AC_MSG_CHECKING(for tkConfig.sh) TK_CONFIG_SH= # library_dirs are set in the check for TCL for dir in $library_dirs do if test -d "$dir" -a -r "$dir/tkConfig.sh" then TK_CONFIG_SH=$dir/tkConfig.sh break fi done if test -z "$TK_CONFIG_SH" then AC_MSG_RESULT(no) AC_MSG_WARN(TK support disabled; Tk configuration script missing) USE_TK= else AC_MSG_RESULT($TK_CONFIG_SH) AC_SUBST(TK_CONFIG_SH) fi fi USE_X=$USE_TK dnl Check for X libraries if test "$USE_X" = true; then ice_save_LIBS="$LIBS" ice_save_CFLAGS="$CFLAGS" ice_save_CPPFLAGS="$CPPFLAGS" ice_save_LDFLAGS="$LDFLAGS" AC_PATH_XTRA LIBS="$LIBS $X_EXTRA_LIBS" CFLAGS="$CFLAGS $X_CFLAGS" CPPFLAGS="$CPPFLAGS $X_CFLAGS" LDFLAGS="$LDFLAGS $X_LIBS" dnl Check for X library X11_LIBS="" AC_CHECK_LIB(X11, XOpenDisplay, X11_LIBS="-lX11",,${X_PRE_LIBS}) if test "$X11_LIBS" = ""; then dnl Not having X may be fatal. Let the user fix this. AC_MSG_WARN([The X11 library '-lX11' could not be found. Please use the configure options '--x-includes=DIR' and '--x-libraries=DIR' to specify the X location. See the file 'config.log' for further diagnostics.]) fi AC_SUBST(X_LIBS) AC_SUBST(X11_LIBS) AC_SUBST(X_PRE_LIBS) LIBS="$ice_save_LIBS" CFLAGS="$ice_save_CFLAGS" CPPFLAGS="$ice_save_CPPFLAGS" LDFLAGS="$ice_save_LDFLAGS" fi dnl cause configure to recurse into subdirectories with their own configure dnl Darn, setting AC_CONFIG_SUBDIRS sets a list $subdirs$ in the configure output dnl file, but then configure doesn't bother using that list. Probably a bug in dnl this version of autoconf. dnl So at the moment interfaces/odbc gets configured unconditionally. dnl - thomas 1998-10-05 #if test "X$USE_ODBC" = "Xtrue" #then # AC_CONFIG_SUBDIRS(interfaces/odbc) #fi if test "$USE_ODBC" = "true" then PWD_INCDIR=no AC_CHECK_HEADER(pwd.h, PWD_INCDIR=yes) if test "$PWD_INCDIR" = "no"; then AC_MSG_WARN(odbc support disabled; pwd.h missing) USE_ODBC= fi AC_SUBST(USE_ODBC) fi AC_CONFIG_HEADER(interfaces/odbc/config.h) AC_OUTPUT( GNUmakefile Makefile.global backend/port/Makefile backend/catalog/genbki.sh backend/utils/Gen_fmgrtab.sh bin/pg_dump/Makefile bin/pg_version/Makefile bin/psql/Makefile bin/pgtclsh/mkMakefile.tcldefs.sh bin/pgtclsh/mkMakefile.tkdefs.sh include/version.h interfaces/libpq/Makefile interfaces/ecpg/lib/Makefile interfaces/libpq++/Makefile interfaces/libpgtcl/Makefile interfaces/odbc/GNUmakefile interfaces/odbc/Makefile.global pl/plpgsql/src/Makefile pl/plpgsql/src/mklang.sql pl/tcl/mkMakefile.tcldefs.sh )