mirror of
https://github.com/postgres/postgres.git
synced 2026-03-03 05:40:43 -05:00
Fixes a problem Darren reports with AIX, and doesn't seem to break either FreeBSD or Linux(David?)...
429 lines
11 KiB
Text
429 lines
11 KiB
Text
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';;
|
|
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 <<EOT
|
|
**************************************************************
|
|
PostreSQL v6.1 Installation Program
|
|
|
|
Welcome to the new improved PostgreSQL installation program.
|
|
This configuration program is for version 6.1alpha of the
|
|
PostgreSQL software.
|
|
|
|
EOT
|
|
|
|
dnl this part selects the template from the one in the
|
|
dnl template directory.
|
|
|
|
if test "X$with_template" != "X"
|
|
then
|
|
TEMPLATE=template/$with_template
|
|
else
|
|
TEMPLATE=DO_NOT_CHANGE_THIS_INVALID_FILENAME
|
|
fi
|
|
|
|
if test ! -f $TEMPLATE
|
|
then
|
|
cat <<EOT
|
|
Please select a template from the ones listed below. If no
|
|
template is available, then select the 'generic' one and
|
|
consider emailling scrappy@hub.org with the above line which
|
|
starts 'checking host system type...'
|
|
**************************************************************
|
|
EOT
|
|
TEMPLATE=generic
|
|
GUESS=`grep $host_os template/.similar 2>/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
|
|
fi
|
|
export TEMPLATE
|
|
echo ""
|
|
|
|
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}'`
|
|
|
|
|
|
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 "enter 'none' or new directories to override default"
|
|
echo ""
|
|
$ECHO_N "Additional directories to search for include files { $SRCH_INC }: $ECHO_C"
|
|
read a
|
|
if test "$a." = "none."
|
|
then
|
|
SRCH_INC=
|
|
CPPFLAGS=
|
|
else
|
|
if test "$a." = "."
|
|
then
|
|
a=$SRCH_INC
|
|
fi
|
|
CPPFLAGS=`echo "$a" | sed 's@ *@ @g; s@^\([[^ ]]\)@-I\1@; s@ \([[^ ]]\)@ -I\1@g'`
|
|
|
|
fi
|
|
export CPPFLAGS
|
|
echo "- setting CPPFLAGS=$CPPFLAGS"
|
|
|
|
$ECHO_N "Additional directories to search for library files { $SRCH_LIB }: $ECHO_C"
|
|
read a
|
|
if test "$a." = "none."
|
|
then
|
|
SRCH_LIB=
|
|
LDFLAGS=
|
|
else
|
|
if test "$a." = "."
|
|
then
|
|
a=$SRCH_LIB
|
|
fi
|
|
LDFLAGS=`echo "$a" | sed 's@ *@ @g; s@^\([[^ ]]\)@-L\1@; s@ \([[^ ]]\)@ -L\1@g'`
|
|
|
|
fi
|
|
export LDFLAGS
|
|
echo "- setting LDFLAGS=$LDFLAGS"
|
|
|
|
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 It defaults to disabled
|
|
if test "$enable_locale" = "yes" -o "$enable_locale" = "no"
|
|
then
|
|
USE_LOCALE=$enable_locale
|
|
else
|
|
USE_LOCALE=no
|
|
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
|
|
if test "X$with_pgport" != "X"
|
|
then
|
|
DEF_PGPORT=$with_pgport
|
|
else
|
|
DEF_PGPORT=5432
|
|
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 The default is to enable it
|
|
if test "$enable_hba" = "yes"
|
|
then
|
|
NOHBA=no
|
|
elif test "$enable_hba" = "no"
|
|
then
|
|
NOHBA=yes
|
|
else
|
|
NOHBA=no
|
|
fi
|
|
export NOHBA
|
|
|
|
dnl Unless we specify the command line options
|
|
dnl --disable cassert to explicitly disable it
|
|
dnl --enable cassert to explicitly enable it
|
|
dnl If you do not explicitly do it, it defaults to disabled - we
|
|
dnl should make the default enabled for the development cycle
|
|
dnl We need some explanatory text here.
|
|
echo ""
|
|
|
|
if test "$enable_cassert" = "no"
|
|
then
|
|
echo "-ASSERT CHECKING disabled"
|
|
AC_DEFINE(NO_ASSERT_CHECKING)
|
|
elif test "$enable_cassert" = "yes"
|
|
then
|
|
echo "-ASSERT CHECKING enabled"
|
|
else
|
|
echo "-ASSERT CHECKING disabled"
|
|
AC_DEFINE(NO_ASSERT_CHECKING)
|
|
fi
|
|
|
|
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
|
|
if test "X$with_compiler" != "X"
|
|
then
|
|
CC=$with_compiler
|
|
else
|
|
AC_PROG_CC
|
|
fi
|
|
|
|
|
|
AC_CONFIG_HEADER(include/config.h)
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CPP
|
|
|
|
AC_LINK_FILES(include/port/${PORTNAME}.h, include/os.h)
|
|
AC_LINK_FILES(makefiles/Makefile.${PORTNAME}, Makefile.port)
|
|
AC_SUBST(PORTNAME)
|
|
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)
|
|
|
|
AC_PATH_PROGS(INSTALL, installbsd install bsdinst, NONE, $PATH)
|
|
if test $INSTALL = "NONE"
|
|
then
|
|
echo "- No Install Script found - aborting."
|
|
exit 0;
|
|
fi
|
|
|
|
INSTLOPTS="-m 444"
|
|
INSTL_EXE_OPTS="-m 555"
|
|
INSTL_LIB_OPTS="-m 664"
|
|
|
|
case "`basename $INSTALL`" in
|
|
install|installbsd)
|
|
INSTLOPTS="-c $INSTLOPTS"
|
|
INSTL_EXE_OPTS="-c $INSTL_EXE_OPTS"
|
|
INSTL_LIB_OPTS="-c $INSTL_LIB_OPTS";;
|
|
esac
|
|
|
|
echo "- Using $INSTALL"
|
|
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(ipcs, ipcs)
|
|
AC_PATH_PROG(ipcrm, ipcrm)
|
|
AC_PATH_PROGS(TR, trbsd tr, NOT_FOUND)
|
|
|
|
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(bsd, main)
|
|
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)
|
|
|
|
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 <time.h>],
|
|
[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 <sys/types.h>
|
|
#include <sys/ipc.h>
|
|
#include <sys/sem.h>],
|
|
[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 fcvt)
|
|
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)
|