configure.in 18.1 KB
Newer Older
B
Bruce Momjian 已提交
1
dnl Process this file with autoconf to produce a configure script.
2
AC_INIT(backend/access/common/heaptuple.c)
3
AC_PREFIX_DEFAULT(/usr/local/pgsql)
4 5

AC_CANONICAL_HOST
6

7
tas_file=dummy.s
8
case "$host_os" in
9
 solaris*)
B
Bruce Momjian 已提交
10 11 12 13
	case "$host_cpu" in
	  sparc) os=sparc_solaris need_tas=yes tas_file=sparc_solaris.s ;;
	   i386) os=i386_solaris need_tas=yes tas_file=i386_solaris.s ;;
	esac ;;
14 15 16 17 18 19 20 21 22 23
   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 ;;
24
    hpux*) os=hpux need_tas=yes tas_file=hpux.s ;;
25 26 27 28
     osf*) os=alpha need_tas=no ;;
     sco*) os=sco need_tas=no ;;
 machten*) os=machten need_tas=no ;;
  cygwin*) os=win need_tas=no ;;
B
Bruce Momjian 已提交
29
 sysv4.2*)
30
       case "$host_vendor" in
B
Bruce Momjian 已提交
31 32
	       univel) os=univel need_tas=no ;;
		    *) os=unknown need_tas=no ;;
33
       esac ;;
34
   sysv4*) os=svr4 need_tas=no ;;
35 36 37 38
*) echo ""
   echo "*************************************************************"
   echo "configure does not currently recognize your operating system,"
   echo "therefore you must do a manual configuration of:"
39
   echo "$host_os"
40 41 42 43 44 45
   echo "Please contact scrappy@hub.org to see about rectifying this, "
   echo "including the above 'checking host system type...' line "
   echo "*************************************************************"
   echo ""
   exit;;
esac
46

47
if test "X$need_tas" = "Xyes"
48
then
49
	AC_LINK_FILES(backend/port/tas/${tas_file}, backend/port/tas.s)
50
	TAS=tas.o
B
Bruce Momjian 已提交
51
	AC_SUBST(TAS)
52
fi
53

54
PORTNAME=${os}
55 56 57
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)
B
Bruce Momjian 已提交
58
AC_LINK_FILES(makefiles/Makefile.${os}, Makefile.port)
59

60 61
AC_SUBST(PORTNAME)

62 63 64 65 66 67 68 69 70 71 72 73
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
**************************************************************
B
Bruce Momjian 已提交
74
	PostreSQL v6.3.2 Installation Program
75 76

Welcome to the new improved PostgreSQL installation program.
B
Bruce Momjian 已提交
77
This configuration program is for version 6.3.2 of the
78 79 80 81 82
PostgreSQL software.

EOT

dnl this part selects the template from the one in the
B
Bruce Momjian 已提交
83
dnl template directory.
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

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
102
	GUESS=`grep "^$host_no_ver=" template/.similar 2>/dev/null`
B
Bruce Momjian 已提交
103
	if test ! "$GUESS"
B
Bruce Momjian 已提交
104 105
	then	host_no_ver=`echo "$host" | sed 's/[[0-9.]]*$//'`
		GUESS=`grep "$host_no_ver" template/.similar 2>/dev/null`
106
	fi
B
Bruce Momjian 已提交
107
	if test "$GUESS"
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
	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
B
Bruce Momjian 已提交
125
	TEMPLATE=template/$TEMPLATE
126
fi
127 128
export TEMPLATE
echo ""
129

130 131 132 133 134 135 136 137 138 139 140
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}'`
CC=`grep '^CC:' $TEMPLATE | awk -F: '{print $2}'`
141
LIBS=`grep '^LIBS:' $TEMPLATE | awk -F: '{print $2}'`
142 143


144
AC_ARG_WITH(includes,
B
Bruce Momjian 已提交
145
    [  --with-includes=DIR     site header files for tk/tcl, etc in DIR],
146 147 148 149 150 151 152 153 154 155 156
    [
	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
B
Bruce Momjian 已提交
157 158 159 160 161
		if test -d "$dir"; then
			PGSQL_CPPFLAGS="$PGSQL_CPPFLAGS -I$dir"
		else
			AC_MSG_WARN([*** Include directory $dir does not exist.])
		fi
162
	done
163 164
fi

165 166 167 168 169 170 171 172 173 174 175
AC_ARG_WITH(libs,
    [  --with-libs=DIR         site library directories 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-libs option.])
	  ;;
	esac
	LIBRARY_DIRS="$withval"
    ])

176
AC_ARG_WITH(libraries,
B
Bruce Momjian 已提交
177
    [  --with-libraries=DIR    site library directories for tk/tcl, etc in DIR],
178 179 180 181 182 183 184 185 186 187 188
    [
	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 $withval; do
B
Bruce Momjian 已提交
189 190 191 192 193
		if test -d "$dir"; then
			PGSQL_LDFLAGS="$PGSQL_LDFLAGS -L$dir"
		else
			AC_MSG_WARN([*** Library directory $dir does not exist.])
		fi
194
	done
195
fi
196

B
Bruce Momjian 已提交
197 198 199 200
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
201
dnl It defaults to disabled
202 203 204
AC_MSG_CHECKING(setting USE_LOCALE)
AC_ARG_ENABLE(
   locale,
B
Bruce Momjian 已提交
205
   [  --enable-locale	  enable locale support ],
206 207 208
   AC_DEFINE(USE_LOCALE) AC_MSG_RESULT(enabled),
   AC_MSG_RESULT(disabled)
)
209

210 211
dnl We exclude cyrillic recode support unless we override it with
dnl --enable-recode
B
Bruce Momjian 已提交
212 213
dnl	--disable-recode	to explicitly disable it
dnl	--enable-recode		to explicitly enable it
214
dnl It defaults to disabled
215 216 217
AC_MSG_CHECKING(setting CYR_RECODE)
AC_ARG_ENABLE(
   recode,
B
Bruce Momjian 已提交
218
   [  --enable-recode	  enable cyrillic recode support ],
219 220 221
   AC_DEFINE(CYR_RECODE) AC_MSG_RESULT(enabled),
   AC_MSG_RESULT(disabled)
)
222

B
Bruce Momjian 已提交
223
dnl We use the default value of 5432 for the DEF_PGPORT value.	If
224
dnl we over-ride it with --with-pgport=port then we bypass this piece
225 226 227
AC_MSG_CHECKING(setting DEF_PGPORT)
AC_ARG_WITH(
   pgport,
B
Bruce Momjian 已提交
228
   [  --with-pgport=<portnum> change default startup port ],
229
   AC_DEFINE_UNQUOTED(DEF_PGPORT, "${withval}") AC_MSG_RESULT($with_pgport),
230 231
   AC_DEFINE_UNQUOTED(DEF_PGPORT, "5432") AC_MSG_RESULT(5432)
)
232

233
dnl We exclude tcl support unless we override it with --with-tcl
234 235 236
AC_MSG_CHECKING(setting USE_TCL)
AC_ARG_WITH(
   tcl,
B
Bruce Momjian 已提交
237
   [  --with-tcl		  use tcl ],
M
Marc G. Fournier 已提交
238 239
   USE_TCL=true; AC_MSG_RESULT(enabled),
   USE_TCL=false; AC_MSG_RESULT(disabled)
240
)
241 242 243 244 245 246 247

dnl Add tcl/tk candidate directories to CPPFLAGS
if test "$USE_TCL"; then
	header_dirs="/usr/include $INCLUDE_DIRS"
	tcl_dirs="tcl8.0 tcl80 tcl7.6 tcl76"
	tk_dirs="tk8.0 tk4.2"
	for dir in $header_dirs; do
B
Bruce Momjian 已提交
248 249 250 251 252
		for tcl_dir in $tcl_dirs; do
			if test -d "$dir/$tcl_dir"; then
				PGSQL_CPPFLAGS="$PGSQL_CPPFLAGS -I$dir/$tcl_dir"
			fi
		done
253 254
	done
	for dir in $header_dirs; do
B
Bruce Momjian 已提交
255 256 257 258 259
		for tk_dir in $tk_dirs; do
			if test -d "$dir/$tk_dir"; then
			PGSQL_CPPFLAGS="$PGSQL_CPPFLAGS -I$dir/$tk_dir"
			fi
		done
260 261
	done
fi
262
export USE_TCL
263
USE_X=$USE_TCL
264 265

dnl We exclude perl support unless we override it with --with-perl
266 267 268
AC_MSG_CHECKING(setting USE_PERL)
AC_ARG_WITH(
   perl,
B
Bruce Momjian 已提交
269
   [  --with-perl		  use perl ],
M
Marc G. Fournier 已提交
270 271
   USE_PERL=true; AC_MSG_RESULT(enabled),
   USE_PERL=false; AC_MSG_RESULT(disabled)
272
)
273 274 275 276 277

dnl Verify that postgres is already installed
dnl per instructions for perl interface installation
if test "$USE_PERL" = "true"; then
	if test ! -x $prefix/bin/postgres; then
B
Bruce Momjian 已提交
278 279
		AC_MSG_WARN(perl support disabled; postgres not previously installed)
		USE_PERL=
280 281
	fi
fi
282 283
export USE_PERL

284
dnl Unless we specify the command line options
B
Bruce Momjian 已提交
285 286
dnl	--disable cassert	to explicitly disable it
dnl	--enable cassert	to explicitly enable it
287 288
dnl If you do not explicitly do it, it defaults to disabled - we
dnl should make the default enabled for the development cycle
289
dnl We need some explanatory text here.
290 291 292
AC_MSG_CHECKING(setting ASSERT CHECKING)
AC_ARG_ENABLE(
   cassert,
B
Bruce Momjian 已提交
293
   [  --enable-cassert	  enable assertion checks (debugging) ],
B
Bruce Momjian 已提交
294
   AC_DEFINE(USE_ASSERT_CHECKING) AC_MSG_RESULT(enabled),
295 296
   AC_MSG_RESULT(disabled)
)
297

298 299
if test "X$with_compiler" != "X"
then
B
Bruce Momjian 已提交
300
	CC=$with_compiler
301
else
B
Bruce Momjian 已提交
302
	AC_PROG_CC
303 304
fi

305 306 307 308 309 310 311
CPPFLAGS="$CPPFLAGS $PGSQL_CPPFLAGS"
export CPPFLAGS
echo "- setting CPPFLAGS=$CPPFLAGS"

LDFLAGS="$LDFLAGS $PGSQL_LDFLAGS"
export LDFLAGS
echo "- setting LDFLAGS=$LDFLAGS"
312

M
Marc G. Fournier 已提交
313 314 315 316 317
AC_CONFIG_HEADER(include/config.h)

dnl Checks for programs.
AC_PROG_CPP

318
AC_SUBST(PORTNAME)
319 320
AC_SUBST(LDFLAGS)
AC_SUBST(CPPFLAGS)
M
Marc G. Fournier 已提交
321
AC_SUBST(AROPT)
322 323 324 325
AC_SUBST(SHARED_LIB)
AC_SUBST(CFLAGS)
AC_SUBST(DLSUFFIX)
AC_SUBST(DL_LIB)
326 327
AC_SUBST(USE_TCL)
AC_SUBST(USE_PERL)
328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343

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)
344 345
INSTALLPATH="/usr/ucb:$PATH"
AC_PATH_PROGS(INSTALL, ginstall installbsd bsdinst scoinst install, NONE, $INSTALLPATH)
346 347
if test $INSTALL = "NONE"
then
B
Bruce Momjian 已提交
348 349
	echo "- No Install Script found - aborting."
	exit 0;
350
fi
351 352 353

INSTLOPTS="-m 444"
INSTL_EXE_OPTS="-m 555"
B
Bruce Momjian 已提交
354
INSTL_LIB_OPTS="-m 644"
355

356
case "`basename $INSTALL`" in
357
 install|installbsd|scoinst)
358 359
	INSTLOPTS="-c $INSTLOPTS"
	INSTL_EXE_OPTS="-c $INSTL_EXE_OPTS"
360 361
	INSTL_LIB_OPTS="-c $INSTL_LIB_OPTS";;
esac
362

363
echo "- Using $INSTALL"
364 365 366 367 368 369 370 371 372
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
B
Bruce Momjian 已提交
373 374
	DASH_N='-n'
	BACKSLASH_C=
375
else
B
Bruce Momjian 已提交
376 377 378 379 380 381
	if test "ECHO_C_OUT" -eq 0; then
		DASH_N=
		BACKSLASH_C='\\\\c'
	else
		AC_MSG_ERROR("echo behaviour undetermined")
	fi
382 383 384 385 386 387 388 389 390 391 392 393 394 395 396
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)
397
AC_PATH_PROGS(TR, trbsd tr, NOT_FOUND)
398

399
dnl Check tr flags to convert from lower to upper case
B
Bruce Momjian 已提交
400 401
TRSTRINGS="`echo ABCdef | $TR '[[a-z]]' '[[A-Z]]' 2>/dev/null | grep ABCDEF`"
TRCLASS="`echo ABCdef | $TR '[[:lower:]]' '[[:upper:]]' 2>/dev/null | grep ABCDEF`"
402 403

if test "$TRSTRINGS" = "ABCDEF"; then
B
Bruce Momjian 已提交
404
	TRARGS="'[[a-z]]' '[[A-Z]]'"
405
elif test "$TRCLASS" = "ABCDEF"; then
B
Bruce Momjian 已提交
406
	TRARGS="'[[:lower:]]' '[[:upper:]]'"
407
else
B
Bruce Momjian 已提交
408
	AC_MSG_ERROR("Can\'t find method to covert from upper to lower case with tr")
409 410 411
fi
AC_SUBST(TRARGS)

412 413 414 415 416 417 418 419 420
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)
B
Bruce Momjian 已提交
421
if test -f "$YACC"
422 423 424 425 426 427 428 429 430 431 432 433 434 435
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

436 437
AC_CHECK_LIB(curses,   main)
AC_CHECK_LIB(termcap,  main)
M
Marc G. Fournier 已提交
438 439 440
AC_CHECK_LIB(history,  main)
AC_CHECK_LIB(readline, main)
AC_CHECK_LIB(readline, write_history, AC_DEFINE(HAVE_HISTORY))
B
Bruce Momjian 已提交
441
if test "$PORTNAME" != "aix" -a "$PORTNAME" != "alpha"
442 443 444
then
	AC_CHECK_LIB(bsd,      main)
fi
445 446 447 448 449 450 451 452 453 454 455 456
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)
B
Bruce Momjian 已提交
457
AC_CHECK_LIB(crypt,    main)
458
AC_CHECK_LIB(gen,      main)
B
Bruce Momjian 已提交
459
AC_CHECK_LIB(PW,       main)
460 461 462 463 464

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)
465
AC_CHECK_HEADERS(sys/resource.h netdb.h arpa/inet.h getopt.h)
M
Marc G. Fournier 已提交
466
AC_CHECK_HEADERS(readline.h history.h dld.h crypt.h endian.h float.h)
B
Bruce Momjian 已提交
467 468
AC_CHECK_HEADERS(readline/readline.h readline/history.h ieeefp.h fp_class.h)
AC_CHECK_HEADERS(netinet/in.h string.h strings.h)
469 470 471 472 473 474 475 476 477 478 479 480

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
481
AC_MSG_CHECKING(for int timezone)
B
Bruce Momjian 已提交
482 483 484 485
AC_TRY_LINK([#include <time.h>],
	    [int res = timezone / 60; ],
	    [AC_DEFINE(HAVE_INT_TIMEZONE) AC_MSG_RESULT(yes)],
	    AC_MSG_RESULT(no))
486

487
AC_MSG_CHECKING(for gettimeofday args)
B
Bruce Momjian 已提交
488 489 490 491
AC_TRY_LINK([#include <sys/time.h>],
	    [struct timeval *tp; struct timezone *tzp; gettimeofday(tp,tzp); ],
	    [AC_DEFINE(HAVE_GETTIMEOFDAY_2_ARGS) AC_MSG_RESULT(2 args)],
	    AC_MSG_RESULT(no))
492

493 494
AC_MSG_CHECKING(for union semun)
AC_TRY_LINK([#include <sys/types.h>
495
#include <sys/ipc.h>
496
#include <sys/sem.h>],
B
Bruce Momjian 已提交
497 498 499
	    [union semun semun;],
	    [AC_DEFINE(HAVE_UNION_SEMUN) AC_MSG_RESULT(yes)],
	    AC_MSG_RESULT(no))
500 501 502 503 504 505

dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_TYPE_SIGNAL
AC_FUNC_VPRINTF
506 507
AC_CHECK_FUNCS(tzset vfork memmove sigsetjmp kill sysconf fpclass)
AC_CHECK_FUNCS(fp_class fp_class_d class)
508
AC_CHECK_FUNCS(sigprocmask waitpid setsid fcvt)
B
Bruce Momjian 已提交
509 510 511
AC_CHECK_FUNC(isinf,
	      AC_DEFINE(HAVE_ISINF),
	      ISINF='isinf.o')
512
AC_SUBST(ISINF)
B
Bruce Momjian 已提交
513 514 515
AC_CHECK_FUNC(getrusage,
	      AC_DEFINE(HAVE_GETRUSAGE),
	      GETRUSAGE='getrusage.o')
516
AC_SUBST(GETRUSAGE)
B
Bruce Momjian 已提交
517 518 519
AC_CHECK_FUNC(srandom,
	      AC_DEFINE(HAVE_SRANDOM),
	      SRANDOM='srandom.o')
520
AC_SUBST(SRANDOM)
B
Bruce Momjian 已提交
521 522 523
AC_CHECK_FUNC(gethostname,
	      AC_DEFINE(HAVE_GETHOSTNAME),
	      GETHOSTNAME='gethostname.o')
524
AC_SUBST(GETHOSTNAME)
B
Bruce Momjian 已提交
525 526 527
AC_CHECK_FUNC(random,
	      AC_DEFINE(HAVE_RANDOM),
	      MISSING_RANDOM='random.o')
528
AC_SUBST(MISSING_RANDOM)
B
Bruce Momjian 已提交
529 530 531
AC_CHECK_FUNC(inet_aton,
	      AC_DEFINE(HAVE_INET_ATON),
	      INET_ATON='inet_aton.o')
532
AC_SUBST(INET_ATON)
B
Bruce Momjian 已提交
533 534 535
AC_CHECK_FUNC(strerror,
	      AC_DEFINE(HAVE_STRERROR),
	      [STRERROR='strerror.o' STRERROR2='../../backend/port/strerror.o'])
536 537
AC_SUBST(STRERROR)
AC_SUBST(STRERROR2)
B
Bruce Momjian 已提交
538 539 540
AC_CHECK_FUNC(strdup,
	      AC_DEFINE(HAVE_STRDUP),
	      STRDUP='../../utils/strdup.o')
541
AC_SUBST(STRDUP)
B
Bruce Momjian 已提交
542 543 544
AC_CHECK_FUNC(strtol,
	      AC_DEFINE(HAVE_STRTOL),
	      STRTOL='strtol.o')
M
Marc G. Fournier 已提交
545
AC_SUBST(STRTOL)
B
Bruce Momjian 已提交
546 547 548
AC_CHECK_FUNC(strtoul,
	      AC_DEFINE(HAVE_STRTOUL),
	      STRTOL='strtoul.o')
M
Marc G. Fournier 已提交
549
AC_SUBST(STRTOUL)
B
Bruce Momjian 已提交
550 551 552
AC_CHECK_FUNC(strcasecmp,
	      AC_DEFINE(HAVE_STRCASECMP),
	      STRCASECMP='strcasecmp.o')
553
AC_SUBST(STRCASECMP)
B
Bruce Momjian 已提交
554 555 556 557 558 559
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)))
560

561 562 563 564
dnl Check for X libraries

if test "$USE_X" = true; then

B
Bruce Momjian 已提交
565 566 567 568
	ice_save_LIBS="$LIBS"
	ice_save_CFLAGS="$CFLAGS"
	ice_save_CPPFLAGS="$CPPFLAGS"
	ice_save_LDFLAGS="$LDFLAGS"
569

B
Bruce Momjian 已提交
570
	AC_PATH_XTRA
571

B
Bruce Momjian 已提交
572 573 574 575
	LIBS="$LIBS $X_EXTRA_LIBS"
	CFLAGS="$CFLAGS $X_CFLAGS"
	CPPFLAGS="$CPPFLAGS $X_CFLAGS"
	LDFLAGS="$LDFLAGS $X_LIBS"
576

B
Bruce Momjian 已提交
577
	dnl Check for X library
578

B
Bruce Momjian 已提交
579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595
	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"
596 597 598 599 600 601 602 603
fi

dnl Check for location of Tcl support
dnl Disable Tcl support if not found

dnl Check for tcl.h
if test "$USE_TCL" = "true"
then
B
Bruce Momjian 已提交
604 605 606 607 608 609
	TCL_INCDIR=no
	AC_CHECK_HEADER(tcl.h, TCL_INCDIR=yes)
	if test "$TCL_INCDIR" = "no"; then
		AC_MSG_WARN(tcl support disabled; tcl.h missing)
		USE_TCL=
	fi
610 611 612
fi

dnl Check for Tcl archive
613 614 615 616
if test "$USE_TCL" = "true"; then
	TCL_LIB=
	tcl_libs="tcl8.0 tcl80 tcl7.6 tcl76 tcl"
	for tcl_lib in $tcl_libs; do
B
Bruce Momjian 已提交
617 618 619
		if test -z "$TCL_LIB"; then
			AC_CHECK_LIB($tcl_lib, main, TCL_LIB=$tcl_lib)
		fi
620 621
	done
	if test -z "$TCL_LIB"; then
B
Bruce Momjian 已提交
622 623
		AC_MSG_WARN(tcl support disabled; Tcl library missing)
		USE_TCL=
624
	else
B
Bruce Momjian 已提交
625
		TCL_LIB=-l$TCL_LIB
626 627
	fi
	AC_SUBST(TCL_LIB)
628 629 630 631 632 633 634 635
fi

dnl Check for location of Tk support (only if Tcl used)
dnl Disable Tcl support if Tk not found

dnl Check for tk.h
if test "$USE_TCL" = "true"
then
B
Bruce Momjian 已提交
636 637 638 639 640 641 642 643 644 645 646 647 648
	ice_save_LIBS="$LIBS"
	ice_save_CFLAGS="$CFLAGS"
	ice_save_CPPFLAGS="$CPPFLAGS"
	ice_save_LDFLAGS="$LDFLAGS"

	CPPFLAGS="$CPPFLAGS $X_CFLAGS"

	TK_INCDIR=no
	AC_CHECK_HEADER(tk.h, TK_INCDIR=yes)
	if test "$TK_INCDIR" = "no"; then
		AC_MSG_WARN(tcl support disabled; tk.h missing)
		USE_TCL=
	fi
649

B
Bruce Momjian 已提交
650 651 652 653
	LIBS="$ice_save_LIBS"
	CFLAGS="$ice_save_CFLAGS"
	CPPFLAGS="$ice_save_CPPFLAGS"
	LDFLAGS="$ice_save_LDFLAGS"
654 655 656 657 658
fi

dnl Check for Tk archive
if test "$USE_TCL" = "true"
then
B
Bruce Momjian 已提交
659 660 661 662 663 664 665 666 667 668
	ice_save_LIBS="$LIBS"
	ice_save_CFLAGS="$CFLAGS"
	ice_save_CPPFLAGS="$CPPFLAGS"
	ice_save_LDFLAGS="$LDFLAGS"

	LIBS="$LIBS $X_EXTRA_LIBS"
	CFLAGS="$CFLAGS $X_CFLAGS"
	CPPFLAGS="$CPPFLAGS $X_CFLAGS"
	LDFLAGS="$LDFLAGS $X_LIBS"

B
Bruce Momjian 已提交
669 670 671
	TK_LIB=
	tk_libs="tk8.0 tk80 tk4.2 tk42 tk"
	for tk_lib in $tk_libs; do
B
Bruce Momjian 已提交
672
		if test -z "$TK_LIB"; then
673
			AC_CHECK_LIB($tk_lib, main, TK_LIB=$tk_lib,, $TCL_LIB $X_PRE_LIBS $X_LIBS $X11_LIBS)
B
Bruce Momjian 已提交
674
		fi
B
Bruce Momjian 已提交
675 676
	done
	if test -z "$TK_LIB"; then
B
Bruce Momjian 已提交
677 678
		AC_MSG_WARN(tk support disabled; Tk library missing)
		USE_TCL=
B
Bruce Momjian 已提交
679
	else
B
Bruce Momjian 已提交
680
		TK_LIB=-l$TK_LIB
B
Bruce Momjian 已提交
681
	fi
B
Bruce Momjian 已提交
682

B
Bruce Momjian 已提交
683
	AC_SUBST(TK_LIB)
B
Bruce Momjian 已提交
684 685 686 687 688

	LIBS="$ice_save_LIBS"
	CFLAGS="$ice_save_CFLAGS"
	CPPFLAGS="$ice_save_CPPFLAGS"
	LDFLAGS="$ice_save_LDFLAGS"
689 690
fi

B
Bruce Momjian 已提交
691
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 interfaces/ecpg/lib/Makefile )