xref: /freebsd/contrib/ncurses/configure.in (revision 39f2269fcb4873fd97d70af944ec49f4230fadea)
10e3d5408SPeter Wemmdnl***************************************************************************
239f2269fSPeter Wemmdnl Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.    *
30e3d5408SPeter Wemmdnl                                                                          *
40e3d5408SPeter Wemmdnl Permission is hereby granted, free of charge, to any person obtaining a  *
50e3d5408SPeter Wemmdnl copy of this software and associated documentation files (the            *
60e3d5408SPeter Wemmdnl "Software"), to deal in the Software without restriction, including      *
70e3d5408SPeter Wemmdnl without limitation the rights to use, copy, modify, merge, publish,      *
80e3d5408SPeter Wemmdnl distribute, distribute with modifications, sublicense, and/or sell       *
90e3d5408SPeter Wemmdnl copies of the Software, and to permit persons to whom the Software is    *
100e3d5408SPeter Wemmdnl furnished to do so, subject to the following conditions:                 *
110e3d5408SPeter Wemmdnl                                                                          *
120e3d5408SPeter Wemmdnl The above copyright notice and this permission notice shall be included  *
130e3d5408SPeter Wemmdnl in all copies or substantial portions of the Software.                   *
140e3d5408SPeter Wemmdnl                                                                          *
150e3d5408SPeter Wemmdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
160e3d5408SPeter Wemmdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
170e3d5408SPeter Wemmdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
180e3d5408SPeter Wemmdnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
190e3d5408SPeter Wemmdnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
200e3d5408SPeter Wemmdnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
210e3d5408SPeter Wemmdnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
220e3d5408SPeter Wemmdnl                                                                          *
230e3d5408SPeter Wemmdnl Except as contained in this notice, the name(s) of the above copyright   *
240e3d5408SPeter Wemmdnl holders shall not be used in advertising or otherwise to promote the     *
250e3d5408SPeter Wemmdnl sale, use or other dealings in this Software without prior written       *
260e3d5408SPeter Wemmdnl authorization.                                                           *
270e3d5408SPeter Wemmdnl***************************************************************************
280e3d5408SPeter Wemmdnl
290e3d5408SPeter Wemmdnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
300e3d5408SPeter Wemmdnl
3139f2269fSPeter Wemmdnl $Id: configure.in,v 1.267 2002/05/18 21:14:13 tom Exp $
320e3d5408SPeter Wemmdnl Process this file with autoconf to produce a configure script.
3318259542SPeter Wemmdnl
3418259542SPeter Wemmdnl See http://dickey.his.com/autoconf/ for additional information.
3518259542SPeter Wemmdnl
3618259542SPeter Wemmdnl ---------------------------------------------------------------------------
3718259542SPeter WemmAC_PREREQ(2.13.20000819)
3839f2269fSPeter WemmAC_REVISION($Revision: 1.267 $)
390e3d5408SPeter WemmAC_INIT(ncurses/base/lib_initscr.c)
400e3d5408SPeter WemmAC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
410e3d5408SPeter Wemm
420e3d5408SPeter WemmCF_SUBST_NCURSES_VERSION
4318259542SPeter WemmCF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
440e3d5408SPeter WemmAC_ARG_WITH(system-type,
450e3d5408SPeter Wemm[  --with-system-type=XXX  test: override derived host system-type],
460e3d5408SPeter Wemm[AC_MSG_WARN(overriding system type to $withval)
470e3d5408SPeter Wemm cf_cv_system_name=$withval])
480e3d5408SPeter Wemm
490e3d5408SPeter Wemm# We need a configure script only when compiling as part of GNU C library.
500e3d5408SPeter Wemm# Here we have to generate one of the files we need while compiling.
510e3d5408SPeter Wemm#
520e3d5408SPeter Wemm# The only problem is that users of the package might think they have to
530e3d5408SPeter Wemm# run configure themself and find it irritating when nothing happens.
540e3d5408SPeter Wemm#
550e3d5408SPeter Wemm# So we try here to find out whether we are called from the glibc configure
560e3d5408SPeter Wemm# or by a user.
570e3d5408SPeter Wemm#
580e3d5408SPeter Wemmdnl Check if we are a drop-in addition to glibc.
590e3d5408SPeter WemmAC_ARG_ENABLE(add-ons, dnl
600e3d5408SPeter Wemm[  --enable-add-ons=DIR... used to check if we are a glibc add-on.],
610e3d5408SPeter Wemm		[glibc_add_on=yes],
620e3d5408SPeter Wemm		[glibc_add_on=])
630e3d5408SPeter Wemm
640e3d5408SPeter Wemmif test x"$glibc_add_on" = "xyes" ; then
650e3d5408SPeter Wemm  rm -f $srcdir/Banner
660e3d5408SPeter Wemm  # We are in glibc.
670e3d5408SPeter Wemm  rm -f $srcdir/Makefile
680e3d5408SPeter Wemm  cp $srcdir/Makefile.glibc $srcdir/Makefile
697a69bbfbSPeter Wemm  echo "ncurses `grep \"^[[ 	]]*ncurses-version[[ 	]]*=.*$\" \
700e3d5408SPeter Wemm		$srcdir/Makefile | sed -e \
717a69bbfbSPeter Wemm		's/^[[ 	]]*ncurses-version[[ 	]]*=[[ 	]]*\([[^	^ ]]*\)[[ 	]]*$/\1/'`" > $srcdir/Banner
720e3d5408SPeter Wemm  exit 0
730e3d5408SPeter Wemmfi
740e3d5408SPeter Wemm
750e3d5408SPeter Wemm###	Save the given $CFLAGS to allow user-override.
760e3d5408SPeter Wemmcf_user_CFLAGS="$CFLAGS"
770e3d5408SPeter Wemm
780e3d5408SPeter Wemm###	Default install-location
790e3d5408SPeter WemmCF_CFG_DEFAULTS
800e3d5408SPeter Wemm
810e3d5408SPeter Wemm###	Checks for programs.
820e3d5408SPeter WemmAC_PROG_CC
8339f2269fSPeter WemmGCC_VERSION=none
8418259542SPeter Wemmif test "$GCC" = yes ; then
850e3d5408SPeter Wemm	AC_MSG_CHECKING(version of gcc)
8639f2269fSPeter Wemm	GCC_VERSION="`${CC} --version|head -1`"
8739f2269fSPeter Wemm	AC_MSG_RESULT($GCC_VERSION)
880e3d5408SPeter Wemmfi
8939f2269fSPeter Wemm
9039f2269fSPeter Wemm# If we're cross-compiling, allow the user to override the tools and their
9139f2269fSPeter Wemm# options.  The configure script is oriented toward identifying the target
9239f2269fSPeter Wemm# compiler, etc., but we need a host compiler to generate parts of the source.
9339f2269fSPeter WemmBUILD_CC='$(CC)'
9439f2269fSPeter WemmBUILD_CFLAGS='$(CFLAGS)'
9539f2269fSPeter WemmBUILD_LDFLAGS='$(LDFLAGS)'
9639f2269fSPeter WemmBUILD_LIBS='$(LIBS)'
9739f2269fSPeter Wemmif test "$host_alias" != "$target_alias" ; then
9839f2269fSPeter Wemm	AC_ARG_WITH(build-cc,
9939f2269fSPeter Wemm		[  --with-build-cc=XXX     if cross-compiling, the host C compiler (\$BUILD_CC)],
10039f2269fSPeter Wemm		[BUILD_CC="$withval"],
10139f2269fSPeter Wemm		[AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)])
10239f2269fSPeter Wemm	AC_ARG_WITH(build-cflags,
10339f2269fSPeter Wemm		[  --with-build-cflags=XXX if cross-compiling, the host C compiler-flags],
10439f2269fSPeter Wemm		[BUILD_CFLAGS="$withval"])
10539f2269fSPeter Wemm	AC_ARG_WITH(build-ldflags,
10639f2269fSPeter Wemm		[  --with-build-ldflags=XXX if cross-compiling, the host linker-flags],
10739f2269fSPeter Wemm		[BUILD_LDFLAGS="$withval"])
10839f2269fSPeter Wemm	AC_ARG_WITH(build-libs,
10939f2269fSPeter Wemm		[  --with-build-libs=XXX   if cross-compiling, the host libraries],
11039f2269fSPeter Wemm		[BUILD_LIBS="$withval"])
1110e3d5408SPeter Wemmfi
11218259542SPeter WemmAC_SUBST(BUILD_CC)
11339f2269fSPeter WemmAC_SUBST(BUILD_CFLAGS)
11439f2269fSPeter WemmAC_SUBST(BUILD_LDFLAGS)
11539f2269fSPeter WemmAC_SUBST(BUILD_LIBS)
11639f2269fSPeter Wemm
1170e3d5408SPeter WemmAC_PROG_CPP
1180e3d5408SPeter WemmAC_PROG_GCC_TRADITIONAL
1190e3d5408SPeter WemmAC_ISC_POSIX
1200e3d5408SPeter WemmCF_ANSI_CC_REQD
1210e3d5408SPeter WemmCF_PROG_EXT
1220e3d5408SPeter Wemm
1230e3d5408SPeter Wemmcase "$cf_cv_system_name" in
1240e3d5408SPeter Wemmfreebsd*) #(vi
1250e3d5408SPeter Wemm  test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
1260e3d5408SPeter Wemm  ;;
1270e3d5408SPeter Wemm*) LDPATH=$PATH:/sbin:/usr/sbin
1280e3d5408SPeter Wemm  AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
1290e3d5408SPeter Wemm  ;;
1300e3d5408SPeter Wemmesac
1310e3d5408SPeter WemmAC_SUBST(LDCONFIG)
1320e3d5408SPeter Wemm
1330e3d5408SPeter Wemmdnl DEFECT in autoconf 2.12:	an attempt to set policy, this breaks the
1340e3d5408SPeter Wemmdnl				configure script by not letting us test if C++
1350e3d5408SPeter Wemmdnl				is present, making this option necessary.
1361759abf3SPeter WemmAC_MSG_CHECKING(if you want to ensure bool is consistent with C++)
1370e3d5408SPeter WemmAC_ARG_WITH(cxx,
1381759abf3SPeter Wemm	[  --without-cxx           do not adjust ncurses bool to match C++],
1390e3d5408SPeter Wemm	[cf_with_cxx=$withval],
1400e3d5408SPeter Wemm	[cf_with_cxx=yes])
1410e3d5408SPeter WemmAC_MSG_RESULT($cf_with_cxx)
1421759abf3SPeter Wemmif test "X$cf_with_cxx" = Xno ; then
1431759abf3SPeter Wemm	CXX=""
1441759abf3SPeter Wemm	GXX=""
1451759abf3SPeter Wemmelse
14615589c42SPeter Wemm	pushdef([AC_MSG_ERROR],
14715589c42SPeter Wemm		[AC_MSG_RESULT([You don't have any C++ compiler, too bad]); dnl
14815589c42SPeter Wemm		cf_with_cxx=no; CXX=""; GXX="";])dnl
1490e3d5408SPeter Wemm	AC_PROG_CXX
15015589c42SPeter Wemm	popdef([AC_MSG_ERROR])dnl
1510e3d5408SPeter Wemmfi
15218259542SPeter Wemm
15339f2269fSPeter WemmGXX_VERSION=none
15418259542SPeter Wemmif test "$GXX" = yes; then
15539f2269fSPeter Wemm	AC_MSG_CHECKING(version of g++)
15639f2269fSPeter Wemm	GXX_VERSION="`${CXX-g++} --version|head -1`"
15739f2269fSPeter Wemm	AC_MSG_RESULT($GXX_VERSION)
15839f2269fSPeter Wemm	case $GXX_VERSION in
1597a69bbfbSPeter Wemm	1*|2.[[0-6]]*)
16018259542SPeter Wemm		GXX=""; CXX=""; ac_cv_prog_gxx=no
16118259542SPeter Wemm		cf_cxx_library=no
16239f2269fSPeter Wemm		AC_MSG_WARN(templates do not work)
16318259542SPeter Wemm		;;
16418259542SPeter Wemm	esac
16518259542SPeter Wemmfi
1660e3d5408SPeter Wemm
1671759abf3SPeter WemmAC_MSG_CHECKING(if you want to build C++ binding and demo)
1681759abf3SPeter WemmAC_ARG_WITH(cxx-binding,
1691759abf3SPeter Wemm	[  --without-cxx-binding   do not build C++ binding and demo],
1701759abf3SPeter Wemm	[cf_with_cxx_binding=$withval],
1711759abf3SPeter Wemm	[cf_with_cxx_binding=$cf_with_cxx])
1721759abf3SPeter WemmAC_MSG_RESULT($cf_with_cxx_binding)
1731759abf3SPeter Wemm
1740e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build with Ada95)
1750e3d5408SPeter WemmAC_ARG_WITH(ada,
1760e3d5408SPeter Wemm	[  --without-ada           suppress check for Ada95, don't build demo],
1770e3d5408SPeter Wemm	[cf_with_ada=$withval],
1780e3d5408SPeter Wemm	[cf_with_ada=yes])
1790e3d5408SPeter WemmAC_MSG_RESULT($cf_with_ada)
1800e3d5408SPeter Wemm
1810e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build programs such as tic)
1820e3d5408SPeter WemmAC_ARG_WITH(progs,
1830e3d5408SPeter Wemm	[  --without-progs         suppress build with programs (e.g., tic)],
1840e3d5408SPeter Wemm	[cf_with_progs=$withval],
1850e3d5408SPeter Wemm	[cf_with_progs=yes])
1860e3d5408SPeter WemmAC_MSG_RESULT($cf_with_progs)
1870e3d5408SPeter Wemm
1887a69bbfbSPeter WemmAC_MSG_CHECKING(if you wish to install curses.h)
1897a69bbfbSPeter WemmAC_ARG_WITH(curses-h,
1907a69bbfbSPeter Wemm	[  --without-curses-h      install curses.h as ncurses.h only],
1917a69bbfbSPeter Wemm	[with_curses_h=$withval],
1927a69bbfbSPeter Wemm	[with_curses_h=yes])
1937a69bbfbSPeter WemmAC_MSG_RESULT($with_curses_h)
1947a69bbfbSPeter Wemm
1950e3d5408SPeter Wemmmodules_to_build="ncurses"
1960e3d5408SPeter Wemmif test "X$cf_with_progs" != Xno ; then
1970e3d5408SPeter Wemmmodules_to_build="$modules_to_build progs tack"
1980e3d5408SPeter Wemmfi
1990e3d5408SPeter Wemmmodules_to_build="$modules_to_build panel menu form"
2000e3d5408SPeter Wemm
20118259542SPeter WemmAC_ARG_PROGRAM
2020e3d5408SPeter WemmAC_PROG_AWK
2030e3d5408SPeter WemmAC_PROG_MAKE_SET
2040e3d5408SPeter WemmCF_PROG_INSTALL
2050e3d5408SPeter WemmAC_SYS_LONG_FILE_NAMES
20618259542SPeter WemmCF_MIXEDCASE_FILENAMES
2070e3d5408SPeter WemmAC_PROG_LN_S
2080e3d5408SPeter WemmAC_PROG_RANLIB
20918259542SPeter WemmCF_MAKE_TAGS
2100e3d5408SPeter WemmAC_CHECK_PROGS(LINT, tdlint lint alint)
2110e3d5408SPeter WemmAC_CHECK_PROGS(MAN, man man_db)
2120e3d5408SPeter WemmAC_SUBST(LINT_OPTS)
2130e3d5408SPeter Wemm
2140e3d5408SPeter Wemmdnl These are standard among *NIX systems, but not when cross-compiling
2150e3d5408SPeter WemmCF_SUBST(loader,LD,ld)
2160e3d5408SPeter WemmCF_SUBST(archiver,AR,ar)
2170e3d5408SPeter WemmCF_SUBST(archiver options,AR_OPTS,rv)
2180e3d5408SPeter Wemm
2190e3d5408SPeter WemmCF_MAKEFLAGS
2200e3d5408SPeter Wemm
2210e3d5408SPeter Wemmdnl Special option for use by system-builders: the install-prefix is used to
2220e3d5408SPeter Wemmdnl adjust the location into which the actual install is done, so that an
2230e3d5408SPeter Wemmdnl archive can be built without modifying the host system's configuration.
2240e3d5408SPeter WemmAC_MSG_CHECKING(if you have specified an install-prefix)
2250e3d5408SPeter WemmAC_ARG_WITH(install-prefix,
22639f2269fSPeter Wemm	[  --with-install-prefix   prefixes actual install-location (\$DESTDIR)],
2270e3d5408SPeter Wemm	[case "$withval" in #(vi
2280e3d5408SPeter Wemm	yes|no) #(vi
2290e3d5408SPeter Wemm		;;
23018259542SPeter Wemm	*)	DESTDIR="$withval"
2310e3d5408SPeter Wemm		;;
2320e3d5408SPeter Wemm	esac])
23318259542SPeter WemmAC_MSG_RESULT($DESTDIR)
23418259542SPeter WemmAC_SUBST(DESTDIR)
2350e3d5408SPeter Wemm
2360e3d5408SPeter Wemm###############################################################################
2370e3d5408SPeter WemmCF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
2380e3d5408SPeter Wemm
2390e3d5408SPeter Wemm### Options to allow the user to specify the set of libraries which are used.
2400e3d5408SPeter Wemm### Use "--without-normal --with-shared" to allow the default model to be
2410e3d5408SPeter Wemm### shared, for example.
2420e3d5408SPeter Wemmcf_list_models=""
24315589c42SPeter WemmAC_SUBST(cf_list_models)dnl	the complete list of models ("normal debug")
2440e3d5408SPeter Wemm
2457a69bbfbSPeter WemmAC_MSG_CHECKING(if you want to build libraries with libtool)
2467a69bbfbSPeter WemmAC_ARG_WITH(libtool,
2477a69bbfbSPeter Wemm	[  --with-libtool          generate libraries with libtool],
2487a69bbfbSPeter Wemm	[with_libtool=$withval],
2497a69bbfbSPeter Wemm	[with_libtool=no])
2507a69bbfbSPeter WemmAC_MSG_RESULT($with_libtool)
2517a69bbfbSPeter Wemmif test "$with_libtool" = "yes"; then
2527a69bbfbSPeter Wemm	cf_list_models="$cf_list_models libtool"
2537a69bbfbSPeter Wemm	test -z "$LIBTOOL" && LIBTOOL=libtool
2547a69bbfbSPeter Wemmelse
2557a69bbfbSPeter Wemm	LIBTOOL=""
2567a69bbfbSPeter Wemmfi
2577a69bbfbSPeter WemmAC_SUBST(LIBTOOL)
2587a69bbfbSPeter Wemm
2590e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build shared libraries)
2600e3d5408SPeter WemmAC_ARG_WITH(shared,
2610e3d5408SPeter Wemm	[  --with-shared           generate shared-libraries],
2620e3d5408SPeter Wemm	[with_shared=$withval],
2630e3d5408SPeter Wemm	[with_shared=no])
2640e3d5408SPeter WemmAC_MSG_RESULT($with_shared)
2650e3d5408SPeter Wemmtest "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
2660e3d5408SPeter Wemm
2670e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build static libraries)
2680e3d5408SPeter WemmAC_ARG_WITH(normal,
2690e3d5408SPeter Wemm	[  --with-normal           generate normal-libraries (default)],
2700e3d5408SPeter Wemm	[with_normal=$withval],
2710e3d5408SPeter Wemm	[with_normal=yes])
2720e3d5408SPeter WemmAC_MSG_RESULT($with_normal)
2730e3d5408SPeter Wemmtest "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
2740e3d5408SPeter Wemm
2750e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build debug libraries)
2760e3d5408SPeter WemmAC_ARG_WITH(debug,
2770e3d5408SPeter Wemm	[  --with-debug            generate debug-libraries (default)],
2780e3d5408SPeter Wemm	[with_debug=$withval],
2790e3d5408SPeter Wemm	[with_debug=yes])
2800e3d5408SPeter WemmAC_MSG_RESULT($with_debug)
2810e3d5408SPeter Wemmtest "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
2820e3d5408SPeter Wemm
2830e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build profiling libraries)
2840e3d5408SPeter WemmAC_ARG_WITH(profile,
2850e3d5408SPeter Wemm	[  --with-profile          generate profile-libraries],
2860e3d5408SPeter Wemm	[with_profile=$withval],
2870e3d5408SPeter Wemm	[with_profile=no])
2880e3d5408SPeter WemmAC_MSG_RESULT($with_profile)
2890e3d5408SPeter Wemmtest "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
2900e3d5408SPeter Wemm
29115589c42SPeter Wemm###############################################################################
29215589c42SPeter Wemm
29315589c42SPeter WemmAC_MSG_CHECKING(for specified models)
29415589c42SPeter Wemmtest -z "$cf_list_models" && cf_list_models=normal
2957a69bbfbSPeter Wemmdnl If we use libtool to generate libraries, then it must be the only
2967a69bbfbSPeter Wemmdnl specified model.
2977a69bbfbSPeter Wemmtest "$with_libtool" = "yes" && cf_list_models=libtool
29815589c42SPeter WemmAC_MSG_RESULT($cf_list_models)
29915589c42SPeter Wemm
30015589c42SPeter Wemm### Use the first model as the default, and save its suffix for use in building
30115589c42SPeter Wemm### up test-applications.
30215589c42SPeter WemmAC_MSG_CHECKING(for default model)
30315589c42SPeter WemmDFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
30415589c42SPeter WemmAC_MSG_RESULT($DFT_LWR_MODEL)
30515589c42SPeter Wemm
30615589c42SPeter WemmCF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
30715589c42SPeter Wemm
30815589c42SPeter WemmAC_SUBST(DFT_LWR_MODEL)dnl	the default model ("normal")
30915589c42SPeter WemmAC_SUBST(DFT_UPR_MODEL)dnl	the default model ("NORMAL")
31015589c42SPeter Wemm
31115589c42SPeter WemmTINFO_NAME=tinfo
31215589c42SPeter WemmAC_SUBST(TINFO_NAME)
31315589c42SPeter Wemm
31415589c42SPeter WemmLIB_NAME=ncurses
31515589c42SPeter WemmAC_SUBST(LIB_NAME)
31615589c42SPeter Wemm
31715589c42SPeter WemmLIB_DIR=../lib
31815589c42SPeter WemmCF_LIB_PREFIX(cf_prefix)
31915589c42SPeter WemmLIB_PREFIX=$cf_prefix
32015589c42SPeter WemmAC_SUBST(LIB_PREFIX)
32115589c42SPeter Wemm
32215589c42SPeter WemmLIB_SUFFIX=
32315589c42SPeter WemmAC_SUBST(LIB_SUFFIX)
32415589c42SPeter Wemm
32515589c42SPeter Wemm###############################################################################
32615589c42SPeter Wemm
3270e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build a separate terminfo library)
3280e3d5408SPeter WemmAC_ARG_WITH(termlib,
3290e3d5408SPeter Wemm	[  --with-termlib          generate separate terminfo library],
3300e3d5408SPeter Wemm	[with_termlib=$withval],
3310e3d5408SPeter Wemm	[with_termlib=no])
3320e3d5408SPeter WemmAC_MSG_RESULT($with_termlib)
3330e3d5408SPeter Wemm
3340e3d5408SPeter Wemm### Checks for special libraries, must be done up-front.
3350e3d5408SPeter WemmAC_MSG_CHECKING(if you want to link with dbmalloc for testing)
3360e3d5408SPeter WemmAC_ARG_WITH(dbmalloc,
3370e3d5408SPeter Wemm	[  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
3380e3d5408SPeter Wemm	[with_dbmalloc=$withval],
3390e3d5408SPeter Wemm	[with_dbmalloc=no])
3400e3d5408SPeter WemmAC_MSG_RESULT($with_dbmalloc)
34118259542SPeter Wemmif test "$with_dbmalloc" = yes ; then
3420e3d5408SPeter Wemm	AC_CHECK_LIB(dbmalloc,debug_malloc)
3430e3d5408SPeter Wemmfi
3440e3d5408SPeter Wemm
3450e3d5408SPeter WemmAC_MSG_CHECKING(if you want to link with dmalloc for testing)
3460e3d5408SPeter WemmAC_ARG_WITH(dmalloc,
3470e3d5408SPeter Wemm	[  --with-dmalloc          test: use Gray Watson's dmalloc library],
3480e3d5408SPeter Wemm	[with_dmalloc=$withval],
3490e3d5408SPeter Wemm	[with_dmalloc=no])
3500e3d5408SPeter WemmAC_MSG_RESULT($with_dmalloc)
35118259542SPeter Wemmif test "$with_dmalloc" = yes ; then
3520e3d5408SPeter Wemm	AC_CHECK_LIB(dmalloc,dmalloc_debug)
3530e3d5408SPeter Wemmfi
3540e3d5408SPeter Wemm
3550e3d5408SPeter WemmSHLIB_LIST=""
3560e3d5408SPeter WemmAC_MSG_CHECKING(if you want to link with the gpm mouse library)
3570e3d5408SPeter WemmAC_ARG_WITH(gpm,
3580e3d5408SPeter Wemm	[  --with-gpm              use Alessandro Rubini's GPM library],
3590e3d5408SPeter Wemm	[with_gpm=$withval],
3600e3d5408SPeter Wemm	[with_gpm=no])
3610e3d5408SPeter WemmAC_MSG_RESULT($with_gpm)
36218259542SPeter Wemmif test "$with_gpm" = yes ; then
3630e3d5408SPeter Wemm	AC_CHECK_LIB(gpm,Gpm_Open,[
3640e3d5408SPeter Wemm		EXTRA_LIBS="-lgpm -lncurses $EXTRA_LIBS"
3650e3d5408SPeter Wemm		SHLIB_LIST="-lgpm $SHLIB_LIST"
3660e3d5408SPeter Wemm		AC_DEFINE(HAVE_LIBGPM)
3670e3d5408SPeter Wemm		AC_CHECK_HEADERS(gpm.h)
3681759abf3SPeter Wemm	],AC_MSG_WARN(Cannot link with gpm library - read the FAQ))
3690e3d5408SPeter Wemmfi
3700e3d5408SPeter Wemm
3710e3d5408SPeter Wemmdnl Not all ports of gcc support the -g option
3720e3d5408SPeter Wemm
3730e3d5408SPeter Wemmif test X"$CC_G_OPT" = X"" ; then
3740e3d5408SPeter Wemm	CC_G_OPT='-g'
3750e3d5408SPeter Wemm	test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
3760e3d5408SPeter Wemmfi
3770e3d5408SPeter WemmAC_SUBST(CC_G_OPT)
3780e3d5408SPeter Wemm
3790e3d5408SPeter Wemmif test X"$CXX_G_OPT" = X"" ; then
3800e3d5408SPeter Wemm	CXX_G_OPT='-g'
3810e3d5408SPeter Wemm	test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
3820e3d5408SPeter Wemmfi
3830e3d5408SPeter WemmAC_SUBST(CXX_G_OPT)
3840e3d5408SPeter Wemm
38515589c42SPeter WemmAC_MSG_CHECKING(for default loader flags)
3860e3d5408SPeter Wemmcase $DFT_LWR_MODEL in
3877a69bbfbSPeter Wemmlibtool) LD_MODEL=''   ;;
3880e3d5408SPeter Wemmnormal)  LD_MODEL=''   ;;
3890e3d5408SPeter Wemmdebug)   LD_MODEL=$CC_G_OPT ;;
3900e3d5408SPeter Wemmprofile) LD_MODEL='-pg';;
3910e3d5408SPeter Wemmshared)  LD_MODEL=''   ;;
3920e3d5408SPeter Wemmesac
3930e3d5408SPeter WemmAC_SUBST(LD_MODEL)dnl		the type of link (e.g., -g or -pg)
39415589c42SPeter WemmAC_MSG_RESULT($LD_MODEL)
3950e3d5408SPeter Wemm
3960e3d5408SPeter WemmAC_MSG_CHECKING(if rpath option should be used)
3970e3d5408SPeter WemmAC_ARG_ENABLE(rpath,
3980e3d5408SPeter Wemm[  --enable-rpath          use rpath option when generating shared libraries],
3990e3d5408SPeter Wemm[cf_cv_ld_rpath=$enableval],
4000e3d5408SPeter Wemm[cf_cv_ld_rpath=no])
4010e3d5408SPeter WemmAC_MSG_RESULT($cf_cv_ld_rpath)
4020e3d5408SPeter Wemm
4030e3d5408SPeter WemmCF_SHARED_OPTS
4040e3d5408SPeter Wemmif test "$CC_SHARED_OPTS" = "unknown"; then
4050e3d5408SPeter Wemm	for model in $cf_list_models; do
4060e3d5408SPeter Wemm		if test "$model" = "shared"; then
4070e3d5408SPeter Wemm			AC_ERROR(Shared libraries are not supported in this version)
4080e3d5408SPeter Wemm		fi
4090e3d5408SPeter Wemm	done
4100e3d5408SPeter Wemmfi
4110e3d5408SPeter Wemm
4120e3d5408SPeter Wemm###############################################################################
4130e3d5408SPeter WemmCF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
4140e3d5408SPeter Wemm
4150e3d5408SPeter Wemm###	use option --disable-overwrite to leave out the link to -lcurses
4160e3d5408SPeter WemmAC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
4170e3d5408SPeter WemmAC_ARG_ENABLE(overwrite,
4180e3d5408SPeter Wemm	[  --disable-overwrite     leave out the link to -lcurses],
41915589c42SPeter Wemm	[with_overwrite=$enableval],
4207a69bbfbSPeter Wemm	[if test "$prefix" != "/usr/local" ; then with_overwrite=yes; else with_overwrite=no; fi])
4210e3d5408SPeter WemmAC_MSG_RESULT($with_overwrite)
4220e3d5408SPeter Wemm
4230e3d5408SPeter WemmAC_MSG_CHECKING(if external terminfo-database is used)
4240e3d5408SPeter WemmAC_ARG_ENABLE(database,
42539f2269fSPeter Wemm	[  --disable-database      do not use terminfo, only fallbacks/termcap],
42618259542SPeter Wemm	[use_database=$enableval],
42718259542SPeter Wemm	[use_database=yes])
42818259542SPeter WemmAC_MSG_RESULT($use_database)
42918259542SPeter Wemm
43018259542SPeter Wemmcase $host_os in #(vi
43118259542SPeter Wemmos2*) #(vi
43218259542SPeter Wemm	TERMINFO_SRC='${top_srcdir}/misc/emx.src'
43318259542SPeter Wemm	;;
43418259542SPeter Wemm*) #(vi
43518259542SPeter Wemm	TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
43618259542SPeter Wemm	;;
43718259542SPeter Wemmesac
43818259542SPeter WemmAC_SUBST(TERMINFO_SRC)
43918259542SPeter Wemm
44039f2269fSPeter WemmCF_PATHSEP
44118259542SPeter Wemmif test "$use_database" != no ; then
44218259542SPeter Wemm	AC_DEFINE(USE_DATABASE)
44318259542SPeter Wemm	AC_MSG_CHECKING(which terminfo source-file will be installed)
44418259542SPeter Wemm	AC_ARG_ENABLE(database,
44518259542SPeter Wemm		[  --with-database=XXX     specify terminfo source to install],
44618259542SPeter Wemm		[TERMINFO_SRC=$withval])
44718259542SPeter Wemm	AC_MSG_RESULT($TERMINFO_SRC)
44818259542SPeter Wemmfi
4490e3d5408SPeter Wemm
4500e3d5408SPeter WemmAC_MSG_CHECKING(for list of fallback descriptions)
4510e3d5408SPeter WemmAC_ARG_WITH(fallbacks,
4520e3d5408SPeter Wemm	[  --with-fallbacks=XXX    specify list of fallback terminal descriptions],
4530e3d5408SPeter Wemm	[with_fallback=$withval],
4540e3d5408SPeter Wemm	[with_fallback=])
4550e3d5408SPeter WemmAC_MSG_RESULT($with_fallback)
4560e3d5408SPeter WemmFALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
4570e3d5408SPeter WemmAC_SUBST(FALLBACK_LIST)
4580e3d5408SPeter Wemm
45939f2269fSPeter WemmMAKE_TERMINFO=
46018259542SPeter Wemmif test "$use_database" = no ; then
46118259542SPeter Wemm	TERMINFO="${datadir}/terminfo"
46239f2269fSPeter Wemm	MAKE_TERMINFO="#"
46318259542SPeter Wemmelse
46418259542SPeter Wemm
4650e3d5408SPeter WemmAC_MSG_CHECKING(for list of terminfo directories)
4660e3d5408SPeter WemmCF_WITH_PATHLIST(terminfo-dirs,
4670e3d5408SPeter Wemm	[  --with-terminfo-dirs=XXX specify list of terminfo directories],
4680e3d5408SPeter Wemm	TERMINFO_DIRS,
4690e3d5408SPeter Wemm	DATADIR/terminfo,
4700e3d5408SPeter Wemm	${datadir}/terminfo)
4710e3d5408SPeter WemmAC_MSG_RESULT($TERMINFO_DIRS)
4720e3d5408SPeter Wemmtest -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS")
4730e3d5408SPeter Wemm
47418259542SPeter WemmAC_MSG_CHECKING(for default terminfo directory)
47518259542SPeter WemmCF_WITH_PATH(default-terminfo-dir,
47618259542SPeter Wemm	[  --with-default-terminfo-dir=DIR default terminfo directory],
47718259542SPeter Wemm	TERMINFO,
47818259542SPeter Wemm	DATADIR/terminfo,
47918259542SPeter Wemm	${datadir}/terminfo)
48018259542SPeter WemmAC_MSG_RESULT($TERMINFO)
48118259542SPeter WemmAC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO")
48218259542SPeter Wemm
4830e3d5408SPeter Wemmfi
48418259542SPeter Wemm
48518259542SPeter WemmAC_SUBST(TERMINFO)
48639f2269fSPeter WemmAC_SUBST(MAKE_TERMINFO)
4870e3d5408SPeter Wemm
4880e3d5408SPeter Wemm###	use option --disable-big-core to make tic run on small machines
4890e3d5408SPeter Wemm###	We need 4Mb, check if we can allocate 50% more than that.
4900e3d5408SPeter WemmAC_MSG_CHECKING(if big-core option selected)
4910e3d5408SPeter WemmAC_ARG_ENABLE(big-core,
4920e3d5408SPeter Wemm	[  --disable-big-core      assume machine has little memory],
4930e3d5408SPeter Wemm	[with_big_core=$enableval],
4940e3d5408SPeter Wemm	[AC_TRY_RUN([
4950e3d5408SPeter Wemm#include <stdlib.h>
4960e3d5408SPeter Wemm#include <string.h>
49718259542SPeter Wemmint main() {
49818259542SPeter Wemm	unsigned long n = 6000000L;
49918259542SPeter Wemm	char *s = malloc(n);
50018259542SPeter Wemm	if (s != 0)
50118259542SPeter Wemm		s[0] = s[n-1] = 0;
50218259542SPeter Wemm	exit(s == 0);
50318259542SPeter Wemm}],
5040e3d5408SPeter Wemm	[with_big_core=yes],
5050e3d5408SPeter Wemm	[with_big_core=no],
5060e3d5408SPeter Wemm	[with_big_core=no])])
5070e3d5408SPeter WemmAC_MSG_RESULT($with_big_core)
5080e3d5408SPeter Wemmtest "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
5090e3d5408SPeter Wemm
5100e3d5408SPeter Wemm###	use option --enable-termcap to compile in the termcap fallback support
5110e3d5408SPeter WemmAC_MSG_CHECKING(if you want termcap-fallback support)
5120e3d5408SPeter WemmAC_ARG_ENABLE(termcap,
5130e3d5408SPeter Wemm	[  --enable-termcap        compile in termcap fallback support],
5140e3d5408SPeter Wemm	[with_termcap=$enableval],
5150e3d5408SPeter Wemm	[with_termcap=no])
5160e3d5408SPeter WemmAC_MSG_RESULT($with_termcap)
5170e3d5408SPeter Wemm
5180e3d5408SPeter Wemmif test "$with_termcap" != "yes" ; then
51939f2269fSPeter Wemm	if test "$use_database" = no ; then
52039f2269fSPeter Wemm		if test -z $with_fallback ; then
52139f2269fSPeter Wemm			AC_ERROR(You have disabled the database w/o specifying fallbacks)
52239f2269fSPeter Wemm		fi
52339f2269fSPeter Wemm	fi
5240e3d5408SPeter Wemm	AC_DEFINE(PURE_TERMINFO)
5250e3d5408SPeter Wemmelse
5260e3d5408SPeter Wemm
52739f2269fSPeter WemmAC_DEFINE(USE_TERMCAP)
52839f2269fSPeter WemmAC_MSG_CHECKING(for list of termcap files)
52939f2269fSPeter WemmCF_WITH_PATHLIST(termpath,
53039f2269fSPeter Wemm	[  --with-termpath=XXX     specify list of termcap files],
53139f2269fSPeter Wemm	TERMPATH,
53239f2269fSPeter Wemm	/etc/termcap:/usr/share/misc/termcap)
53339f2269fSPeter WemmAC_MSG_RESULT($TERMPATH)
53439f2269fSPeter Wemmtest -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH")
53539f2269fSPeter Wemm
5360e3d5408SPeter Wemm###	use option --enable-getcap to use a hacked getcap for reading termcaps
5370e3d5408SPeter WemmAC_MSG_CHECKING(if fast termcap-loader is needed)
5380e3d5408SPeter WemmAC_ARG_ENABLE(getcap,
5390e3d5408SPeter Wemm	[  --enable-getcap         fast termcap load, no xrefs to terminfo],
5400e3d5408SPeter Wemm	[with_getcap=$enableval],
5410e3d5408SPeter Wemm	[with_getcap=no])
5420e3d5408SPeter WemmAC_MSG_RESULT($with_getcap)
5430e3d5408SPeter Wemmtest "$with_getcap" = "yes" && AC_DEFINE(USE_GETCAP)
5440e3d5408SPeter Wemm
5450e3d5408SPeter WemmAC_MSG_CHECKING(if translated termcaps will be cached in ~/.terminfo)
5460e3d5408SPeter WemmAC_ARG_ENABLE(getcap-cache,
5470e3d5408SPeter Wemm	[  --enable-getcap-cache   cache translated termcaps in ~/.terminfo],
5480e3d5408SPeter Wemm	[with_getcap_cache=$enableval],
5490e3d5408SPeter Wemm	[with_getcap_cache=no])
5500e3d5408SPeter WemmAC_MSG_RESULT($with_getcap_cache)
5510e3d5408SPeter Wemmtest "$with_getcap_cache" = "yes" && AC_DEFINE(USE_GETCAP_CACHE)
5520e3d5408SPeter Wemm
5530e3d5408SPeter Wemmfi
5540e3d5408SPeter Wemm
5550e3d5408SPeter Wemm###   Use option --enable-symlinks to make tic use symlinks, not hard links
5560e3d5408SPeter Wemm###   to reduce storage requirements for the terminfo database.
5570e3d5408SPeter WemmCF_LINK_FUNCS
5580e3d5408SPeter Wemm
5590e3d5408SPeter Wemmwith_links=no
5600e3d5408SPeter Wemmwith_symlinks=no
5610e3d5408SPeter Wemm
5620e3d5408SPeter Wemmif test "$ac_cv_func_link" != yes ; then
5630e3d5408SPeter Wemm    AC_MSG_CHECKING(if tic should use symbolic links)
5640e3d5408SPeter Wemm    if test "$ac_cv_func_symlink" = yes ; then
5650e3d5408SPeter Wemm    	with_symlinks=yes
5660e3d5408SPeter Wemm    else
5670e3d5408SPeter Wemm    	with_symlinks=no
5680e3d5408SPeter Wemm    fi
5690e3d5408SPeter Wemm    AC_MSG_RESULT($with_symlinks)
5700e3d5408SPeter Wemmelif test "$ac_cv_func_symlink" != yes ; then
5710e3d5408SPeter Wemm    AC_MSG_CHECKING(if tic should use hard links)
5720e3d5408SPeter Wemm    if test "$ac_cv_func_link" = yes ; then
5730e3d5408SPeter Wemm    	with_links=yes
5740e3d5408SPeter Wemm    else
5750e3d5408SPeter Wemm    	with_links=no
5760e3d5408SPeter Wemm    fi
5770e3d5408SPeter Wemm    AC_MSG_RESULT($with_links)
5780e3d5408SPeter Wemmelse
5790e3d5408SPeter Wemm    AC_MSG_CHECKING(if tic should use symbolic links)
5800e3d5408SPeter Wemm    AC_ARG_ENABLE(symlinks,
5810e3d5408SPeter Wemm	[  --enable-symlinks       make tic use symbolic links not hard links],
5820e3d5408SPeter Wemm	[with_symlinks=$enableval],
5830e3d5408SPeter Wemm	[with_symlinks=no])
5840e3d5408SPeter Wemm    AC_MSG_RESULT($with_symlinks)
5850e3d5408SPeter Wemmfi
5860e3d5408SPeter Wemm
5870e3d5408SPeter Wemmtest "$with_links" = yes && AC_DEFINE(USE_LINKS)
5880e3d5408SPeter Wemmtest "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
5890e3d5408SPeter Wemm
59015589c42SPeter Wemm###   use option --enable-broken-linker to force on use of broken-linker support
59115589c42SPeter WemmAC_MSG_CHECKING(if you want broken-linker support code)
59215589c42SPeter WemmAC_ARG_ENABLE(broken_linker,
59315589c42SPeter Wemm	[  --enable-broken_linker  compile with broken-linker support code],
59415589c42SPeter Wemm	[with_broken_linker=$enableval],
59515589c42SPeter Wemm	[with_broken_linker=$BROKEN_LINKER])
59615589c42SPeter WemmAC_MSG_RESULT($with_broken_linker)
59739f2269fSPeter Wemm
59839f2269fSPeter WemmBROKEN_LINKER=0
59939f2269fSPeter Wemmif test "$with_broken_linker" = yes ; then
60039f2269fSPeter Wemm	AC_DEFINE(BROKEN_LINKER)
60139f2269fSPeter Wemm	BROKEN_LINKER=1
60239f2269fSPeter Wemmelif test $DFT_LWR_MODEL = shared ; then
60339f2269fSPeter Wemm	case $cf_cv_system_name in #(vi
60439f2269fSPeter Wemm	cygwin*)
60539f2269fSPeter Wemm		AC_DEFINE(BROKEN_LINKER)
60639f2269fSPeter Wemm		BROKEN_LINKER=1
60739f2269fSPeter Wemm		CF_VERBOSE(cygwin linker is broken anyway)
60839f2269fSPeter Wemm		;;
60939f2269fSPeter Wemm	esac
61039f2269fSPeter Wemmfi
61139f2269fSPeter WemmAC_SUBST(BROKEN_LINKER)
61239f2269fSPeter Wemm
61339f2269fSPeter Wemm###   use option --with-bool to override bool's type
61439f2269fSPeter WemmAC_MSG_CHECKING(for type of bool)
61539f2269fSPeter WemmAC_ARG_WITH(bool,
61639f2269fSPeter Wemm	[  --with-bool=TYPE        override fallback type of bool variable],
61739f2269fSPeter Wemm	[NCURSES_BOOL="$withval"],
61839f2269fSPeter Wemm	[NCURSES_BOOL=auto])
61939f2269fSPeter WemmAC_MSG_RESULT($NCURSES_BOOL)
62039f2269fSPeter WemmAC_SUBST(NCURSES_BOOL)
62115589c42SPeter Wemm
6227a69bbfbSPeter Wemm###   use option --with-ospeed to override ospeed's type
6237a69bbfbSPeter WemmAC_MSG_CHECKING(for type of ospeed)
6247a69bbfbSPeter WemmAC_ARG_WITH(ospeed,
6257a69bbfbSPeter Wemm	[  --with-ospeed=TYPE      override type of ospeed variable],
62639f2269fSPeter Wemm	[NCURSES_OSPEED="$withval"],
6277a69bbfbSPeter Wemm	[NCURSES_OSPEED=short])
6287a69bbfbSPeter WemmAC_MSG_RESULT($NCURSES_OSPEED)
6297a69bbfbSPeter WemmAC_SUBST(NCURSES_OSPEED)
6307a69bbfbSPeter Wemm
6310e3d5408SPeter Wemm###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
6320e3d5408SPeter WemmAC_MSG_CHECKING(if tputs should process BSD-style prefix padding)
6330e3d5408SPeter WemmAC_ARG_ENABLE(bsdpad,
6340e3d5408SPeter Wemm	[  --enable-bsdpad         recognize BSD-style prefix padding],
6350e3d5408SPeter Wemm	[with_bsdpad=$enableval],
6360e3d5408SPeter Wemm	[with_bsdpad=no])
6370e3d5408SPeter WemmAC_MSG_RESULT($with_bsdpad)
6380e3d5408SPeter Wemmtest "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
6390e3d5408SPeter Wemm
64015589c42SPeter Wemm### Enable compiling-in rcs id's
64115589c42SPeter WemmAC_MSG_CHECKING(if RCS identifiers should be compiled-in)
64215589c42SPeter WemmAC_ARG_WITH(rcs-ids,
64315589c42SPeter Wemm	[  --with-rcs-ids          compile-in RCS identifiers],
64415589c42SPeter Wemm	[with_rcs_ids=$withval],
64515589c42SPeter Wemm	[with_rcs_ids=no])
64615589c42SPeter WemmAC_MSG_RESULT($with_rcs_ids)
64715589c42SPeter Wemmtest "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
64815589c42SPeter Wemm
64915589c42SPeter Wemm###############################################################################
65018259542SPeter WemmCF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
65118259542SPeter Wemm
65218259542SPeter Wemm###############################################################################
65315589c42SPeter WemmCF_HELP_MESSAGE(Extensions:)
65415589c42SPeter Wemm
65515589c42SPeter Wemm### Note that some functions (such as const) are normally disabled anyway.
65615589c42SPeter WemmAC_MSG_CHECKING(if you want to build with function extensions)
65715589c42SPeter WemmAC_ARG_ENABLE(ext-funcs,
65815589c42SPeter Wemm	[  --disable-ext-funcs     disable function-extensions],
65915589c42SPeter Wemm	[with_ext_funcs=$enableval],
66015589c42SPeter Wemm	[with_ext_funcs=yes])
66115589c42SPeter WemmAC_MSG_RESULT($with_ext_funcs)
66215589c42SPeter Wemmif test "$with_ext_funcs" = yes ; then
66339f2269fSPeter Wemm	NCURSES_EXT_FUNCS=1
66418259542SPeter Wemm	AC_DEFINE(HAVE_CURSES_VERSION)
66515589c42SPeter Wemm	AC_DEFINE(HAVE_HAS_KEY)
66615589c42SPeter Wemm	AC_DEFINE(HAVE_RESIZETERM)
66715589c42SPeter Wemm	AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
66815589c42SPeter Wemm	AC_DEFINE(HAVE_WRESIZE)
66915589c42SPeter Wemm	AC_DEFINE(NCURSES_EXT_FUNCS)
67039f2269fSPeter Wemmelse
67139f2269fSPeter Wemm	NCURSES_EXT_FUNCS=0
67215589c42SPeter Wemmfi
67339f2269fSPeter WemmAC_SUBST(NCURSES_EXT_FUNCS)
67415589c42SPeter Wemm
6750e3d5408SPeter Wemm###   use option --enable-const to turn on use of const beyond that in XSI.
6760e3d5408SPeter WemmAC_MSG_CHECKING(for extended use of const keyword)
6770e3d5408SPeter WemmAC_ARG_ENABLE(const,
6780e3d5408SPeter Wemm	[  --enable-const          compile with extra/non-standard const],
6790e3d5408SPeter Wemm	[with_ext_const=$enableval],
6800e3d5408SPeter Wemm	[with_ext_const=no])
6810e3d5408SPeter WemmAC_MSG_RESULT($with_ext_const)
68218259542SPeter WemmNCURSES_CONST='/*nothing*/'
6830e3d5408SPeter Wemmif test "$with_ext_const" = yes ; then
6840e3d5408SPeter Wemm	NCURSES_CONST=const
6850e3d5408SPeter Wemmfi
6860e3d5408SPeter WemmAC_SUBST(NCURSES_CONST)
6870e3d5408SPeter Wemm
68815589c42SPeter WemmAC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
68915589c42SPeter WemmAC_ARG_ENABLE(no-padding,
69015589c42SPeter Wemm	[  --enable-no-padding     compile with \$NCURSES_NO_PADDING code],
69115589c42SPeter Wemm	[with_no_padding=$enableval],
69215589c42SPeter Wemm	[with_no_padding=$with_ext_funcs])
69315589c42SPeter WemmAC_MSG_RESULT($with_no_padding)
69415589c42SPeter Wemmtest "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING)
69515589c42SPeter Wemm
69615589c42SPeter Wemm###   use option --enable-sigwinch to turn on use of SIGWINCH logic
69715589c42SPeter WemmAC_MSG_CHECKING(if you want SIGWINCH handler)
69815589c42SPeter WemmAC_ARG_ENABLE(sigwinch,
69915589c42SPeter Wemm	[  --enable-sigwinch       compile with SIGWINCH handler],
70015589c42SPeter Wemm	[with_sigwinch=$enableval],
70115589c42SPeter Wemm	[with_sigwinch=$with_ext_funcs])
70215589c42SPeter WemmAC_MSG_RESULT($with_sigwinch)
70315589c42SPeter Wemmtest "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH)
70415589c42SPeter Wemm
70515589c42SPeter Wemm###   use option --enable-tcap-names to allow user to define new capabilities
70615589c42SPeter WemmAC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
70715589c42SPeter WemmAC_ARG_ENABLE(tcap-names,
70815589c42SPeter Wemm	[  --enable-tcap-names     compile with user-definable terminal capabilities],
70915589c42SPeter Wemm	[with_tcap_names=$enableval],
71015589c42SPeter Wemm	[with_tcap_names=$with_ext_funcs])
71115589c42SPeter WemmAC_MSG_RESULT($with_tcap_names)
71215589c42SPeter WemmNCURSES_XNAMES=0
71315589c42SPeter Wemmtest "$with_tcap_names" = yes && NCURSES_XNAMES=1
71415589c42SPeter WemmAC_SUBST(NCURSES_XNAMES)
7150e3d5408SPeter Wemm
7160e3d5408SPeter Wemm###############################################################################
71718259542SPeter Wemm# These options are relatively safe to experiment with.
71818259542SPeter WemmCF_HELP_MESSAGE(Development Code:)
71918259542SPeter WemmAC_MSG_CHECKING(if you want all development code)
7200e3d5408SPeter WemmAC_ARG_WITH(develop,
72118259542SPeter Wemm	[  --with-develop          enable all development options],
7220e3d5408SPeter Wemm	[with_develop=$withval],
7230e3d5408SPeter Wemm	[with_develop=no])
7240e3d5408SPeter WemmAC_MSG_RESULT($with_develop)
7250e3d5408SPeter Wemm
72615589c42SPeter Wemm###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
72718259542SPeter WemmAC_MSG_CHECKING(if you want colorfgbg code)
72839f2269fSPeter WemmAC_ARG_ENABLE(enable-colorfgbg,
72918259542SPeter Wemm	[  --enable-colorfgbg      compile with \$COLORFGBG code],
73015589c42SPeter Wemm	[with_colorfgbg=$enableval],
73115589c42SPeter Wemm	[with_colorfgbg=$with_develop])
73215589c42SPeter WemmAC_MSG_RESULT($with_colorfgbg)
73315589c42SPeter Wemmtest "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
7340e3d5408SPeter Wemm
7350e3d5408SPeter Wemm###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
73618259542SPeter WemmAC_MSG_CHECKING(if you want hard-tabs code)
7370e3d5408SPeter WemmAC_ARG_ENABLE(hard-tabs,
73818259542SPeter Wemm	[  --enable-hard-tabs      compile with hard-tabs code],
7390e3d5408SPeter Wemm	[with_hardtabs=$enableval],
7400e3d5408SPeter Wemm	[with_hardtabs=$with_develop])
7410e3d5408SPeter WemmAC_MSG_RESULT($with_hardtabs)
7420e3d5408SPeter Wemmtest "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS)
7430e3d5408SPeter Wemm
74418259542SPeter WemmAC_MSG_CHECKING(if you want to use restrict environment when running as root)
74518259542SPeter WemmAC_ARG_ENABLE(root-environ,
74618259542SPeter Wemm	[  --disable-root-environ  limit environment when running as root],
74718259542SPeter Wemm	[with_root_environ=$enableval],
74818259542SPeter Wemm	[with_root_environ=yes])
74918259542SPeter WemmAC_MSG_RESULT($with_root_environ)
75018259542SPeter Wemmtest "$with_root_environ" = yes && AC_DEFINE(USE_ROOT_ENVIRON)
75118259542SPeter Wemm
75218259542SPeter Wemm###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
75318259542SPeter WemmAC_MSG_CHECKING(if you want limited support for xmc)
75418259542SPeter WemmAC_ARG_ENABLE(xmc-glitch,
75518259542SPeter Wemm	[  --enable-xmc-glitch     compile with limited support for xmc],
75618259542SPeter Wemm	[with_xmc_glitch=$enableval],
75718259542SPeter Wemm	[with_xmc_glitch=$with_develop])
75818259542SPeter WemmAC_MSG_RESULT($with_xmc_glitch)
75918259542SPeter Wemmtest "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
76018259542SPeter Wemm
76118259542SPeter Wemm###############################################################################
76218259542SPeter Wemm# These are just experimental, probably should not be in a package:
76318259542SPeter WemmCF_HELP_MESSAGE(Experimental Code:)
76418259542SPeter Wemm
76518259542SPeter WemmAC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
76618259542SPeter WemmAC_ARG_ENABLE(assumed-color,
76718259542SPeter Wemm	[  --disable-assumed-color do not assume anything about default-colors],
76818259542SPeter Wemm	[with_assumed_color=$enableval],
76918259542SPeter Wemm	[with_assumed_color=yes])
77018259542SPeter WemmAC_MSG_RESULT($with_assumed_color)
77118259542SPeter Wemmtest "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR)
77218259542SPeter Wemm
77318259542SPeter Wemm###   use option --enable-hashmap to turn on use of hashmap scrolling logic
77418259542SPeter WemmAC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
77518259542SPeter WemmAC_ARG_ENABLE(hashmap,
77618259542SPeter Wemm	[  --disable-hashmap       compile without hashmap scrolling-optimization],
77718259542SPeter Wemm	[with_hashmap=$enableval],
77818259542SPeter Wemm	[with_hashmap=yes])
77918259542SPeter WemmAC_MSG_RESULT($with_hashmap)
78018259542SPeter Wemmtest "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
78118259542SPeter Wemm
7820e3d5408SPeter WemmAC_MSG_CHECKING(if you want experimental safe-sprintf code)
7830e3d5408SPeter WemmAC_ARG_ENABLE(safe-sprintf,
7840e3d5408SPeter Wemm	[  --enable-safe-sprintf   compile with experimental safe-sprintf code],
7850e3d5408SPeter Wemm	[with_safe_sprintf=$enableval],
7860e3d5408SPeter Wemm	[with_safe_sprintf=no])
7870e3d5408SPeter WemmAC_MSG_RESULT($with_safe_sprintf)
7880e3d5408SPeter Wemmtest "$with_safe_sprintf" = yes && AC_DEFINE(USE_SAFE_SPRINTF)
7890e3d5408SPeter Wemm
7900e3d5408SPeter Wemm###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
79115589c42SPeter Wemm# when hashmap is used scroll hints are useless
79215589c42SPeter Wemmif test "$with_hashmap" = no ; then
7930e3d5408SPeter WemmAC_MSG_CHECKING(if you want to experiment without scrolling-hints code)
7940e3d5408SPeter WemmAC_ARG_ENABLE(scroll-hints,
79515589c42SPeter Wemm	[  --disable-scroll-hints  compile without scroll-hints code],
7960e3d5408SPeter Wemm	[with_scroll_hints=$enableval],
79715589c42SPeter Wemm	[with_scroll_hints=yes])
7980e3d5408SPeter WemmAC_MSG_RESULT($with_scroll_hints)
7990e3d5408SPeter Wemmtest "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
80015589c42SPeter Wemmfi
8010e3d5408SPeter Wemm
8020e3d5408SPeter Wemm###   use option --enable-widec to turn on use of wide-character support
80339f2269fSPeter WemmNCURSES_CH_T=chtype
80439f2269fSPeter WemmNCURSES_LIBUTF8=0
80539f2269fSPeter WemmNCURSES_MBSTATE_T=0
8060e3d5408SPeter WemmAC_MSG_CHECKING(if you want experimental wide-character code)
8070e3d5408SPeter WemmAC_ARG_ENABLE(widec,
80818259542SPeter Wemm	[  --enable-widec          compile with experimental wide-char/UTF-8 code],
8090e3d5408SPeter Wemm	[with_widec=$enableval],
8100e3d5408SPeter Wemm	[with_widec=no])
8110e3d5408SPeter WemmAC_MSG_RESULT($with_widec)
81215589c42SPeter Wemmif test "$with_widec" = yes ; then
81315589c42SPeter Wemm	LIB_SUFFIX="w${LIB_SUFFIX}"
81415589c42SPeter Wemm	AC_DEFINE(USE_WIDEC_SUPPORT)
81539f2269fSPeter Wemm	CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
81639f2269fSPeter Wemm	with_overwrite=no
81739f2269fSPeter Wemm	NCURSES_CH_T=cchar_t
81839f2269fSPeter Wemm	AC_CHECK_FUNC(putwc)
81939f2269fSPeter Wemmif test "$ac_cv_func_putwc" != yes ; then
82039f2269fSPeter Wemm	CF_LIBUTF8
82139f2269fSPeter Wemm	if test "$cf_cv_libutf8" = yes ; then
82239f2269fSPeter Wemm		NCURSES_LIBUTF8=1
82315589c42SPeter Wemm	fi
82439f2269fSPeter Wemmfi
82539f2269fSPeter Wemm	CF_MBSTATE_T
82639f2269fSPeter Wemm	if test $cf_cv_mbstate_t = yes ; then
82739f2269fSPeter Wemm		NCURSES_MBSTATE_T=1
82839f2269fSPeter Wemm	fi
82939f2269fSPeter Wemmfi
83039f2269fSPeter WemmAC_SUBST(NCURSES_CH_T)
83139f2269fSPeter WemmAC_SUBST(NCURSES_LIBUTF8)
83239f2269fSPeter WemmAC_SUBST(NCURSES_MBSTATE_T)
83339f2269fSPeter Wemm
83439f2269fSPeter WemmAC_MSG_CHECKING(for terminal capabilities file)
83539f2269fSPeter WemmAC_ARG_WITH(caps,
83639f2269fSPeter Wemm	[  --with-caps=alt         compile with experimental alternate Caps file],
83739f2269fSPeter Wemm	[TERMINFO_CAPS=Caps.$withval],
83839f2269fSPeter Wemm	[TERMINFO_CAPS=Caps])
83939f2269fSPeter Wemmtest -f ${srcdir}/include/${TERMINFO_CAPS} || TERMINFO_CAPS=Caps
84039f2269fSPeter WemmAC_MSG_RESULT($TERMINFO_CAPS)
84139f2269fSPeter WemmAC_SUBST(TERMINFO_CAPS)
8420e3d5408SPeter Wemm
8430e3d5408SPeter Wemm###############################################################################
8440e3d5408SPeter WemmCF_HELP_MESSAGE(Testing/development Options:)
8450e3d5408SPeter Wemm
8460e3d5408SPeter Wemm###	use option --disable-echo to suppress full display compiling commands
84718259542SPeter WemmAC_MSG_CHECKING(if you want to display full commands during build)
8480e3d5408SPeter WemmAC_ARG_ENABLE(echo,
8490e3d5408SPeter Wemm	[  --enable-echo           build: display "compiling" commands (default)],
8500e3d5408SPeter Wemm	[with_echo=$enableval],
8510e3d5408SPeter Wemm	[with_echo=yes])
8520e3d5408SPeter Wemmif test "$with_echo" = yes; then
8530e3d5408SPeter Wemm	ECHO_LINK=
8540e3d5408SPeter Wemmelse
8550e3d5408SPeter Wemm	ECHO_LINK='@ echo linking $@ ... ;'
8567a69bbfbSPeter Wemm	test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
8570e3d5408SPeter Wemmfi
85818259542SPeter WemmAC_MSG_RESULT($with_echo)
8590e3d5408SPeter WemmAC_SUBST(ECHO_LINK)
8600e3d5408SPeter Wemm
8610e3d5408SPeter Wemm###	use option --enable-warnings to turn on all gcc warnings
86218259542SPeter WemmAC_MSG_CHECKING(if you want to see compiler warnings)
8630e3d5408SPeter WemmAC_ARG_ENABLE(warnings,
8640e3d5408SPeter Wemm	[  --enable-warnings       build: turn on GCC compiler warnings],
8650e3d5408SPeter Wemm	[with_warnings=$enableval])
8667a69bbfbSPeter WemmAC_MSG_RESULT($with_warnings)
8677a69bbfbSPeter Wemm
8680e3d5408SPeter Wemmif test -n "$with_warnings"; then
8690e3d5408SPeter Wemm 	ADAFLAGS="$ADAFLAGS -gnatg"
8700e3d5408SPeter Wemm	CF_GCC_WARNINGS
8710e3d5408SPeter Wemmfi
8720e3d5408SPeter WemmCF_GCC_ATTRIBUTES
8730e3d5408SPeter Wemm
8740e3d5408SPeter Wemm###	use option --enable-assertions to turn on generation of assertion code
87518259542SPeter WemmAC_MSG_CHECKING(if you want to enable runtime assertions)
8760e3d5408SPeter WemmAC_ARG_ENABLE(assertions,
8770e3d5408SPeter Wemm	[  --enable-assertions     test: turn on generation of assertion code],
8780e3d5408SPeter Wemm	[with_assertions=$enableval],
8790e3d5408SPeter Wemm	[with_assertions=no])
88018259542SPeter WemmAC_MSG_RESULT($with_assertions)
8810e3d5408SPeter Wemmif test -n "$GCC"
8820e3d5408SPeter Wemmthen
88318259542SPeter Wemm	if test "$with_assertions" = no
8840e3d5408SPeter Wemm	then
8850e3d5408SPeter Wemm		AC_DEFINE(NDEBUG)
8860e3d5408SPeter Wemm		CPPFLAGS="$CPPFLAGS -DNDEBUG"
8870e3d5408SPeter Wemm	else
8880e3d5408SPeter Wemm		ADAFLAGS="$ADAFLAGS -gnata"
8890e3d5408SPeter Wemm	fi
8900e3d5408SPeter Wemmfi
8910e3d5408SPeter Wemm
8920e3d5408SPeter Wemm###	use option --disable-leaks to suppress "permanent" leaks, for testing
8930e3d5408SPeter WemmAC_ARG_ENABLE(leaks,
8940e3d5408SPeter Wemm	[  --disable-leaks         test: suppress permanent memory-leaks],
89518259542SPeter Wemm	[test "$enableval" = no && AC_DEFINE(NO_LEAKS)])
8960e3d5408SPeter WemmAC_DEFINE(HAVE_NC_ALLOC_H)
8970e3d5408SPeter Wemm
8980e3d5408SPeter Wemm###	use option --enable-expanded to generate certain macros as functions
8990e3d5408SPeter WemmAC_ARG_ENABLE(expanded,
9000e3d5408SPeter Wemm	[  --enable-expanded       test: generate functions for certain macros],
90118259542SPeter Wemm	[test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
9020e3d5408SPeter Wemm
9030e3d5408SPeter Wemm###	use option --disable-macros to suppress macros in favor of functions
9040e3d5408SPeter WemmAC_ARG_ENABLE(macros,
9050e3d5408SPeter Wemm	[  --disable-macros        test: use functions rather than macros],
90618259542SPeter Wemm	[test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
9070e3d5408SPeter Wemm
9080e3d5408SPeter Wemm###	Checks for libraries.
9090e3d5408SPeter WemmAC_CHECK_FUNC(gettimeofday,
9100e3d5408SPeter Wemm	AC_DEFINE(HAVE_GETTIMEOFDAY),[
9110e3d5408SPeter Wemm
9120e3d5408SPeter WemmAC_CHECK_LIB(bsd, gettimeofday,
9130e3d5408SPeter Wemm	AC_DEFINE(HAVE_GETTIMEOFDAY)
9140e3d5408SPeter Wemm	LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
9150e3d5408SPeter Wemm
91615589c42SPeter WemmCF_MATH_LIB(MATH_LIB,sin(x))
9170e3d5408SPeter WemmAC_SUBST(MATH_LIB)
9180e3d5408SPeter Wemm
9190e3d5408SPeter Wemm###	Checks for header files.
92039f2269fSPeter WemmCF_GNU_SOURCE
9210e3d5408SPeter WemmAC_STDC_HEADERS
9220e3d5408SPeter WemmAC_HEADER_DIRENT
92339f2269fSPeter WemmAC_HEADER_TIME
9240e3d5408SPeter WemmCF_REGEX
9250e3d5408SPeter Wemm
9260e3d5408SPeter Wemmdnl These are some other potentially nonportable headers.
9270e3d5408SPeter WemmAC_CHECK_HEADERS( \
9280e3d5408SPeter Wemmfcntl.h \
9290e3d5408SPeter Wemmgetopt.h \
9300e3d5408SPeter Wemmlibc.h \
9310e3d5408SPeter Wemmlimits.h \
9320e3d5408SPeter Wemmlocale.h \
93315589c42SPeter Wemmpoll.h \
9340e3d5408SPeter Wemmsys/bsdtypes.h \
9350e3d5408SPeter Wemmsys/ioctl.h \
9360e3d5408SPeter Wemmsys/param.h \
93715589c42SPeter Wemmsys/poll.h \
9380e3d5408SPeter Wemmsys/select.h \
9390e3d5408SPeter Wemmsys/time.h \
9400e3d5408SPeter Wemmsys/times.h \
9410e3d5408SPeter Wemmttyent.h \
9420e3d5408SPeter Wemmunistd.h \
9430e3d5408SPeter Wemm)
9440e3d5408SPeter Wemm
9450e3d5408SPeter Wemm# check for ISC (this may also define _POSIX_SOURCE)
9460e3d5408SPeter Wemm# Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
9470e3d5408SPeter Wemmif test "$ISC" = yes ; then
9480e3d5408SPeter Wemm	AC_CHECK_LIB(cposix,main)
9490e3d5408SPeter Wemm	AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()'
9500e3d5408SPeter Wemmfi
9510e3d5408SPeter Wemm
9520e3d5408SPeter WemmCF_SYS_TIME_SELECT
9530e3d5408SPeter Wemm
9540e3d5408SPeter Wemm###	checks for compiler characteristics
9550e3d5408SPeter WemmAC_LANG_C
9560e3d5408SPeter WemmAC_C_CONST
9570e3d5408SPeter WemmAC_C_INLINE
95818259542SPeter Wemmtest "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
9590e3d5408SPeter Wemm
9600e3d5408SPeter WemmCF_TYPEOF_CHTYPE
9610e3d5408SPeter Wemm
9620e3d5408SPeter Wemm###	Checks for external-data
9630e3d5408SPeter WemmCF_ERRNO
9640e3d5408SPeter WemmCF_LINK_DATAONLY
9650e3d5408SPeter Wemm
9660e3d5408SPeter Wemm###	Checks for library functions.
96715589c42SPeter WemmAC_CHECK_FUNCS( \
96815589c42SPeter Wemmgetcwd \
96918259542SPeter Wemmgetegid \
97018259542SPeter Wemmgeteuid \
9710e3d5408SPeter Wemmgetttynam \
97218259542SPeter Wemmissetugid \
9730e3d5408SPeter Wemmmemccpy \
9740e3d5408SPeter Wemmnanosleep \
9750e3d5408SPeter Wemmpoll \
9760e3d5408SPeter Wemmremove \
9770e3d5408SPeter Wemmselect \
9780e3d5408SPeter Wemmsetbuf \
9790e3d5408SPeter Wemmsetbuffer \
9800e3d5408SPeter Wemmsetvbuf \
9810e3d5408SPeter Wemmsigaction \
9820e3d5408SPeter Wemmsigvec \
9830e3d5408SPeter Wemmstrdup \
9840e3d5408SPeter Wemmstrstr \
9850e3d5408SPeter Wemmtcgetpgrp \
9860e3d5408SPeter Wemmtimes \
9870e3d5408SPeter Wemmvsnprintf \
9880e3d5408SPeter Wemm)
9890e3d5408SPeter Wemmif test "$with_getcap" = "yes" ; then
9900e3d5408SPeter Wemm	CF_CGETENT
9910e3d5408SPeter Wemmfi
9920e3d5408SPeter Wemm
9930e3d5408SPeter WemmCF_ISASCII
9940e3d5408SPeter WemmCF_STRUCT_SIGACTION
99518259542SPeter WemmCF_FUNC_TERMIOS
99639f2269fSPeter WemmCF_FUNC_VSSCANF
99739f2269fSPeter WemmCF_MKSTEMP
99839f2269fSPeter Wemm
99939f2269fSPeter Wemm# setup for prototype of fallback for vsscanf()
100039f2269fSPeter Wemmif test "$cf_cv_func_vsscanf" = vsscanf ; then
100139f2269fSPeter Wemm	HAVE_VSSCANF=1
100239f2269fSPeter Wemmelse
100339f2269fSPeter Wemm	HAVE_VSSCANF=0
100439f2269fSPeter Wemmfi
100539f2269fSPeter WemmAC_SUBST(HAVE_VSSCANF)
10060e3d5408SPeter Wemm
10070e3d5408SPeter Wemmdnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
10080e3d5408SPeter Wemmif test "$cross_compiling" = yes ; then
10090e3d5408SPeter Wemm	AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
10100e3d5408SPeter Wemmelse
10110e3d5408SPeter Wemm	AC_FUNC_SETVBUF_REVERSED
10120e3d5408SPeter Wemmfi
10130e3d5408SPeter WemmAC_TYPE_SIGNAL
10140e3d5408SPeter WemmCF_TYPE_SIGACTION
10150e3d5408SPeter WemmCF_SIZECHANGE
10160e3d5408SPeter WemmCF_FUNC_MEMMOVE
101715589c42SPeter WemmCF_FUNC_POLL
10180e3d5408SPeter Wemm
10190e3d5408SPeter Wemmdnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
10200e3d5408SPeter Wemmif test -z "$cf_user_CFLAGS" ; then
10210e3d5408SPeter Wemm	CF_STRIP_G_OPT(CFLAGS)
10220e3d5408SPeter Wemm	CF_STRIP_G_OPT(CXXFLAGS)
10230e3d5408SPeter Wemmfi
10240e3d5408SPeter Wemm
10250e3d5408SPeter Wemmdnl Check for C++ compiler characteristics (and ensure that it's there!)
10260e3d5408SPeter WemmCF_BOOL_DECL(cf_cv_cc_bool_type)
10270e3d5408SPeter Wemmif test -n "$CXX" ; then
10280e3d5408SPeter Wemm	AC_LANG_CPLUSPLUS
10291759abf3SPeter Wemm	CF_STDCPP_LIBRARY
10307a69bbfbSPeter Wemm
103139f2269fSPeter Wemm	case $GXX_VERSION in
10321759abf3SPeter Wemm	1*|2.[0-6]*)
10330e3d5408SPeter Wemm		cf_cxx_library=yes
10340e3d5408SPeter Wemm		;;
10357a69bbfbSPeter Wemm	*-2.7*|2.7*)
10361759abf3SPeter Wemm		CF_GPP_LIBRARY
10371759abf3SPeter Wemm		;;
10381759abf3SPeter Wemm	*)
10391759abf3SPeter Wemm		cf_cxx_library=no
10401759abf3SPeter Wemm		;;
10410e3d5408SPeter Wemm	esac
10427a69bbfbSPeter Wemm
10431759abf3SPeter Wemm	AC_CHECK_HEADERS(typeinfo)
10447a69bbfbSPeter Wemm
10450e3d5408SPeter Wemm	CF_BOOL_DECL
10460e3d5408SPeter Wemm	CF_BOOL_SIZE
10470e3d5408SPeter Wemm	CF_ETIP_DEFINES
10481759abf3SPeter Wemm	CF_CPP_PARAM_INIT
10497a69bbfbSPeter Wemm	CF_CPP_VSCAN_FUNC
10507a69bbfbSPeter Wemm
105139f2269fSPeter Wemm	CXX_AR='$(AR)'
105239f2269fSPeter Wemm	CXX_AR_OPTS='$(AR_OPTS)'
10531759abf3SPeter Wemm	case $cf_cv_system_name in #(vi
105439f2269fSPeter Wemm	irix*) #(vi
105539f2269fSPeter Wemm	    if test "$GXX" != yes ; then
105639f2269fSPeter Wemm		CXX_AR='$(CXX)'
105739f2269fSPeter Wemm		CXX_AR_OPTS='-ar -o'
105839f2269fSPeter Wemm	    fi
105939f2269fSPeter Wemm	    ;;
106039f2269fSPeter Wemm	sco3.2v5*) #(vi
10611759abf3SPeter Wemm	    CXXLDFLAGS="-u main"
10621759abf3SPeter Wemm	    ;;
106339f2269fSPeter Wemm	solaris2*)
106439f2269fSPeter Wemm	    if test "$GXX" != yes ; then
106539f2269fSPeter Wemm		CXX_AR='$(CXX)'
106639f2269fSPeter Wemm		CXX_AR_OPTS='-xar -o'
106739f2269fSPeter Wemm	    fi
106839f2269fSPeter Wemm	    ;;
10691759abf3SPeter Wemm	esac
10701759abf3SPeter Wemm	AC_SUBST(CXXLDFLAGS)
107139f2269fSPeter Wemm	AC_SUBST(CXX_AR)
107239f2269fSPeter Wemm	AC_SUBST(CXX_AR_OPTS)
10730e3d5408SPeter Wemmelse
10740e3d5408SPeter Wemm	cf_cxx_library=no
10751759abf3SPeter Wemm	cf_cv_builtin_bool=1
10760e3d5408SPeter Wemm
10770e3d5408SPeter Wemm	# Just because we are not configuring against C++ right now does not
10780e3d5408SPeter Wemm	# mean that a user will not want to use C++.  Some distributors disable
10790e3d5408SPeter Wemm	# the C++ portion of this configuration as a shortcut (or just to avoid
10800e3d5408SPeter Wemm	# compiling the demo in the c++ directory).  So we need a reasonable
10810e3d5408SPeter Wemm	# default for the 'bool' type.
10820e3d5408SPeter Wemm	#
10830e3d5408SPeter Wemm	# Caveat: since the storage of the bool type is not standardized, it
10840e3d5408SPeter Wemm	# may change.
10850e3d5408SPeter Wemm
108639f2269fSPeter Wemm	if test "$NCURSES_BOOL" != auto ; then
108739f2269fSPeter Wemm		cf_cv_type_of_bool=$NCURSES_AUTO
108839f2269fSPeter Wemm	else
108939f2269fSPeter Wemm		if test "$cf_cv_header_stdbool_h" = 1 ; then
109039f2269fSPeter Wemm			CF_BOOL_SIZE
109139f2269fSPeter Wemm		else
10920e3d5408SPeter Wemm			AC_MSG_CHECKING(for fallback type of bool)
10930e3d5408SPeter Wemm			case "$host_cpu" in #(vi
10940e3d5408SPeter Wemm			i?86)	cf_cv_type_of_bool=char	;; #(vi
10950e3d5408SPeter Wemm			*)	cf_cv_type_of_bool=int	;;
10960e3d5408SPeter Wemm			esac
10970e3d5408SPeter Wemm			AC_MSG_RESULT($cf_cv_type_of_bool)
10980e3d5408SPeter Wemm		fi
109939f2269fSPeter Wemm	fi
110039f2269fSPeter Wemmfi
11010e3d5408SPeter WemmAC_SUBST(CXXLIBS)
11020e3d5408SPeter Wemm
11030e3d5408SPeter WemmCF_HELP_MESSAGE(Ada95 Binding Options:)
11040e3d5408SPeter Wemm
11050e3d5408SPeter Wemmdnl Check for availability of GNU Ada Translator (GNAT).
11060e3d5408SPeter Wemmdnl At the moment we support no other Ada95 compiler.
11070e3d5408SPeter Wemmif test "$cf_with_ada" != "no" ; then
11080e3d5408SPeter Wemmcf_ada_make=gnatmake
11090e3d5408SPeter WemmAC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
11100e3d5408SPeter Wemmif test "$ac_cv_prog_gnat_exists" = no; then
11110e3d5408SPeter Wemm   cf_ada_make=
11120e3d5408SPeter Wemmelse
11130e3d5408SPeter Wemm   CF_GNAT_VERSION
111418259542SPeter Wemm   AC_CHECK_PROG(M4_exists, m4, yes, no)
111518259542SPeter Wemm   if test "$ac_cv_prog_M4_exists" = no; then
11160e3d5408SPeter Wemm      cf_cv_prog_gnat_correct=no
11170e3d5408SPeter Wemm      echo Ada95 binding required program m4 not found. Ada95 binding disabled.
11180e3d5408SPeter Wemm   fi
11190e3d5408SPeter Wemm   if test "$cf_cv_prog_gnat_correct" = yes; then
11200e3d5408SPeter Wemm      AC_MSG_CHECKING(if GNAT works)
11210e3d5408SPeter Wemm      CF_GNAT_TRY_RUN([procedure conftest;],
11220e3d5408SPeter Wemm[with Text_IO;
11230e3d5408SPeter Wemmwith GNAT.OS_Lib;
11240e3d5408SPeter Wemmprocedure conftest is
11250e3d5408SPeter Wemmbegin
11260e3d5408SPeter Wemm   Text_IO.Put ("Hello World");
11270e3d5408SPeter Wemm   Text_IO.New_Line;
11280e3d5408SPeter Wemm   GNAT.OS_Lib.OS_Exit (0);
11290e3d5408SPeter Wemmend conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
11300e3d5408SPeter Wemm      AC_MSG_RESULT($cf_cv_prog_gnat_correct)
11310e3d5408SPeter Wemm   fi
11320e3d5408SPeter Wemmfi
11330e3d5408SPeter Wemmif test	"$cf_cv_prog_gnat_correct" = yes; then
11340e3d5408SPeter Wemm   ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
11350e3d5408SPeter Wemm
11360e3d5408SPeter Wemm   AC_ARG_WITH(ada-compiler,
113718259542SPeter Wemm	[  --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
11380e3d5408SPeter Wemm	[cf_ada_compiler=$withval],
11390e3d5408SPeter Wemm	[cf_ada_compiler=gnatmake])
11400e3d5408SPeter Wemm
11410e3d5408SPeter Wemm   cf_ada_package=terminal_interface
11420e3d5408SPeter Wemm
11430e3d5408SPeter Wemm   AC_SUBST(cf_ada_make)
11440e3d5408SPeter Wemm   AC_SUBST(cf_ada_compiler)
11450e3d5408SPeter Wemm   AC_SUBST(cf_ada_package)
11460e3d5408SPeter Wemm   AC_SUBST(ADAFLAGS)
11470e3d5408SPeter Wemm   AC_SUBST(cf_compile_generics)
11480e3d5408SPeter Wemm   AC_SUBST(cf_generic_objects)
11490e3d5408SPeter Wemm
11500e3d5408SPeter Wemm   CF_WITH_PATH(ada-include,
11510e3d5408SPeter Wemm       [  --with-ada-include=DIR  Ada includes are in DIR],
11520e3d5408SPeter Wemm       ADA_INCLUDE,
115315589c42SPeter Wemm       PREFIX/lib/ada/adainclude,
115415589c42SPeter Wemm       [$]prefix/lib/ada/adainclude)
11550e3d5408SPeter Wemm   AC_SUBST(ADA_INCLUDE)
11560e3d5408SPeter Wemm
11570e3d5408SPeter Wemm   CF_WITH_PATH(ada-objects,
11580e3d5408SPeter Wemm       [  --with-ada-objects=DIR  Ada objects are in DIR],
11590e3d5408SPeter Wemm       ADA_OBJECTS,
116015589c42SPeter Wemm       PREFIX/lib/ada/adalib,
116115589c42SPeter Wemm       [$]prefix/lib/ada/adalib)
11620e3d5408SPeter Wemm   AC_SUBST(ADA_OBJECTS)
11630e3d5408SPeter Wemm
11640e3d5408SPeter Wemmfi
11650e3d5408SPeter Wemmfi
11660e3d5408SPeter Wemm
11670e3d5408SPeter Wemm### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
11680e3d5408SPeter Wemm### using a 'char' for bools.  gcc 2.7.0's conversion-warnings are broken too
11690e3d5408SPeter Wemm### badly to consider using for development purposes, but 2.5.8 is okay.
11700e3d5408SPeter Wemmif test -n "$with_warnings"; then
117139f2269fSPeter Wemm	case $GCC_VERSION in
11720e3d5408SPeter Wemm	2.6.3)
11730e3d5408SPeter Wemm		if test "$cf_cv_type_of_bool" != "char"; then
11740e3d5408SPeter Wemm			EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
11750e3d5408SPeter Wemm		fi
11760e3d5408SPeter Wemm		;;
11770e3d5408SPeter Wemm	2.5*)
11780e3d5408SPeter Wemm		EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
11790e3d5408SPeter Wemm		;;
11800e3d5408SPeter Wemm	esac
11810e3d5408SPeter Wemmfi
11820e3d5408SPeter Wemm
11830e3d5408SPeter Wemm### Construct the library-subsets, if any, from this set of keywords:
11840e3d5408SPeter Wemm### none, base, ext_funcs, termlib.
11850e3d5408SPeter WemmAC_MSG_CHECKING(for library subsets)
11860e3d5408SPeter Wemmif test "$with_termlib" = yes ; then
11870e3d5408SPeter Wemm	LIB_SUBSETS="termlib "
11880e3d5408SPeter Wemmelse
11890e3d5408SPeter Wemm	LIB_SUBSETS="termlib+"
11900e3d5408SPeter Wemmfi
11910e3d5408SPeter WemmLIB_SUBSETS="${LIB_SUBSETS}base"
119239f2269fSPeter Wemmtest "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
11930e3d5408SPeter Wemmtest "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
11940e3d5408SPeter WemmAC_MSG_RESULT($LIB_SUBSETS)
11950e3d5408SPeter Wemm
119615589c42SPeter WemmLIB_TRACING=DEBUG
11977a69bbfbSPeter WemmADA_TRACE=FALSE
11987a69bbfbSPeter Wemmcase "$CFLAGS $CPPFLAGS" in
119915589c42SPeter Wemm*-DTRACE*)
120015589c42SPeter Wemm	LIB_TRACING=all
12017a69bbfbSPeter Wemm	ADA_TRACE=TRUE
120215589c42SPeter Wemm	;;
120315589c42SPeter Wemmesac
12047a69bbfbSPeter WemmAC_SUBST(ADA_TRACE)
120515589c42SPeter Wemm
12060e3d5408SPeter Wemm### Construct the list of include-directories to be generated
12070e3d5408SPeter WemmCF_INCLUDE_DIRS
12080e3d5408SPeter WemmCF_ADA_INCLUDE_DIRS
12090e3d5408SPeter Wemm
121015589c42SPeter Wemm### Build up pieces for makefile rules
121115589c42SPeter WemmAC_MSG_CHECKING(default library suffix)
121215589c42SPeter WemmCF_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl
121315589c42SPeter WemmAC_SUBST(DFT_ARG_SUFFIX)dnl the string to append to "-lncurses" ("")
121415589c42SPeter WemmAC_MSG_RESULT($DFT_ARG_SUFFIX)
121515589c42SPeter Wemm
121615589c42SPeter WemmAC_MSG_CHECKING(default library-dependency suffix)
121715589c42SPeter WemmCF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
121839f2269fSPeter Wemmif test $DFT_LWR_MODEL = shared ; then
121939f2269fSPeter Wemm	case $cf_cv_system_name in #(vi
122039f2269fSPeter Wemm	cygwin*)
122139f2269fSPeter Wemm		DFT_DEP_SUFFIX=".dll.a"
122239f2269fSPeter Wemm		;;
122339f2269fSPeter Wemm	esac
122439f2269fSPeter Wemmfi
122515589c42SPeter WemmAC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
122615589c42SPeter WemmAC_MSG_RESULT($DFT_DEP_SUFFIX)
122715589c42SPeter Wemm
122815589c42SPeter WemmAC_MSG_CHECKING(default object directory)
122915589c42SPeter WemmCF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
123015589c42SPeter WemmAC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
123115589c42SPeter WemmAC_MSG_RESULT($DFT_OBJ_SUBDIR)
123215589c42SPeter Wemm
12337a69bbfbSPeter Wemm# libtool thinks it can make c++ shared libraries (perhaps only g++)
12347a69bbfbSPeter WemmAC_MSG_CHECKING(c++ library-dependency suffix)
12357a69bbfbSPeter Wemmif test "$with_libtool" = "yes"; then
12367a69bbfbSPeter Wemm	CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
12377a69bbfbSPeter Wemmelse
12387a69bbfbSPeter Wemm	CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library
12397a69bbfbSPeter Wemmfi
12407a69bbfbSPeter WemmAC_MSG_RESULT($CXX_LIB_SUFFIX)
12417a69bbfbSPeter WemmAC_SUBST(CXX_LIB_SUFFIX)
12427a69bbfbSPeter Wemm
124315589c42SPeter WemmTINFO_LIST="$SHLIB_LIST"
124418259542SPeter Wemmtest "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
124515589c42SPeter Wemm
124615589c42SPeter WemmAC_MSG_CHECKING(where we will install curses.h)
124715589c42SPeter Wemmtest "$with_overwrite" = no && \
124815589c42SPeter Wemmtest "x$includedir" = 'x${prefix}/include' && \
124915589c42SPeter Wemm	includedir='$(prefix)/include/ncurses'${LIB_SUFFIX}
125015589c42SPeter WemmAC_MSG_RESULT($includedir)
125115589c42SPeter Wemm
125215589c42SPeter WemmAC_SUBST(EXTRA_LIBS)
125315589c42SPeter WemmAC_SUBST(TINFO_LIST)
125415589c42SPeter WemmAC_SUBST(SHLIB_LIST)
125515589c42SPeter Wemm
12560e3d5408SPeter Wemm### Set up low-level terminfo dependencies for makefiles.  Note that we
12570e3d5408SPeter Wemm### could override this.
12580e3d5408SPeter Wemmif test "$with_termlib" = yes ; then
125915589c42SPeter Wemm	TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_NAME}${DFT_DEP_SUFFIX}"
12607a69bbfbSPeter Wemm	if test "$DFT_LWR_MODEL" = "libtool"; then
12617a69bbfbSPeter Wemm		TEST_ARGS="${TEST_DEPS}"
12627a69bbfbSPeter Wemm	else
12630e3d5408SPeter Wemm		TEST_ARGS="-l${TINFO_NAME}${DFT_ARG_SUFFIX}"
12640e3d5408SPeter Wemm	fi
12657a69bbfbSPeter Wemmfi
12660e3d5408SPeter WemmPROG_DEPS="$TEST_DEPS"
12670e3d5408SPeter WemmPROG_ARGS="$TEST_ARGS"
12680e3d5408SPeter Wemm
12690e3d5408SPeter Wemm### Construct the list of subdirectories for which we'll customize makefiles
12700e3d5408SPeter Wemm### with the appropriate compile-rules.
12710e3d5408SPeter Wemm
12720e3d5408SPeter WemmCF_SRC_MODULES($modules_to_build)
12730e3d5408SPeter WemmCF_DIRS_TO_MAKE
12740e3d5408SPeter Wemm
12757a69bbfbSPeter WemmAC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
12767a69bbfbSPeter Wemm
12770e3d5408SPeter Wemm### Now that we're done running tests, add the compiler-warnings, if any
12780e3d5408SPeter WemmCFLAGS="$CFLAGS $EXTRA_CFLAGS"
12790e3d5408SPeter Wemm
12800e3d5408SPeter Wemm################################################################################
12810e3d5408SPeter WemmAC_OUTPUT( \
12820e3d5408SPeter Wemm	include/MKterm.h.awk \
128339f2269fSPeter Wemm	include/curses.head:include/curses.h.in \
12840e3d5408SPeter Wemm	include/termcap.h \
12850e3d5408SPeter Wemm	include/unctrl.h \
128618259542SPeter Wemm	misc/run_tic.sh:misc/run_tic.in \
12870e3d5408SPeter Wemm	$SUB_MAKEFILES \
12880e3d5408SPeter Wemm	Makefile,[
12890e3d5408SPeter WemmCF_LIB_RULES
12900e3d5408SPeter Wemm],[
12910e3d5408SPeter Wemm### Special initialization commands, used to pass information from the
12920e3d5408SPeter Wemm### configuration-run into config.status
12930e3d5408SPeter Wemm
12940e3d5408SPeter WemmAWK="$AWK"
12950e3d5408SPeter WemmCF_LIST_MODELS="$cf_list_models"
12960e3d5408SPeter WemmDFT_LWR_MODEL="$DFT_LWR_MODEL"
12970e3d5408SPeter WemmLDCONFIG="$LDCONFIG"
12980e3d5408SPeter WemmLIB_NAME="$LIB_NAME"
12990e3d5408SPeter WemmLIB_SUBSETS="$LIB_SUBSETS"
130039f2269fSPeter WemmLIB_SUFFIX="$LIB_SUFFIX"
130115589c42SPeter WemmLIB_TRACING="$LIB_TRACING"
130239f2269fSPeter WemmMAKE_TERMINFO="$MAKE_TERMINFO"
130339f2269fSPeter WemmNCURSES_OSPEED="$NCURSES_OSPEED"
13040e3d5408SPeter WemmSRC_SUBDIRS="$SRC_SUBDIRS"
130518259542SPeter WemmTERMINFO="$TERMINFO"
13060e3d5408SPeter WemmTINFO_NAME="$TINFO_NAME"
130739f2269fSPeter WemmWITH_CURSES_H="$with_curses_h"
13080e3d5408SPeter WemmWITH_ECHO="$with_echo"
13090e3d5408SPeter WemmWITH_OVERWRITE="$with_overwrite"
13100e3d5408SPeter Wemmcf_cv_abi_version="$cf_cv_abi_version"
13110e3d5408SPeter Wemmcf_cv_do_symlinks="$cf_cv_do_symlinks"
13120e3d5408SPeter Wemmcf_cv_rel_version="$cf_cv_rel_version"
13130e3d5408SPeter Wemmcf_cv_rm_so_locs="$cf_cv_rm_so_locs"
131439f2269fSPeter Wemmcf_cv_shlib_version="$cf_cv_shlib_version"
131539f2269fSPeter Wemmcf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
13160e3d5408SPeter Wemmcf_cv_system_name="$cf_cv_system_name"
13171759abf3SPeter Wemmcf_with_cxx_binding="$cf_with_cxx_binding"
13180e3d5408SPeter Wemmtarget="$target"
13190e3d5408SPeter Wemm
13200e3d5408SPeter Wemm],sort)dnl
13210e3d5408SPeter Wemm${MAKE-make} preinstall
1322