configure.in 18.6 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
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
B
Bruce Momjian 已提交
73
dnl template directory.
74

75 76 77 78 79
AC_MSG_CHECKING(setting template to)
AC_ARG_WITH(template,
    [  --with-template=TEMPLATE
                          use operating system template file 
                              see template directory],
80 81
    [  TEMPLATE=$withval ],
    [  host_no_ver=`echo "$host" | sed 's/[[0-9.]]*$//'`
B
Bruce Momjian 已提交
82
       GUESS=`grep "$host_no_ver" template/.similar | sed 's/.*=//' | tail -1`
83
       if test "$GUESS"
B
Bruce Momjian 已提交
84 85
       then	TEMPLATE="$GUESS"
       else	TEMPLATE=`uname -s | tr A-Z a-z` 
86 87
       fi
    ])
88
AC_MSG_RESULT($TEMPLATE)
89 90 91 92 93 94 95

if test "$TEMPLATE" = "linux-elf"; then
	LINUX_ELF=yes
else
	LINUX_ELF=no
fi
AC_SUBST(LINUX_ELF)
96 97
        
export TEMPLATE
98
if test ! -f "template/$TEMPLATE"; then
99 100 101 102 103
	echo ""
	echo "$TEMPLATE does not exist"
	echo ""
	echo "Available Templates (set using --with-template):"
	echo ""
104
	ls template
105 106
	echo ""
	exit
107 108
fi

109 110 111 112 113 114 115 116 117 118 119 120
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}'`
121 122


123
AC_ARG_WITH(includes,
B
Bruce Momjian 已提交
124
    [  --with-includes=DIR     site header files for tk/tcl, etc in DIR],
125 126 127 128 129 130 131 132 133 134 135
    [
	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 已提交
136 137 138 139 140
		if test -d "$dir"; then
			PGSQL_CPPFLAGS="$PGSQL_CPPFLAGS -I$dir"
		else
			AC_MSG_WARN([*** Include directory $dir does not exist.])
		fi
141
	done
142 143
fi

144 145 146 147 148 149 150 151 152 153 154
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"
    ])

155
AC_ARG_WITH(libraries,
B
Bruce Momjian 已提交
156
    [  --with-libraries=DIR    site library directories for tk/tcl, etc in DIR],
157 158 159 160 161 162 163 164 165 166
    [
	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
167
	for dir in $LIBRARY_DIRS; do
B
Bruce Momjian 已提交
168 169 170 171 172
		if test -d "$dir"; then
			PGSQL_LDFLAGS="$PGSQL_LDFLAGS -L$dir"
		else
			AC_MSG_WARN([*** Library directory $dir does not exist.])
		fi
173
	done
174
fi
175

B
Bruce Momjian 已提交
176 177 178
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
179
dnl It defaults to disabled
180 181 182
AC_MSG_CHECKING(setting USE_LOCALE)
AC_ARG_ENABLE(
   locale,
B
Bruce Momjian 已提交
183
   [  --enable-locale	  enable locale support ],
184 185 186
   AC_DEFINE(USE_LOCALE) AC_MSG_RESULT(enabled),
   AC_MSG_RESULT(disabled)
)
187

188
dnl We exclude cyrillic recode support unless we override it with
B
Bruce Momjian 已提交
189
dnl	--enable-recode		to explicitly enable it
190
dnl It defaults to disabled
191 192 193
AC_MSG_CHECKING(setting CYR_RECODE)
AC_ARG_ENABLE(
   recode,
B
Bruce Momjian 已提交
194
   [  --enable-recode	  enable cyrillic recode support ],
195 196 197
   AC_DEFINE(CYR_RECODE) AC_MSG_RESULT(enabled),
   AC_MSG_RESULT(disabled)
)
198

M
Marc G. Fournier 已提交
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
AC_MSG_CHECKING(setting MB)
AC_ARG_WITH(mb,
    [  --with-mb=<encoding> enable multi-byte support ], 
    [
	case "$withval" in
	EUC_JP|EHC_CN|EUC_KR|EUC_TW|UNICODE|MULE_INTERNAL)
            MB="$withval";
	    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])
	  ;;
	esac
	MB="$withval"
    ],
    AC_MSG_RESULT("disabled")
)

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

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

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 已提交
242 243 244 245 246
		for tcl_dir in $tcl_dirs; do
			if test -d "$dir/$tcl_dir"; then
				PGSQL_CPPFLAGS="$PGSQL_CPPFLAGS -I$dir/$tcl_dir"
			fi
		done
247 248
	done
	for dir in $header_dirs; do
B
Bruce Momjian 已提交
249 250 251 252 253
		for tk_dir in $tk_dirs; do
			if test -d "$dir/$tk_dir"; then
			PGSQL_CPPFLAGS="$PGSQL_CPPFLAGS -I$dir/$tk_dir"
			fi
		done
254 255
	done
fi
256
export USE_TCL
257
USE_X=$USE_TCL
258 259

dnl We exclude perl support unless we override it with --with-perl
260 261 262
AC_MSG_CHECKING(setting USE_PERL)
AC_ARG_WITH(
   perl,
B
Bruce Momjian 已提交
263
   [  --with-perl		  use perl ],
M
Marc G. Fournier 已提交
264 265
   USE_PERL=true; AC_MSG_RESULT(enabled),
   USE_PERL=false; AC_MSG_RESULT(disabled)
266
)
267 268 269

dnl Verify that postgres is already installed
dnl per instructions for perl interface installation
B
Bruce Momjian 已提交
270 271 272 273
if test "$USE_PERL" = "true"
then
	if test ! -x "$prefix"/bin/postgres -a ! -x "$ac_default_prefix"/bin/postgres
	then	AC_MSG_WARN(perl support disabled; postgres not previously installed)
B
Bruce Momjian 已提交
274
		USE_PERL=
275 276
	fi
fi
277 278
export USE_PERL

279
dnl Unless we specify the command line options
B
Bruce Momjian 已提交
280
dnl	--enable cassert	to explicitly enable it
281
dnl If you do not explicitly do it, it defaults to disabled
282 283 284
AC_MSG_CHECKING(setting ASSERT CHECKING)
AC_ARG_ENABLE(
   cassert,
B
Bruce Momjian 已提交
285
   [  --enable-cassert	  enable assertion checks (debugging) ],
B
Bruce Momjian 已提交
286
   AC_DEFINE(USE_ASSERT_CHECKING) AC_MSG_RESULT(enabled),
287 288
   AC_MSG_RESULT(disabled)
)
289

290 291
if test "X$with_compiler" != "X"
then
B
Bruce Momjian 已提交
292
	CC=$with_compiler
293
else
B
Bruce Momjian 已提交
294
	AC_PROG_CC
295 296
fi

297 298 299 300 301 302 303 304
if test "$CC" = "gcc"
then
	CC_VERSION=`${CC} --version`
else
	CC_VERSION=""
fi
AC_SUBST(CC_VERSION)

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)
M
Marc G. Fournier 已提交
328
AC_SUBST(MB)
329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344

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

INSTLOPTS="-m 444"
INSTL_EXE_OPTS="-m 555"
B
Bruce Momjian 已提交
355
INSTL_LIB_OPTS="-m 644"
356 357 358 359 360 361 362
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
363

364
case "`basename $INSTALL`" in
365
 install|installbsd|scoinst)
366 367
	INSTLOPTS="-c $INSTLOPTS"
	INSTL_EXE_OPTS="-c $INSTL_EXE_OPTS"
368 369
	INSTL_LIB_OPTS="-c $INSTL_LIB_OPTS"
	INSTL_SHLIB_OPTS="-c $INSTL_SHLIB_OPTS";;
370
esac
371

372
echo "- Using $INSTALL"
373 374 375
AC_SUBST(INSTALL)
AC_SUBST(INSTLOPTS)
AC_SUBST(INSTL_LIB_OPTS)
376
AC_SUBST(INSTL_SHLIB_OPTS)
377 378 379 380 381 382
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 已提交
383 384
	DASH_N='-n'
	BACKSLASH_C=
385
else
B
Bruce Momjian 已提交
386 387 388 389 390 391
	if test "ECHO_C_OUT" -eq 0; then
		DASH_N=
		BACKSLASH_C='\\\\c'
	else
		AC_MSG_ERROR("echo behaviour undetermined")
	fi
392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
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)
407
AC_PATH_PROGS(TR, trbsd tr, NOT_FOUND)
408

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

if test "$TRSTRINGS" = "ABCDEF"; then
B
Bruce Momjian 已提交
414
	TRARGS="'[[a-z]]' '[[A-Z]]'"
415
elif test "$TRCLASS" = "ABCDEF"; then
B
Bruce Momjian 已提交
416
	TRARGS="'[[:lower:]]' '[[:upper:]]'"
417
else
418
	AC_MSG_ERROR("Can\'t find method to convert from upper to lower case with tr")
419 420 421
fi
AC_SUBST(TRARGS)

422 423 424 425 426 427 428 429 430
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 已提交
431
if test -f "$YACC"
432 433 434 435 436 437 438 439 440 441 442 443 444 445
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

M
Marc G. Fournier 已提交
446
AC_CHECK_LIB(sfio,     main)
M
 
Marc G. Fournier 已提交
447 448 449 450
for curses in ncurses curses ; do
	AC_CHECK_LIB(${curses}, main,
		[LIBS="-l${curses} $LIBS"; break])
done
451
AC_CHECK_LIB(termcap,  main)
M
Marc G. Fournier 已提交
452 453 454
AC_CHECK_LIB(history,  main)
AC_CHECK_LIB(readline, main)
AC_CHECK_LIB(readline, write_history, AC_DEFINE(HAVE_HISTORY))
B
Bruce Momjian 已提交
455
if test "$PORTNAME" != "aix" -a "$PORTNAME" != "alpha"
456 457 458
then
	AC_CHECK_LIB(bsd,      main)
fi
459 460 461 462 463 464 465 466 467 468 469 470
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 已提交
471
AC_CHECK_LIB(crypt,    main)
472
AC_CHECK_LIB(gen,      main)
B
Bruce Momjian 已提交
473
AC_CHECK_LIB(PW,       main)
474 475 476 477 478

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)
479
AC_CHECK_HEADERS(sys/resource.h netdb.h arpa/inet.h getopt.h)
M
Marc G. Fournier 已提交
480
AC_CHECK_HEADERS(readline.h history.h dld.h crypt.h endian.h float.h)
B
Bruce Momjian 已提交
481 482
AC_CHECK_HEADERS(readline/readline.h readline/history.h ieeefp.h fp_class.h)
AC_CHECK_HEADERS(netinet/in.h string.h strings.h)
483 484 485 486 487 488 489 490 491 492 493 494

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
495
AC_MSG_CHECKING(for int timezone)
B
Bruce Momjian 已提交
496 497 498 499
AC_TRY_LINK([#include <time.h>],
	    [int res = timezone / 60; ],
	    [AC_DEFINE(HAVE_INT_TIMEZONE) AC_MSG_RESULT(yes)],
	    AC_MSG_RESULT(no))
500

501
AC_MSG_CHECKING(for gettimeofday args)
B
Bruce Momjian 已提交
502 503 504 505
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))
506

507 508
AC_MSG_CHECKING(for union semun)
AC_TRY_LINK([#include <sys/types.h>
509
#include <sys/ipc.h>
510
#include <sys/sem.h>],
B
Bruce Momjian 已提交
511 512 513
	    [union semun semun;],
	    [AC_DEFINE(HAVE_UNION_SEMUN) AC_MSG_RESULT(yes)],
	    AC_MSG_RESULT(no))
514

M
 
Marc G. Fournier 已提交
515 516 517 518 519 520 521
AC_MSG_CHECKING(for good DBL_MIN)
AC_TRY_RUN([#include <stdlib.h>
#include <math.h>
#ifdef HAVE_FLOAT_H
# include <float.h>
#endif
main() { double d = DBL_MIN; if (d != DBL_MIN) exit(-1); else exit(0); }],
M
 
Marc G. Fournier 已提交
522 523 524
	AC_MSG_RESULT(yes),
	[AC_MSG_RESULT(no) AC_DEFINE(HAVE_DBL_MIN_PROBLEM)])

525 526 527 528 529
dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_TYPE_SIGNAL
AC_FUNC_VPRINTF
530 531
AC_CHECK_FUNCS(tzset vfork memmove sigsetjmp kill sysconf fpclass)
AC_CHECK_FUNCS(fp_class fp_class_d class)
532
AC_CHECK_FUNCS(sigprocmask waitpid setsid fcvt)
B
Bruce Momjian 已提交
533 534 535
AC_CHECK_FUNC(isinf,
	      AC_DEFINE(HAVE_ISINF),
	      ISINF='isinf.o')
536
AC_SUBST(ISINF)
B
Bruce Momjian 已提交
537 538 539
AC_CHECK_FUNC(getrusage,
	      AC_DEFINE(HAVE_GETRUSAGE),
	      GETRUSAGE='getrusage.o')
540
AC_SUBST(GETRUSAGE)
B
Bruce Momjian 已提交
541 542 543
AC_CHECK_FUNC(srandom,
	      AC_DEFINE(HAVE_SRANDOM),
	      SRANDOM='srandom.o')
544
AC_SUBST(SRANDOM)
B
Bruce Momjian 已提交
545 546 547
AC_CHECK_FUNC(gethostname,
	      AC_DEFINE(HAVE_GETHOSTNAME),
	      GETHOSTNAME='gethostname.o')
548
AC_SUBST(GETHOSTNAME)
B
Bruce Momjian 已提交
549 550 551
AC_CHECK_FUNC(random,
	      AC_DEFINE(HAVE_RANDOM),
	      MISSING_RANDOM='random.o')
552
AC_SUBST(MISSING_RANDOM)
B
Bruce Momjian 已提交
553 554 555
AC_CHECK_FUNC(inet_aton,
	      AC_DEFINE(HAVE_INET_ATON),
	      INET_ATON='inet_aton.o')
556
AC_SUBST(INET_ATON)
B
Bruce Momjian 已提交
557 558 559
AC_CHECK_FUNC(strerror,
	      AC_DEFINE(HAVE_STRERROR),
	      [STRERROR='strerror.o' STRERROR2='../../backend/port/strerror.o'])
560 561
AC_SUBST(STRERROR)
AC_SUBST(STRERROR2)
B
Bruce Momjian 已提交
562 563 564
AC_CHECK_FUNC(strdup,
	      AC_DEFINE(HAVE_STRDUP),
	      STRDUP='../../utils/strdup.o')
565
AC_SUBST(STRDUP)
B
Bruce Momjian 已提交
566 567 568
AC_CHECK_FUNC(strtol,
	      AC_DEFINE(HAVE_STRTOL),
	      STRTOL='strtol.o')
M
Marc G. Fournier 已提交
569
AC_SUBST(STRTOL)
B
Bruce Momjian 已提交
570 571 572
AC_CHECK_FUNC(strtoul,
	      AC_DEFINE(HAVE_STRTOUL),
	      STRTOL='strtoul.o')
M
Marc G. Fournier 已提交
573
AC_SUBST(STRTOUL)
B
Bruce Momjian 已提交
574 575 576
AC_CHECK_FUNC(strcasecmp,
	      AC_DEFINE(HAVE_STRCASECMP),
	      STRCASECMP='strcasecmp.o')
577
AC_SUBST(STRCASECMP)
B
Bruce Momjian 已提交
578 579 580 581 582 583
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)))
584

585 586 587 588
dnl Check for X libraries

if test "$USE_X" = true; then

B
Bruce Momjian 已提交
589 590 591 592
	ice_save_LIBS="$LIBS"
	ice_save_CFLAGS="$CFLAGS"
	ice_save_CPPFLAGS="$CPPFLAGS"
	ice_save_LDFLAGS="$LDFLAGS"
593

B
Bruce Momjian 已提交
594
	AC_PATH_XTRA
595

B
Bruce Momjian 已提交
596 597 598 599
	LIBS="$LIBS $X_EXTRA_LIBS"
	CFLAGS="$CFLAGS $X_CFLAGS"
	CPPFLAGS="$CPPFLAGS $X_CFLAGS"
	LDFLAGS="$LDFLAGS $X_LIBS"
600

B
Bruce Momjian 已提交
601
	dnl Check for X library
602

B
Bruce Momjian 已提交
603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619
	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"
620 621 622 623 624 625 626 627
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 已提交
628 629 630 631 632 633
	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
634 635 636
fi

dnl Check for Tcl archive
637 638 639 640
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 已提交
641 642 643
		if test -z "$TCL_LIB"; then
			AC_CHECK_LIB($tcl_lib, main, TCL_LIB=$tcl_lib)
		fi
644 645
	done
	if test -z "$TCL_LIB"; then
B
Bruce Momjian 已提交
646 647
		AC_MSG_WARN(tcl support disabled; Tcl library missing)
		USE_TCL=
648
	else
B
Bruce Momjian 已提交
649
		TCL_LIB=-l$TCL_LIB
650 651
	fi
	AC_SUBST(TCL_LIB)
652 653 654 655 656 657 658 659
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 已提交
660 661 662 663 664 665 666 667 668 669 670 671 672
	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
673

B
Bruce Momjian 已提交
674 675 676 677
	LIBS="$ice_save_LIBS"
	CFLAGS="$ice_save_CFLAGS"
	CPPFLAGS="$ice_save_CPPFLAGS"
	LDFLAGS="$ice_save_LDFLAGS"
678 679 680 681 682
fi

dnl Check for Tk archive
if test "$USE_TCL" = "true"
then
B
Bruce Momjian 已提交
683 684 685 686 687
	ice_save_LIBS="$LIBS"
	ice_save_CFLAGS="$CFLAGS"
	ice_save_CPPFLAGS="$CPPFLAGS"
	ice_save_LDFLAGS="$LDFLAGS"

688
	LIBS="$TCL_LIB $X_PRE_LIBS $X11_LIBS $X_EXTRA_LIBS $LIBS"
B
Bruce Momjian 已提交
689 690 691 692
	CFLAGS="$CFLAGS $X_CFLAGS"
	CPPFLAGS="$CPPFLAGS $X_CFLAGS"
	LDFLAGS="$LDFLAGS $X_LIBS"

B
Bruce Momjian 已提交
693 694 695
	TK_LIB=
	tk_libs="tk8.0 tk80 tk4.2 tk42 tk"
	for tk_lib in $tk_libs; do
B
Bruce Momjian 已提交
696
		if test -z "$TK_LIB"; then
697
			AC_CHECK_LIB($tk_lib, main, TK_LIB=$tk_lib)
B
Bruce Momjian 已提交
698
		fi
B
Bruce Momjian 已提交
699 700
	done
	if test -z "$TK_LIB"; then
B
Bruce Momjian 已提交
701 702
		AC_MSG_WARN(tk support disabled; Tk library missing)
		USE_TCL=
B
Bruce Momjian 已提交
703
	else
B
Bruce Momjian 已提交
704
		TK_LIB=-l$TK_LIB
B
Bruce Momjian 已提交
705
	fi
B
Bruce Momjian 已提交
706

B
Bruce Momjian 已提交
707
	AC_SUBST(TK_LIB)
B
Bruce Momjian 已提交
708 709 710 711 712

	LIBS="$ice_save_LIBS"
	CFLAGS="$ice_save_CFLAGS"
	CPPFLAGS="$ice_save_CPPFLAGS"
	LDFLAGS="$ice_save_LDFLAGS"
713 714
fi

715
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 include/version.h)