mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
531 lines
14 KiB
Plaintext
531 lines
14 KiB
Plaintext
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) os=sparc_solaris ;;
|
|
i386)
|
|
os=i386_solaris
|
|
AC_LINK_FILES(backend/port/tas/i386_solaris.s, backend/port/tas.s)
|
|
TAS=tas.o
|
|
AC_SUBST(TAS) ;;
|
|
esac ;;
|
|
sunos*) os=sunos4 ;;
|
|
linux*) os=linux ;;
|
|
bsdi*) os=bsdi ;;
|
|
freebsd*|netbsd*) os=bsd ;;
|
|
dgux*) os=dgux;;
|
|
aix*) os=aix ;;
|
|
nextstep*) os=nextstep;;
|
|
ultrix*) os=ultrix4;;
|
|
irix*) os=irix5;;
|
|
hpux*) os=hpux;;
|
|
osf*) os=alpha;;
|
|
sco*) os=sco;;
|
|
sysv4*) os=svr4;;
|
|
machten*) os=machten;;
|
|
sysv4.2*)
|
|
case "$host_vendor" in
|
|
univel) os=univel;;
|
|
*) os=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
|
|
|
|
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)
|
|
|
|
AC_SUBST(PORTNAME)
|
|
|
|
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.2 Installation Program
|
|
|
|
Welcome to the new improved PostgreSQL installation program.
|
|
This configuration program is for version 6.2 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" template/.similar 2>/dev/null`
|
|
if test ! "$GUESS"
|
|
then host_no_ver=`echo "$host" | sed 's/[[0-9.]]*$//'`
|
|
GUESS=`grep "$host_no_ver" template/.similar 2>/dev/null`
|
|
fi
|
|
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"
|
|
if test "X$with_defaults" = "Xyes"
|
|
then
|
|
a=$SRCH_INC
|
|
echo ""
|
|
else
|
|
read a
|
|
fi
|
|
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"
|
|
if test "X$with_defaults" = "Xyes"
|
|
then
|
|
a=$SRCH_LIB
|
|
echo ""
|
|
else
|
|
read a
|
|
fi
|
|
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 We exclude tcl support unless we override it with --with-tcl
|
|
if test "X$with_tcl" = "Xyes"
|
|
then
|
|
USE_TCL=true
|
|
else
|
|
USE_TCL=
|
|
fi
|
|
export USE_TCL
|
|
|
|
dnl We exclude perl support unless we override it with --with-perl
|
|
if test "X$with_perl" = "Xyes"
|
|
then
|
|
USE_PERL=true
|
|
else
|
|
USE_PERL=
|
|
fi
|
|
export USE_PERL
|
|
|
|
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_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)
|
|
AC_SUBST(USE_TCL)
|
|
AC_SUBST(USE_PERL)
|
|
|
|
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)
|
|
INSTALLPATH="/usr/ucb:$PATH"
|
|
AC_PATH_PROGS(INSTALL, ginstall installbsd bsdinst scoinst install, NONE, $INSTALLPATH)
|
|
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|scoinst)
|
|
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 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 covert 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(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))
|
|
if test "$PORTNAME" != "aix"
|
|
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)
|
|
AC_CHECK_HEADERS(readline.h history.h dld.h crypt.h endian.h float.h)
|
|
AC_CHECK_HEADERS(readline/history.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 vfork memmove sigsetjmp kill sysconf)
|
|
AC_CHECK_FUNCS(sigprocmask waitpid setsid fcvt)
|
|
AC_CHECK_FUNC(getrusage,
|
|
AC_DEFINE(HAVE_GETRUSAGE),
|
|
GETRUSAGE='getrusage.o')
|
|
AC_CHECK_FUNC(srandom,
|
|
AC_DEFINE(HAVE_SRANDOM),
|
|
SRANDOM='srandom.o')
|
|
AC_CHECK_FUNC(gethostname,
|
|
AC_DEFINE(HAVE_GETHOSTNAME),
|
|
GETHOSTNAME='gethostname.o')
|
|
AC_CHECK_FUNC(random,
|
|
AC_DEFINE(HAVE_RANDOM),
|
|
MISSING_RANDOM='random.o')
|
|
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' STRERROR2='../../backend/port/strerror.o'])
|
|
AC_CHECK_FUNC(strdup,
|
|
AC_DEFINE(HAVE_STRDUP),
|
|
STRDUP='../../utils/strdup.o')
|
|
AC_CHECK_FUNC(strtol,
|
|
AC_DEFINE(HAVE_STRTOL),
|
|
STRDUP='strtol.o')
|
|
AC_CHECK_FUNC(strcasecmp,
|
|
AC_DEFINE(HAVE_STRCASECMP),
|
|
STRCASECMP='strcasecmp.o')
|
|
AC_SUBST(GETRUSAGE)
|
|
AC_SUBST(GETHOSTNAME)
|
|
AC_SUBST(SRANDOM)
|
|
AC_SUBST(MISSING_RANDOM)
|
|
AC_SUBST(STRDUP)
|
|
AC_SUBST(STRCASECMP)
|
|
AC_SUBST(INET_ATON)
|
|
AC_SUBST(STRERROR)
|
|
AC_SUBST(STRERROR2)
|
|
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/pg_version/Makefile bin/psql/Makefile bin/pg_dump/Makefile backend/utils/Gen_fmgrtab.sh interfaces/libpq/Makefile interfaces/libpgtcl/Makefile)
|