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_CONFIG_HEADER(include/config.h) 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 ;; freebsd3*) os=freebsd need_tas=no elf=yes ;; freebsd1*|freebsd2*) os=freebsd need_tas=no ;; 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$elf" = "Xyes" then ELF_SYS=true else ELF_SYS= fi 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. dnl LOOK FOR EXACT MATCH FIRST, dnl then try an OS without a version AC_MSG_CHECKING(setting template to) AC_ARG_WITH(template, [ --with-template=TEMPLATE use operating system template file see template directory], [ TEMPLATE=$withval ], [ GUESS=`grep "^$host=" template/.similar | sed 's/.*=//' | tail -1` if test "$GUESS" then TEMPLATE="$GUESS" else 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 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 build Tcl interfaces and pgtclsh ], [ 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 build Perl interface ], [ 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) dnl Note: actually, setting CC environment variable works just as well. 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" ]) dnl Find a compiler if CC is not already set. AC_PROG_CC dnl Find CPP, then check traditional. dnl Caution: these macros must be called in this order... AC_PROG_CPP AC_PROG_GCC_TRADITIONAL if test "$CC" = "gcc" then CC_VERSION=`${CC} --version` else CC_VERSION="" fi AC_SUBST(CC_VERSION) CPPFLAGS="$CPPFLAGS $PGSQL_CPPFLAGS" echo "- setting CPPFLAGS=$CPPFLAGS" LDFLAGS="$LDFLAGS $PGSQL_LDFLAGS" echo "- setting LDFLAGS=$LDFLAGS" AC_SUBST(ELF_SYS) 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 --without-CXX prevent building C++ code ], [ 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 if test -f "$YACC" then echo "- Using $YACC $YFLAGS" else AC_PATH_PROG(bison, bison) if test -f "$bison" then echo "- Using $bison -y $YFLAGS" YACC="$bison" YFLAGS="-y $YFLAGS" else AC_PATH_PROG(yacc, yacc) echo "- Using $yacc $YFLAGS" YACC="$yacc" fi fi AC_SUBST(YACC) AC_SUBST(YFLAGS) 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 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_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_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 )