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 case "$host_os" in solaris*) case "$host_cpu" in sparc) PORTNAME='sparc_solaris' ;; i386) PORTNAME='i386_solaris' ;; esac ;; sunos*) PORTNAME='sunos4' ;; linux*) PORTNAME='linux' ;; bsdi*) PORTNAME='bsdi' ;; freebsd*|netbsd*) PORTNAME='BSD44_derived';; dgux*) PORTNAME='dgux';; aix*) PORTNAME='aix';; nextstep*) PORTNAME='nextstep';; ultrix*) PORTNAME='ultrix4';; irix*) PORTNAME='irix5';; hpux*) PORTNAME='hpux';; osf*) PORTNAME='alpha' TR="trbsd";; sysv4.2*) case "$host_vendor" in univel) PORTNAME='univel';; *) PORTNAME='unknown';; esac ;; *) 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 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 cat </dev/null` if test $GUESS then TEMPLATE=`echo $GUESS | sed 's/.*=//'` fi export TEMPLATE ls template echo "**************************************************************" $ECHO_N "Appropriate template file { $TEMPLATE }: $ECHO_C" read a if test "$a." != "." then TEMPLATE=$a fi if test ! -f template/$TEMPLATE then echo "You must choose an appropriate template file." exit fi TEMPLATE=template/$TEMPLATE export TEMPLATE fi AROPT=`grep AROPT $TEMPLATE | awk -F: '{print $2}'` SHARED_LIB=`grep SHARED_LIB $TEMPLATE | awk -F: '{print $2}'` CFLAGS=`grep CFLAGS $TEMPLATE | awk -F: '{print $2}'` SRCH_INC=`grep SRCH_INC $TEMPLATE | awk -F: '{print $2}'` SRCH_LIB=`grep SRCH_LIB $TEMPLATE | awk -F: '{print $2}'` USE_LOCALE=`grep USE_LOCALE $TEMPLATE | awk -F: '{print $2}'` DLSUFFIX=`grep DLSUFFIX $TEMPLATE | awk -F: '{print $2}'` DL_LIB=`grep DL_LIB $TEMPLATE | awk -F: '{print $2}'` YACC=`grep YACC $TEMPLATE | awk -F: '{print $2}'` YFLAGS=`grep YFLAGS $TEMPLATE | awk -F: '{print $2}'` export AROPT SHARED_LIB CFLAGS SRCH_INC SRCH_LIB USE_LOCALE DLSUFFIX export DL_LIB YACC YFLAGS dnl We now need to check for additional directories (include dnl and library directories. echo "**************************************************************" echo "We now need to know if your compiler needs to search any echo "additional directories for include or library files. If echo "you don't know the answers to these questions, then just echo "hit enter and we will try and figure it out. If things echo "don't compile because of missing libraries or include echo "files, then you probably need to enter something here. echo "" $ECHO_N "Additional directories to search for include files { none }: $ECHO_C" read a if test "$a." != "." then SRCH_INC=$a CPPFLAGS=`echo "$SRCH_INC" | sed 's@ *@ @g; s@^\([^ ]\)@-I\1@; s@ \([^ ]\)@ -I\1@g'` else SRCH_INC= CPPFLAGS= fi export SRCH_INC CPPFLAGS $ECHO_N "Additional directories to search for library files { none }: $ECHO_C" read a if test "$a." != "." then SRCH_LIB=$a LDFLAGS=`echo "$SRCH_LIB" | sed 's@ *@ @g; s@^\([^ ]\)@-L\1@; s@ \([^ ]\)@ -L\1@g'` else SRCH_LIB= LDFLAGS= fi export SRCH_LIB LDFLAGS echo "**************************************************************" dnl We have read the default value of USE_LOCALE from the template dnl file. We have a further option of using dnl --disable locale to explicitly disable it dnl --enable locale to explicitly enable it dnl If you do not explicitly do it, it asks you here. dnl We need some explanatory text here. if test "$enable_locale" = "yes" -o "$enable_locale" = "no" then USE_LOCALE=$enable_locale else echo "Do you wish to enable LOCALE to get PostgreSQL to work with" $ECHO_N "national characters { $USE_LOCALE }: $ECHO_C" read a if test "$a" = "yes" then USE_LOCALE=yes else USE_LOCALE=no fi echo "**************************************************************" fi export USE_LOCALE 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 dnl otherwise we ask. if test "X$with_pgport" != "X" then DEF_PGPORT=$with_pgport else echo "By default, the PostgreSQL postmaster listens on port 5432. This" echo "can be overriden by command options, environment variables and the" echo "postconfig hook." echo "" $ECHO_N "Which port should the postmaster listen to by default { 5432 }: $ECHO_C" read a if test "X$a" != "X" then DEF_PGPORT=$a else DEF_PGPORT=5432 fi echo "**************************************************************" fi export DEF_PGPORT dnl Unless we specify the command line options dnl --disable hba to explicitly disable it dnl --enable hba to explicitly enable it dnl If you do not explicitly do it, it asks you here. dnl We need some explanatory text here. if test "$enable_hba" = "yes" then NOHBA=no elif test "$enable_hba" = "no" then NOHBA=yes else echo "Host Based Authentication (HBA) allows you to limit access" echo "to databases on a per-host basis." $ECHO_N "Disable Host Based Authentication { no }: $ECHO_C" read a if test "$a" = "yes" then NOHBA=yes else NOHBA=no fi echo "**************************************************************" fi export NOHBA AC_CONFIG_HEADER(include/config.h) dnl Checks for programs. AC_PROG_CC AC_PROG_CPP AC_LINK_FILES(port/${PORTNAME}.h, include/os.h) AC_SUBST(PORTNAME) AC_SUBST(TR) AC_SUBST(LDFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(AROPT) AC_SUBST(SHARED_LIB) AC_SUBST(CFLAGS) AC_SUBST(DLSUFFIX) AC_SUBST(DL_LIB) dnl **************************************************************** dnl Hold off on the C++ stuff until we can figure out why it doesn't dnl work under Solaris.. dnl dnl AC_PROG_CXX dnl dnl Check if we should set Have_Cplusplus dnl if test -n "$CXX"; then dnl export HAVECXX dnl HAVECXX='HAVE_Cplusplus=true' dnl fi dnl AC_SUBST(HAVECXX) dnl **************************************************************** HAVECXX='HAVE_Cplusplus=false' AC_SUBST(HAVECXX) dnl AC_PROG_INSTALL was broken on my machine (NAT), so here's an dnl alternative, built from the various portname options AC_PATH_PROG(INSTALL, install, /usr/bin:/usr/ucb:/home/tools/bin) AC_PATH_PROG(BSDINST, bsdinst, /usr/bin/X11:/usr/X11R6/bin:/sbin) INSTLOPTS="-m 444" INSTL_EXE_OPTS="-m 555" INSTL_LIB_OPTS="-m 664" if test -n "$INSTALL"; then INSTLOPTS="-c $INSTLOPTS" INSTL_EXE_OPTS="-c $INSTL_EXE_OPTS" INSTL_LIB_OPTS="-c $INSTL_LIB_OPTS" else INSTALL=$BSDINST fi AC_SUBST(INSTALL) AC_SUBST(INSTLOPTS) AC_SUBST(INSTL_LIB_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(tr, tr) AC_PATH_PROG(ipcs, ipcs) AC_PATH_PROG(ipcrm, ipcrm) 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(curses, main) 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)) 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(bsd, 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) 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) AC_CHECK_HEADERS(readline.h history.h dld.h crypt.h endian.h float.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 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 union semun) AC_TRY_LINK([#include #include #include ], [union semun semun;], [AC_DEFINE(HAVE_UNION_SEMUN) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no)) dnl Checks for library functions. AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP AC_TYPE_SIGNAL AC_FUNC_VPRINTF AC_CHECK_FUNCS(isinf tzset getrusage vfork memmove sigsetjmp kill sysconf) AC_CHECK_FUNCS(sigprocmask waitpid setsid random) AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON), INET_ATON='inet_aton.o') AC_CHECK_FUNC(strerror, AC_DEFINE(HAVE_STRERROR), STRERROR='strerror.o') AC_CHECK_FUNC(strdup, AC_DEFINE(HAVE_STRDUP), STRDUP='../../utils/strdup.o') AC_SUBST(STRDUP) AC_SUBST(INET_ATON) AC_SUBST(STRERROR) 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), AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT))) AC_MSG_CHECKING(setting USE_LOCALE) if test "$USE_LOCALE" = "yes" then AC_MSG_RESULT(enabled) AC_DEFINE(USE_LOCALE) else AC_MSG_RESULT(disabled) fi AC_MSG_CHECKING(setting DEF_PGPORT) AC_DEFINE_UNQUOTED(DEF_PGPORT, "${DEF_PGPORT}") AC_MSG_RESULT($DEF_PGPORT) AC_MSG_CHECKING(setting HBA) if test "$NOHBA" = "no" then AC_MSG_RESULT(enabled) AC_DEFINE(HBA) else AC_MSG_RESULT(disabled) fi AC_OUTPUT(GNUmakefile Makefile.global backend/port/Makefile bin/psql/Makefile bin/pg_dump/Makefile backend/utils/Gen_fmgrtab.sh)