xref: /freebsd/contrib/ncurses/configure.in (revision 21817992b3314c908ab50f0bb88d2ee750b9c4ac)
10e3d5408SPeter Wemmdnl***************************************************************************
2*21817992SBaptiste Daroussindnl Copyright 2018-2023,2024 Thomas E. Dickey                                *
3e1865124SBaptiste Daroussindnl Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
40e3d5408SPeter Wemmdnl                                                                          *
50e3d5408SPeter Wemmdnl Permission is hereby granted, free of charge, to any person obtaining a  *
60e3d5408SPeter Wemmdnl copy of this software and associated documentation files (the            *
70e3d5408SPeter Wemmdnl "Software"), to deal in the Software without restriction, including      *
80e3d5408SPeter Wemmdnl without limitation the rights to use, copy, modify, merge, publish,      *
90e3d5408SPeter Wemmdnl distribute, distribute with modifications, sublicense, and/or sell       *
100e3d5408SPeter Wemmdnl copies of the Software, and to permit persons to whom the Software is    *
110e3d5408SPeter Wemmdnl furnished to do so, subject to the following conditions:                 *
120e3d5408SPeter Wemmdnl                                                                          *
130e3d5408SPeter Wemmdnl The above copyright notice and this permission notice shall be included  *
140e3d5408SPeter Wemmdnl in all copies or substantial portions of the Software.                   *
150e3d5408SPeter Wemmdnl                                                                          *
160e3d5408SPeter Wemmdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
170e3d5408SPeter Wemmdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
180e3d5408SPeter Wemmdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
190e3d5408SPeter Wemmdnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
200e3d5408SPeter Wemmdnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
210e3d5408SPeter Wemmdnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
220e3d5408SPeter Wemmdnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
230e3d5408SPeter Wemmdnl                                                                          *
240e3d5408SPeter Wemmdnl Except as contained in this notice, the name(s) of the above copyright   *
250e3d5408SPeter Wemmdnl holders shall not be used in advertising or otherwise to promote the     *
260e3d5408SPeter Wemmdnl sale, use or other dealings in this Software without prior written       *
270e3d5408SPeter Wemmdnl authorization.                                                           *
280e3d5408SPeter Wemmdnl***************************************************************************
290e3d5408SPeter Wemmdnl
30b82face1SPeter Wemmdnl Author: Thomas E. Dickey 1995-on
310e3d5408SPeter Wemmdnl
32*21817992SBaptiste Daroussindnl $Id: configure.in,v 1.779 2024/04/10 08:04:00 tom Exp $
330e3d5408SPeter Wemmdnl Process this file with autoconf to produce a configure script.
3418259542SPeter Wemmdnl
35aae38d10SBaptiste Daroussindnl For additional information, see
36aae38d10SBaptiste Daroussindnl     https://invisible-island.net/autoconf/
37aae38d10SBaptiste Daroussindnl     https://invisible-island.net/autoconf/my-autoconf.html
3818259542SPeter Wemmdnl
3918259542SPeter Wemmdnl ---------------------------------------------------------------------------
407a656419SBaptiste DaroussinAC_PREREQ(2.52.20210101)
41*21817992SBaptiste DaroussinAC_REVISION($Revision: 1.779 $)
420e3d5408SPeter WemmAC_INIT(ncurses/base/lib_initscr.c)
430e3d5408SPeter WemmAC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
440e3d5408SPeter Wemm
45aae38d10SBaptiste DaroussinAC_DEFUN([AC_PATH_XTRA],[])dnl ignore dependencies on this
46aae38d10SBaptiste Daroussin
474a1a9510SRong-En FanCF_TOP_BUILDDIR
480e3d5408SPeter WemmCF_SUBST_NCURSES_VERSION
49aae38d10SBaptiste DaroussinCF_VERSION_INFO(NCURSES,ncurses)
504a1a9510SRong-En Fan
514a1a9510SRong-En FanCF_WITH_REL_VERSION(NCURSES)
52aae38d10SBaptiste DaroussinCF_NCURSES_WITH_ABI_VERSION
534a1a9510SRong-En Fan
5473f0a83dSXin LICF_WITH_SYSTYPE
550e3d5408SPeter Wemm
560e3d5408SPeter Wemm###	Save the given $CFLAGS to allow user-override.
570e3d5408SPeter Wemmcf_user_CFLAGS="$CFLAGS"
580e3d5408SPeter Wemm
590e3d5408SPeter Wemm###	Default install-location
600e3d5408SPeter WemmCF_CFG_DEFAULTS
61aae38d10SBaptiste Daroussin### Defaults for ncurses ABI
62aae38d10SBaptiste DaroussinCF_ABI_DEFAULTS
630e3d5408SPeter Wemm
64*21817992SBaptiste Daroussin### override ABI version, e.g., packagers
65*21817992SBaptiste DaroussinCF_WITH_ABI_ALTERED
66*21817992SBaptiste Daroussin
670e3d5408SPeter Wemm###	Checks for programs.
6873f0a83dSXin LIAC_ARG_WITH(ada,
69aae38d10SBaptiste Daroussin	[  --without-ada           suppress check for Ada compiler, don't build demo],
7073f0a83dSXin LI	[cf_with_ada=$withval],
7173f0a83dSXin LI	[cf_with_ada=yes])
72aae38d10SBaptiste Daroussin
7373f0a83dSXin LIif test "x$cf_with_ada" = xyes
7473f0a83dSXin LIthen
75aae38d10SBaptiste Daroussin	cf_prog_cc="gnatgcc gcc cc"
7673f0a83dSXin LIelse
77aae38d10SBaptiste Daroussin	cf_prog_cc="gcc cc"
7873f0a83dSXin LIfi
79aae38d10SBaptiste DaroussinCF_PROG_CC($cf_prog_cc)
8039f2269fSPeter Wemm
810e3d5408SPeter WemmAC_PROG_CPP
820e3d5408SPeter WemmAC_PROG_GCC_TRADITIONAL
83aae38d10SBaptiste DaroussinCF_PROG_CC_C_O(CC,[$CFLAGS $CPPFLAGS])
844a1a9510SRong-En FanCF_PROG_LDCONFIG
850e3d5408SPeter Wemm
860e3d5408SPeter Wemmdnl DEFECT in autoconf 2.12:	an attempt to set policy, this breaks the
870e3d5408SPeter Wemmdnl				configure script by not letting us test if C++
880e3d5408SPeter Wemmdnl				is present, making this option necessary.
891759abf3SPeter WemmAC_MSG_CHECKING(if you want to ensure bool is consistent with C++)
900e3d5408SPeter WemmAC_ARG_WITH(cxx,
911759abf3SPeter Wemm	[  --without-cxx           do not adjust ncurses bool to match C++],
920e3d5408SPeter Wemm	[cf_with_cxx=$withval],
930e3d5408SPeter Wemm	[cf_with_cxx=yes])
940e3d5408SPeter WemmAC_MSG_RESULT($cf_with_cxx)
951759abf3SPeter Wemmif test "X$cf_with_cxx" = Xno ; then
961759abf3SPeter Wemm	CXX=""
971759abf3SPeter Wemm	GXX=""
981759abf3SPeter Wemmelse
994a1a9510SRong-En Fan	# with autoconf 2.13, we can change the error to a warning:
10015589c42SPeter Wemm	pushdef([AC_MSG_ERROR],
1014a1a9510SRong-En Fan		[AC_MSG_RESULT(no)
1024a1a9510SRong-En Fan		 AC_MSG_WARN([You don't have any C++ compiler, too bad])
10315589c42SPeter Wemm		cf_with_cxx=no; CXX=""; GXX="";])dnl
1040e3d5408SPeter Wemm	AC_PROG_CXX
10515589c42SPeter Wemm	popdef([AC_MSG_ERROR])dnl
106aae38d10SBaptiste Daroussin
107aae38d10SBaptiste Daroussin	AC_LANG_PUSH(C++)
108aae38d10SBaptiste Daroussin	if test "x$cf_with_cxx" != xno
109aae38d10SBaptiste Daroussin	then
110aae38d10SBaptiste Daroussin		# Several of the C++ configurations do not work, particularly when
111aae38d10SBaptiste Daroussin		# cross-compiling (20140913 -TD)
112aae38d10SBaptiste Daroussin		AC_MSG_CHECKING(if $CXX works)
113aae38d10SBaptiste Daroussin
114aae38d10SBaptiste Daroussin		save_CPPFLAGS="$CPPFLAGS"
115aae38d10SBaptiste Daroussin		eval cf_includedir=${includedir}
116aae38d10SBaptiste Daroussin		CPPFLAGS="$CPPFLAGS -I${cf_includedir}"
117aae38d10SBaptiste Daroussin		AC_TRY_COMPILE([
118aae38d10SBaptiste Daroussin#include <stdlib.h>
119aae38d10SBaptiste Daroussin#include <stdio.h>
120aae38d10SBaptiste Daroussin],
121aae38d10SBaptiste Daroussin		[
122aae38d10SBaptiste Daroussin		printf("Hello world!\n")
123aae38d10SBaptiste Daroussin		],
124aae38d10SBaptiste Daroussin		[cf_cxx_works=yes],
125aae38d10SBaptiste Daroussin		[cf_cxx_works=no])
126aae38d10SBaptiste Daroussin		CPPFLAGS="$save_CPPFLAGS"
127aae38d10SBaptiste Daroussin
128aae38d10SBaptiste Daroussin		AC_MSG_RESULT($cf_cxx_works)
129aae38d10SBaptiste Daroussin		if test "x$cf_cxx_works" = xno
130aae38d10SBaptiste Daroussin		then
131aae38d10SBaptiste Daroussin			AC_MSG_WARN([Ignore $CXX, since it cannot compile hello-world.])
132aae38d10SBaptiste Daroussin			cf_with_cxx=no; CXX=""; GXX="";
133aae38d10SBaptiste Daroussin		fi
134aae38d10SBaptiste Daroussin	fi
135aae38d10SBaptiste Daroussin	AC_LANG_POP
136aae38d10SBaptiste Daroussin
13773f0a83dSXin LI	# autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
1384a1a9510SRong-En Fan	if test "$CXX" = "g++" ; then
1394a1a9510SRong-En Fan		AC_PATH_PROG(CXX,g++)
1404a1a9510SRong-En Fan	fi
141aae38d10SBaptiste Daroussin	case "x$CXX" in
142aae38d10SBaptiste Daroussin	(x|xg++)
14373f0a83dSXin LI		AC_MSG_WARN([You don't have any C++ compiler, too bad])
1444a1a9510SRong-En Fan		cf_with_cxx=no; CXX=""; GXX="";
14573f0a83dSXin LI		;;
14673f0a83dSXin LI	esac
1470e3d5408SPeter Wemmfi
14818259542SPeter Wemm
1494a1a9510SRong-En FanCF_GXX_VERSION
1507a656419SBaptiste Daroussincase "$GXX_VERSION" in
1517a656419SBaptiste Daroussin([[1-9]][[0-9]].*)
1527a656419SBaptiste Daroussin	;;
1537a656419SBaptiste Daroussin(1.*|2.[[0-6]]*)
15439f2269fSPeter Wemm	AC_MSG_WARN(templates do not work)
15518259542SPeter Wemm	;;
15618259542SPeter Wemmesac
1570e3d5408SPeter Wemm
1581759abf3SPeter WemmAC_MSG_CHECKING(if you want to build C++ binding and demo)
1591759abf3SPeter WemmAC_ARG_WITH(cxx-binding,
1601759abf3SPeter Wemm	[  --without-cxx-binding   do not build C++ binding and demo],
1611759abf3SPeter Wemm	[cf_with_cxx_binding=$withval],
1621759abf3SPeter Wemm	[cf_with_cxx_binding=$cf_with_cxx])
1631759abf3SPeter WemmAC_MSG_RESULT($cf_with_cxx_binding)
1641759abf3SPeter Wemm
165aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want to build with Ada)
1660e3d5408SPeter WemmAC_MSG_RESULT($cf_with_ada)
1670e3d5408SPeter Wemm
16873f0a83dSXin LIAC_MSG_CHECKING(if you want to install terminal database)
16973f0a83dSXin LIAC_ARG_ENABLE(db-install,
17073f0a83dSXin LI	[  --disable-db-install    suppress install of terminal database],
17173f0a83dSXin LI	[cf_with_db_install=$enableval],
17273f0a83dSXin LI	[cf_with_db_install=yes])
17373f0a83dSXin LIAC_MSG_RESULT($cf_with_db_install)
17473f0a83dSXin LI
17506bfebdeSXin LIAC_MSG_CHECKING(if you want to install manpages)
17606bfebdeSXin LIAC_ARG_WITH(manpages,
17706bfebdeSXin LI	[  --without-manpages      suppress install of manpages],
17806bfebdeSXin LI	[cf_with_manpages=$withval],
17906bfebdeSXin LI	[cf_with_manpages=yes])
18006bfebdeSXin LIAC_MSG_RESULT($cf_with_manpages)
18106bfebdeSXin LI
1820e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build programs such as tic)
1830e3d5408SPeter WemmAC_ARG_WITH(progs,
18473f0a83dSXin LI	[  --without-progs         suppress build/install with programs (e.g., tic)],
1850e3d5408SPeter Wemm	[cf_with_progs=$withval],
1860e3d5408SPeter Wemm	[cf_with_progs=yes])
1870e3d5408SPeter WemmAC_MSG_RESULT($cf_with_progs)
1880e3d5408SPeter Wemm
18906bfebdeSXin LIAC_MSG_CHECKING(if you want to build test-programs)
19006bfebdeSXin LIAC_ARG_WITH(tests,
19173f0a83dSXin LI	[  --without-tests         suppress build/install with test-programs],
19206bfebdeSXin LI	[cf_with_tests=$withval],
19306bfebdeSXin LI	[cf_with_tests=yes])
19406bfebdeSXin LIAC_MSG_RESULT($cf_with_tests)
19506bfebdeSXin LI
1967a69bbfbSPeter WemmAC_MSG_CHECKING(if you wish to install curses.h)
1977a69bbfbSPeter WemmAC_ARG_WITH(curses-h,
1987a69bbfbSPeter Wemm	[  --without-curses-h      install curses.h as ncurses.h only],
1997a69bbfbSPeter Wemm	[with_curses_h=$withval],
2007a69bbfbSPeter Wemm	[with_curses_h=yes])
2017a69bbfbSPeter WemmAC_MSG_RESULT($with_curses_h)
2027a69bbfbSPeter Wemm
2030e3d5408SPeter Wemmmodules_to_build="ncurses"
204aae38d10SBaptiste Daroussintest "X$cf_with_progs" != Xno && modules_to_build="$modules_to_build progs"
2050e3d5408SPeter Wemmmodules_to_build="$modules_to_build panel menu form"
2060e3d5408SPeter Wemm
20718259542SPeter WemmAC_ARG_PROGRAM
2084a1a9510SRong-En Fan
2094a1a9510SRong-En FanCF_PROG_AWK
2100e3d5408SPeter WemmCF_PROG_INSTALL
2114a1a9510SRong-En FanCF_PROG_LINT
21206bfebdeSXin LICF_PROG_LN_S
2134a1a9510SRong-En Fan
2145ca44d1cSRong-En FanAC_SYS_LONG_FILE_NAMES
2155ca44d1cSRong-En Fan
216aae38d10SBaptiste Daroussin# Provide for renaming "ncurses5-config" to "ncurses5X-config", etc., in case
217aae38d10SBaptiste Daroussin# of package conflict.
218aae38d10SBaptiste Daroussincf_config_suffix=
219aae38d10SBaptiste DaroussinAC_ARG_WITH(config-suffix,
220*21817992SBaptiste Daroussin	[  --with-config-suffix=X  name ncurses*X-config file with X],
221aae38d10SBaptiste Daroussin	[case "x$withval" in
222aae38d10SBaptiste Daroussin	(xyes|xno)
223aae38d10SBaptiste Daroussin		AC_MSG_WARN(expected a value for config-suffix option)
224aae38d10SBaptiste Daroussin		;;
225aae38d10SBaptiste Daroussin	(*)	cf_config_suffix="$withval"
226aae38d10SBaptiste Daroussin		;;
227aae38d10SBaptiste Daroussin	esac])
228aae38d10SBaptiste DaroussinAC_SUBST(cf_config_suffix)
229aae38d10SBaptiste Daroussin
230aae38d10SBaptiste Daroussin# If we find pkg-config, check if we should install the ".pc" files.
23106bfebdeSXin LICF_PKG_CONFIG
23273f0a83dSXin LICF_WITH_PKG_CONFIG_LIBDIR
23373f0a83dSXin LICF_ENABLE_PC_FILES
234aae38d10SBaptiste Daroussinif test -z "$MAKE_PC_FILES"
235aae38d10SBaptiste Daroussinthen
236*21817992SBaptiste Daroussin	AC_MSG_CHECKING(for suffix to add to pkg-config files)
237aae38d10SBaptiste DaroussinAC_ARG_WITH(pc-suffix,
238*21817992SBaptiste Daroussin	[[  --with-pc-suffix[=XXX]  suffix pkg-config files with XXX]],
239aae38d10SBaptiste Daroussin	[case "x$withval" in
240aae38d10SBaptiste Daroussin	(xyes|xno)
241aae38d10SBaptiste Daroussin		PC_MODULE_SUFFIX=
242aae38d10SBaptiste Daroussin		;;
243aae38d10SBaptiste Daroussin	(*)	PC_MODULE_SUFFIX="$withval"
244aae38d10SBaptiste Daroussin		;;
245aae38d10SBaptiste Daroussin	esac])
246aae38d10SBaptiste Daroussin	test -z "$PC_MODULE_SUFFIX" && PC_MODULE_SUFFIX=none
247aae38d10SBaptiste Daroussin	AC_MSG_RESULT($PC_MODULE_SUFFIX)
248aae38d10SBaptiste Daroussin	test "$PC_MODULE_SUFFIX" = none && PC_MODULE_SUFFIX=
249aae38d10SBaptiste Daroussin	AC_SUBST(PC_MODULE_SUFFIX)
250aae38d10SBaptiste Daroussinfi
25106bfebdeSXin LI
2525ca44d1cSRong-En FanAC_MSG_CHECKING(if we should assume mixed-case filenames)
2535ca44d1cSRong-En FanAC_ARG_ENABLE(mixed-case,
2545ca44d1cSRong-En Fan	[  --enable-mixed-case     tic should assume mixed-case filenames],
2555ca44d1cSRong-En Fan	[enable_mixedcase=$enableval],
2565ca44d1cSRong-En Fan	[enable_mixedcase=auto])
2575ca44d1cSRong-En FanAC_MSG_RESULT($enable_mixedcase)
2585ca44d1cSRong-En Fanif test "$enable_mixedcase" = "auto" ; then
2595ca44d1cSRong-En Fan	CF_MIXEDCASE_FILENAMES
2605ca44d1cSRong-En Fanelse
2615ca44d1cSRong-En Fan	cf_cv_mixedcase=$enable_mixedcase
26273f0a83dSXin LI	if test "x$enable_mixedcase" = "xyes" ; then
26373f0a83dSXin LI		AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if tic should assume mixed-case filenames])
2645ca44d1cSRong-En Fan	fi
2655ca44d1cSRong-En Fanfi
2665ca44d1cSRong-En Fan
2675ca44d1cSRong-En Fan# do this after mixed-case option (tags/TAGS is not as important as tic).
2684a1a9510SRong-En FanAC_PROG_MAKE_SET
269*21817992SBaptiste DaroussinCF_MAKE_PHONY
2704a1a9510SRong-En FanCF_MAKE_TAGS
2714a1a9510SRong-En FanCF_MAKEFLAGS
2724a1a9510SRong-En Fan
2730e3d5408SPeter Wemmdnl These are standard among *NIX systems, but not when cross-compiling
2744a1a9510SRong-En FanAC_CHECK_TOOL(RANLIB, ranlib, ':')
2754a1a9510SRong-En FanAC_CHECK_TOOL(LD, ld, ld)
2764a1a9510SRong-En FanAC_CHECK_TOOL(AR, ar, ar)
27773f0a83dSXin LIAC_CHECK_TOOL(NM, nm, nm)
27806bfebdeSXin LICF_AR_FLAGS
2790e3d5408SPeter Wemm
2800e3d5408SPeter Wemmdnl Special option for use by system-builders: the install-prefix is used to
2810e3d5408SPeter Wemmdnl adjust the location into which the actual install is done, so that an
2820e3d5408SPeter Wemmdnl archive can be built without modifying the host system's configuration.
283*21817992SBaptiste DaroussinAC_MSG_CHECKING(for an installation directory prefix)
2840e3d5408SPeter WemmAC_ARG_WITH(install-prefix,
285*21817992SBaptiste Daroussin	[  --with-install-prefix=DESTDIR use DESTDIR as installation directory prefix],
286aae38d10SBaptiste Daroussin	[case "x$withval" in
287aae38d10SBaptiste Daroussin	(xyes|xno)
2880e3d5408SPeter Wemm		;;
289aae38d10SBaptiste Daroussin	(*)	DESTDIR="$withval"
2900e3d5408SPeter Wemm		;;
2910e3d5408SPeter Wemm	esac])
292*21817992SBaptiste DaroussinAC_MSG_RESULT([${DESTDIR:-(none)}])
29318259542SPeter WemmAC_SUBST(DESTDIR)
2940e3d5408SPeter Wemm
2950e3d5408SPeter Wemm###############################################################################
2964a1a9510SRong-En FanCF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:)
2974a1a9510SRong-En Fan# If we're cross-compiling, allow the user to override the tools and their
2984a1a9510SRong-En Fan# options.  The configure script is oriented toward identifying the host
2994a1a9510SRong-En Fan# compiler, etc., but we need a build compiler to generate parts of the source.
3007a656419SBaptiste Daroussin
3017a656419SBaptiste Daroussincase "$cf_cv_system_name" in
3027a656419SBaptiste Daroussin(*-msvc*)
3037a656419SBaptiste Daroussin	LDFLAGS="$LDFLAGS user32.lib"
3047a656419SBaptiste Daroussin	export LDFLAGS
3057a656419SBaptiste Daroussin	;;
3067a656419SBaptiste Daroussinesac
3077a656419SBaptiste Daroussin
3084a1a9510SRong-En FanCF_BUILD_CC
3094a1a9510SRong-En Fan
3104a1a9510SRong-En Fan###############################################################################
3110e3d5408SPeter WemmCF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
3120e3d5408SPeter Wemm
3130e3d5408SPeter Wemm### Options to allow the user to specify the set of libraries which are used.
3140e3d5408SPeter Wemm### Use "--without-normal --with-shared" to allow the default model to be
3150e3d5408SPeter Wemm### shared, for example.
3160e3d5408SPeter Wemmcf_list_models=""
31715589c42SPeter WemmAC_SUBST(cf_list_models)dnl	the complete list of models ("normal debug")
3180e3d5408SPeter Wemm
3194a1a9510SRong-En FanCF_WITH_LIBTOOL
3204a1a9510SRong-En Fanif test "$with_libtool" != "no" ; then
3214a1a9510SRong-En Fan
3227a69bbfbSPeter Wemmcf_list_models="$cf_list_models libtool"
3234a1a9510SRong-En Fan
3247a69bbfbSPeter Wemmelse
3257a69bbfbSPeter Wemm
3260e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build shared libraries)
3270e3d5408SPeter WemmAC_ARG_WITH(shared,
3280e3d5408SPeter Wemm	[  --with-shared           generate shared-libraries],
3290e3d5408SPeter Wemm	[with_shared=$withval],
3300e3d5408SPeter Wemm	[with_shared=no])
3310e3d5408SPeter WemmAC_MSG_RESULT($with_shared)
33273f0a83dSXin LItest "x$with_shared" = "xyes" && cf_list_models="$cf_list_models shared"
3330e3d5408SPeter Wemm
3340e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build static libraries)
3350e3d5408SPeter WemmAC_ARG_WITH(normal,
3360e3d5408SPeter Wemm	[  --with-normal           generate normal-libraries (default)],
3370e3d5408SPeter Wemm	[with_normal=$withval],
3380e3d5408SPeter Wemm	[with_normal=yes])
3390e3d5408SPeter WemmAC_MSG_RESULT($with_normal)
34073f0a83dSXin LItest "x$with_normal" = "xyes" && cf_list_models="$cf_list_models normal"
3410e3d5408SPeter Wemm
3420e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build debug libraries)
3430e3d5408SPeter WemmAC_ARG_WITH(debug,
3440e3d5408SPeter Wemm	[  --with-debug            generate debug-libraries (default)],
3450e3d5408SPeter Wemm	[with_debug=$withval],
3460e3d5408SPeter Wemm	[with_debug=yes])
3470e3d5408SPeter WemmAC_MSG_RESULT($with_debug)
34873f0a83dSXin LItest "x$with_debug" = "xyes" && cf_list_models="$cf_list_models debug"
3490e3d5408SPeter Wemm
3500e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build profiling libraries)
3510e3d5408SPeter WemmAC_ARG_WITH(profile,
3520e3d5408SPeter Wemm	[  --with-profile          generate profile-libraries],
3530e3d5408SPeter Wemm	[with_profile=$withval],
3540e3d5408SPeter Wemm	[with_profile=no])
3550e3d5408SPeter WemmAC_MSG_RESULT($with_profile)
35673f0a83dSXin LItest "x$with_profile" = "xyes" && cf_list_models="$cf_list_models profile"
3570e3d5408SPeter Wemm
3584a1a9510SRong-En Fanfi
3594a1a9510SRong-En Fan
36073f0a83dSXin LIif test "X$cf_with_cxx_binding" != Xno; then
36173f0a83dSXin LIif test "x$with_shared" = "xyes"; then
36273f0a83dSXin LIAC_MSG_CHECKING(if you want to build C++ shared libraries)
36373f0a83dSXin LIAC_ARG_WITH(cxx-shared,
36473f0a83dSXin LI	[  --with-cxx-shared       generate C++ shared-libraries],
36573f0a83dSXin LI	[with_shared_cxx=$withval],
36673f0a83dSXin LI	[with_shared_cxx=no])
36773f0a83dSXin LIAC_MSG_RESULT($with_shared_cxx)
36873f0a83dSXin LIfi
36973f0a83dSXin LIfi
37073f0a83dSXin LI
37115589c42SPeter Wemm###############################################################################
37215589c42SPeter Wemm
37315589c42SPeter WemmAC_MSG_CHECKING(for specified models)
37415589c42SPeter Wemmtest -z "$cf_list_models" && cf_list_models=normal
3757a69bbfbSPeter Wemmdnl If we use libtool to generate libraries, then it must be the only
3767a69bbfbSPeter Wemmdnl specified model.
3774a1a9510SRong-En Fantest "$with_libtool" != "no" && cf_list_models=libtool
37815589c42SPeter WemmAC_MSG_RESULT($cf_list_models)
37915589c42SPeter Wemm
38015589c42SPeter Wemm### Use the first model as the default, and save its suffix for use in building
38115589c42SPeter Wemm### up test-applications.
38215589c42SPeter WemmAC_MSG_CHECKING(for default model)
3834a1a9510SRong-En FanDFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
38415589c42SPeter WemmAC_MSG_RESULT($DFT_LWR_MODEL)
38515589c42SPeter Wemm
38615589c42SPeter WemmCF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
38715589c42SPeter Wemm
38815589c42SPeter WemmAC_SUBST(DFT_LWR_MODEL)dnl	the default model ("normal")
38915589c42SPeter WemmAC_SUBST(DFT_UPR_MODEL)dnl	the default model ("NORMAL")
39015589c42SPeter Wemm
3915ca44d1cSRong-En FanTICS_NAME=tic
3925ca44d1cSRong-En FanAC_SUBST(TICS_NAME)
3935ca44d1cSRong-En Fan
39415589c42SPeter WemmTINFO_NAME=tinfo
39515589c42SPeter WemmAC_SUBST(TINFO_NAME)
39615589c42SPeter Wemm
39715589c42SPeter WemmLIB_NAME=ncurses
39815589c42SPeter WemmAC_SUBST(LIB_NAME)
39915589c42SPeter Wemm
40015589c42SPeter WemmLIB_DIR=../lib
4014a1a9510SRong-En FanLIB_2ND=../../lib
4024a1a9510SRong-En Fan
40373f0a83dSXin LICF_WITH_LIB_PREFIX(cf_prefix)
40415589c42SPeter Wemm
40515589c42SPeter WemmLIB_SUFFIX=
40615589c42SPeter WemmAC_SUBST(LIB_SUFFIX)
40773f0a83dSXin LICF_PATHSEP
40815589c42SPeter Wemm
409*21817992SBaptiste Daroussin# headers needed for checks...
410*21817992SBaptiste DaroussinAC_CHECK_DECL(exit)
411*21817992SBaptiste DaroussinAC_HEADER_DIRENT
412*21817992SBaptiste Daroussin
41315589c42SPeter Wemm###############################################################################
41415589c42SPeter Wemm
4150e3d5408SPeter WemmAC_MSG_CHECKING(if you want to build a separate terminfo library)
4160e3d5408SPeter WemmAC_ARG_WITH(termlib,
4170e3d5408SPeter Wemm	[  --with-termlib          generate separate terminfo library],
4180e3d5408SPeter Wemm	[with_termlib=$withval],
4190e3d5408SPeter Wemm	[with_termlib=no])
4200e3d5408SPeter WemmAC_MSG_RESULT($with_termlib)
4210e3d5408SPeter Wemm
4225ca44d1cSRong-En FanAC_MSG_CHECKING(if you want to build a separate tic library)
4235ca44d1cSRong-En FanAC_ARG_WITH(ticlib,
4245ca44d1cSRong-En Fan	[  --with-ticlib           generate separate tic library],
4255ca44d1cSRong-En Fan	[with_ticlib=$withval],
4265ca44d1cSRong-En Fan	[with_ticlib=no])
4275ca44d1cSRong-En FanAC_MSG_RESULT($with_ticlib)
4285ca44d1cSRong-En Fan
429aae38d10SBaptiste Daroussindnl Not all ports of gcc support the -g option
430aae38d10SBaptiste Daroussin
431aae38d10SBaptiste Daroussinif test X"$CC_G_OPT" = X"" ; then
432aae38d10SBaptiste Daroussin	CC_G_OPT='-g'
433aae38d10SBaptiste Daroussin	test -n "$GCC" && test "x${ac_cv_prog_cc_g}" != xyes && CC_G_OPT=''
434aae38d10SBaptiste Daroussinfi
435aae38d10SBaptiste DaroussinAC_SUBST(CC_G_OPT)
436aae38d10SBaptiste Daroussin
437aae38d10SBaptiste Daroussinif test X"$CXX_G_OPT" = X"" ; then
438aae38d10SBaptiste Daroussin	CXX_G_OPT='-g'
439aae38d10SBaptiste Daroussin	test -n "$GXX" && test "x${ac_cv_prog_cxx_g}" != xyes && CXX_G_OPT=''
440aae38d10SBaptiste Daroussinfi
441aae38d10SBaptiste DaroussinAC_SUBST(CXX_G_OPT)
442aae38d10SBaptiste Daroussin
443aae38d10SBaptiste DaroussinAC_MSG_CHECKING(for default loader flags)
4447a656419SBaptiste Daroussincase "$DFT_LWR_MODEL" in
445aae38d10SBaptiste Daroussin(libtool) LD_MODEL=''   ;;
446aae38d10SBaptiste Daroussin(normal)  LD_MODEL=''   ;;
447aae38d10SBaptiste Daroussin(debug)   LD_MODEL=$CC_G_OPT ;;
448aae38d10SBaptiste Daroussin(profile) LD_MODEL='-pg';;
449aae38d10SBaptiste Daroussin(shared)  LD_MODEL=''   ;;
450aae38d10SBaptiste Daroussinesac
451aae38d10SBaptiste DaroussinAC_SUBST(LD_MODEL)dnl		the type of link (e.g., -g or -pg)
452*21817992SBaptiste DaroussinAC_MSG_RESULT([${LD_MODEL:-(none)}])
453aae38d10SBaptiste Daroussin
4547a656419SBaptiste Daroussincase "$DFT_LWR_MODEL" in
455aae38d10SBaptiste Daroussin(shared)
456aae38d10SBaptiste DaroussinCF_ENABLE_RPATH
457aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if shared libraries should be relinked during install)
458aae38d10SBaptiste DaroussinAC_ARG_ENABLE(relink,
459aae38d10SBaptiste Daroussin[  --disable-relink        relink shared libraries during install],
460aae38d10SBaptiste Daroussin[cf_cv_do_relink=$enableval],
461aae38d10SBaptiste Daroussin[cf_cv_do_relink=yes])
462aae38d10SBaptiste DaroussinAC_MSG_RESULT($cf_cv_do_relink)
463aae38d10SBaptiste Daroussin	;;
464aae38d10SBaptiste Daroussinesac
465aae38d10SBaptiste Daroussin
466aae38d10SBaptiste Daroussin# we will build libraries one-level down.
467aae38d10SBaptiste Daroussinrel_builddir=..
468aae38d10SBaptiste DaroussinCF_SHARED_OPTS
469aae38d10SBaptiste Daroussinfor model in $cf_list_models ; do
4707a656419SBaptiste Daroussin	case "$model" in
471aae38d10SBaptiste Daroussin	(libtool)
472aae38d10SBaptiste Daroussin		CF_WITH_LIBTOOL_OPTS
473aae38d10SBaptiste Daroussin		CF_WITH_EXPORT_SYMS
474aae38d10SBaptiste Daroussin		;;
475aae38d10SBaptiste Daroussin	(shared)
476aae38d10SBaptiste Daroussin		if test "$CC_SHARED_OPTS" = "unknown"; then
477aae38d10SBaptiste Daroussin			AC_ERROR(Shared libraries are not supported in this version)
478aae38d10SBaptiste Daroussin		fi
479aae38d10SBaptiste Daroussin		# workaround for inept transition to PIE vs PIC...
480aae38d10SBaptiste Daroussin		AC_MSG_CHECKING(if current CFLAGS link properly)
481aae38d10SBaptiste Daroussin		AC_TRY_LINK(
482aae38d10SBaptiste Daroussin			[#include <stdio.h>],
4837a656419SBaptiste Daroussin			[printf("Hello work\\n");],
484aae38d10SBaptiste Daroussin			[cf_cflags_work=yes],
485aae38d10SBaptiste Daroussin			[cf_cflags_work=no])
486aae38d10SBaptiste Daroussin		AC_MSG_RESULT($cf_cflags_work)
487aae38d10SBaptiste Daroussin		if test "$cf_cflags_work" = no
488aae38d10SBaptiste Daroussin		then
489aae38d10SBaptiste Daroussin			CF_VERBOSE(try to work around by appending shared-options)
490aae38d10SBaptiste Daroussin			CFLAGS="$CFLAGS $CC_SHARED_OPTS"
491aae38d10SBaptiste Daroussin		fi
492aae38d10SBaptiste Daroussin		CF_WITH_VERSIONED_SYMS
493aae38d10SBaptiste Daroussin		;;
494aae38d10SBaptiste Daroussin	esac
495aae38d10SBaptiste Daroussindone
496aae38d10SBaptiste Daroussin
4970e3d5408SPeter Wemm### Checks for special libraries, must be done up-front.
4980e3d5408SPeter WemmSHLIB_LIST=""
4994a1a9510SRong-En FanCF_WITH_GPM
5004a1a9510SRong-En Fanif test "$with_gpm" != no ; then
5014a1a9510SRong-En Fan	AC_MSG_CHECKING(if you want to load GPM dynamically)
5024a1a9510SRong-En Fan	AC_ARG_WITH(dlsym,
5034a1a9510SRong-En Fan		[  --without-dlsym         do not use dlsym() to load GPM dynamically],
5044a1a9510SRong-En Fan		[with_dlsym=$withval],
5054a1a9510SRong-En Fan		[with_dlsym=yes])
5064a1a9510SRong-En Fan	AC_MSG_RESULT($with_dlsym)
50773f0a83dSXin LI	if test "x$with_dlsym" = xyes ; then
5084a1a9510SRong-En Fan		CF_FUNC_DLSYM
50973f0a83dSXin LI		if test "x$with_gpm" != xyes ; then
5104a1a9510SRong-En Fan			CF_VERBOSE(assuming soname for gpm is $with_gpm)
5114a1a9510SRong-En Fan			cf_cv_gpm_soname="$with_gpm"
5124a1a9510SRong-En Fan		else
5134a1a9510SRong-En Fan			CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
5140e3d5408SPeter Wemm		fi
51573f0a83dSXin LI		test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname",[Define as needed to set the gpm share library soname])
5164a1a9510SRong-En Fan		SHLIB_LIST="-ldl $SHLIB_LIST"
517aae38d10SBaptiste Daroussin		CF_ADD_LIB(dl,PRIVATE_LIBS)
5184a1a9510SRong-En Fan	else
5194a1a9510SRong-En Fan		SHLIB_LIST="-lgpm $SHLIB_LIST"
52006bfebdeSXin LI		CF_ADD_LIB(gpm,TEST_LIBS)
521aae38d10SBaptiste Daroussin		CF_ADD_LIB(gpm,PRIVATE_LIBS)
5224a1a9510SRong-En Fan	fi
52373f0a83dSXin LI	AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
5245ca44d1cSRong-En Fan	CF_CHECK_GPM_WGETCH
5254a1a9510SRong-En Fanfi
5264a1a9510SRong-En Fan
527aae38d10SBaptiste DaroussinCF_WITH_PCRE2
5284a1a9510SRong-En FanCF_WITH_SYSMOUSE
5290e3d5408SPeter Wemm
530aae38d10SBaptiste Daroussin# pretend that ncurses==ncursesw==ncursest
531aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want to disable library suffixes)
532aae38d10SBaptiste DaroussinCF_ARG_DISABLE(lib-suffixes,
533aae38d10SBaptiste Daroussin	[  --disable-lib-suffixes  disable library suffixes],
534aae38d10SBaptiste Daroussin	[disable_lib_suffixes=yes],
535aae38d10SBaptiste Daroussin	[disable_lib_suffixes=no],
536aae38d10SBaptiste Daroussin	no)
537aae38d10SBaptiste DaroussinAC_MSG_RESULT($disable_lib_suffixes)
5380e3d5408SPeter Wemm
53906bfebdeSXin LI### If we're building with rpath, try to link non-standard libs that way too.
540aae38d10SBaptiste Daroussinif test "$DFT_LWR_MODEL" = "shared" && test "x$cf_cv_enable_rpath" != xno; then
54106bfebdeSXin LI	CF_DISABLE_RPATH_HACK
54206bfebdeSXin LIfi
54306bfebdeSXin LI
5447a656419SBaptiste Daroussin### Depending on the system, someone may use rpath to build ncurses but not
5457a656419SBaptiste Daroussin# want users of the package to rely upon that feature.  Give those people an
5467a656419SBaptiste Daroussin# option to suppress that detail from EXTRA_LDFLAGS.
547*21817992SBaptiste DaroussinEXTRA_PKG_LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
5487a656419SBaptiste Daroussinif test -n "$EXTRA_PKG_LDFLAGS"
5497a656419SBaptiste Daroussinthen
5507a656419SBaptiste Daroussin	AC_MSG_CHECKING(if you want to disable extra LDFLAGS for package-scripts)
5517a656419SBaptiste Daroussin	CF_ARG_DISABLE(pkg-ldflags,
5527a656419SBaptiste Daroussin		[  --disable-pkg-ldflags   disable extra LDFLAGS for package-scripts],
5537a656419SBaptiste Daroussin		[disable_pkg_ldflags=yes],
5547a656419SBaptiste Daroussin		[disable_pkg_ldflags=no],
5557a656419SBaptiste Daroussin		no)
5567a656419SBaptiste Daroussin	AC_MSG_RESULT($disable_pkg_ldflags)
5577a656419SBaptiste Daroussin	test "$disable_pkg_ldflags" = yes && EXTRA_PKG_LDFLAGS=
5587a656419SBaptiste Daroussinfi
5597a656419SBaptiste DaroussinAC_SUBST(EXTRA_PKG_LDFLAGS)
5607a656419SBaptiste Daroussin
5610e3d5408SPeter Wemm###############################################################################
5620e3d5408SPeter WemmCF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
5630e3d5408SPeter Wemm
564aae38d10SBaptiste Daroussin###	use option --with-extra-suffix to append suffix to headers and libraries
565*21817992SBaptiste DaroussinAC_MSG_CHECKING(for extra suffix to append to header/library paths)
566aae38d10SBaptiste DaroussinEXTRA_SUFFIX=
567aae38d10SBaptiste DaroussinAC_ARG_WITH(extra-suffix,
568*21817992SBaptiste Daroussin	[[  --with-extra-suffix[=X] append extra suffix X to header/library paths]],
569aae38d10SBaptiste Daroussin	[case x$withval in
5707a656419SBaptiste Daroussin	(xno)
571aae38d10SBaptiste Daroussin		;;
572aae38d10SBaptiste Daroussin	(xyes|x)
573aae38d10SBaptiste Daroussin		EXTRA_SUFFIX=$cf_cv_abi_version
574aae38d10SBaptiste Daroussin		;;
575aae38d10SBaptiste Daroussin	(*)
576aae38d10SBaptiste Daroussin		EXTRA_SUFFIX=$withval
577aae38d10SBaptiste Daroussin		;;
578aae38d10SBaptiste Daroussin	esac
579aae38d10SBaptiste Daroussin	])
580*21817992SBaptiste DaroussinAC_MSG_RESULT([${EXTRA_SUFFIX:-(none)}])
581aae38d10SBaptiste DaroussinAC_SUBST(EXTRA_SUFFIX)
582aae38d10SBaptiste Daroussin
5830e3d5408SPeter Wemm###	use option --disable-overwrite to leave out the link to -lcurses
5840e3d5408SPeter WemmAC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
5850e3d5408SPeter WemmAC_ARG_ENABLE(overwrite,
586aae38d10SBaptiste Daroussin	[  --disable-overwrite     put headers in subdir, omit link to -lcurses],
58715589c42SPeter Wemm	[with_overwrite=$enableval],
5884a1a9510SRong-En Fan	[if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi])
5890e3d5408SPeter WemmAC_MSG_RESULT($with_overwrite)
5900e3d5408SPeter Wemm
5910e3d5408SPeter WemmAC_MSG_CHECKING(if external terminfo-database is used)
5920e3d5408SPeter WemmAC_ARG_ENABLE(database,
59339f2269fSPeter Wemm	[  --disable-database      do not use terminfo, only fallbacks/termcap],
59418259542SPeter Wemm	[use_database=$enableval],
59518259542SPeter Wemm	[use_database=yes])
59618259542SPeter WemmAC_MSG_RESULT($use_database)
59718259542SPeter Wemm
5987a656419SBaptiste Daroussincase "$host_os" in
599aae38d10SBaptiste Daroussin(os2*)
60018259542SPeter Wemm	TERMINFO_SRC='${top_srcdir}/misc/emx.src'
60118259542SPeter Wemm	;;
602aae38d10SBaptiste Daroussin(*)
60318259542SPeter Wemm	TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
60418259542SPeter Wemm	;;
60518259542SPeter Wemmesac
60618259542SPeter WemmAC_SUBST(TERMINFO_SRC)
60718259542SPeter Wemm
60873f0a83dSXin LINCURSES_USE_DATABASE=0
60918259542SPeter Wemmif test "$use_database" != no ; then
61073f0a83dSXin LI	NCURSES_USE_DATABASE=1
6114a1a9510SRong-En Fan
61218259542SPeter Wemm	AC_MSG_CHECKING(which terminfo source-file will be installed)
61306bfebdeSXin LI	AC_ARG_WITH(database,
61418259542SPeter Wemm		[  --with-database=XXX     specify terminfo source to install],
61518259542SPeter Wemm		[TERMINFO_SRC=$withval])
61618259542SPeter Wemm	AC_MSG_RESULT($TERMINFO_SRC)
6174a1a9510SRong-En Fan
6184a1a9510SRong-En Fan	AC_MSG_CHECKING(whether to use hashed database instead of directory/tree)
6194a1a9510SRong-En Fan	AC_ARG_WITH(hashed-db,
6204a1a9510SRong-En Fan		[  --with-hashed-db        specify hashed-database library],,
6214a1a9510SRong-En Fan		[with_hashed_db=no])
6224a1a9510SRong-En Fan	AC_MSG_RESULT($with_hashed_db)
6235d08fb1fSRong-En Fanelse
6245d08fb1fSRong-En Fan	with_hashed_db=no
62518259542SPeter Wemmfi
62673f0a83dSXin LIAC_SUBST(NCURSES_USE_DATABASE)
6270e3d5408SPeter Wemm
628*21817992SBaptiste DaroussinAC_MSG_CHECKING(for list of fallback terminal descriptions)
6290e3d5408SPeter WemmAC_ARG_WITH(fallbacks,
6300e3d5408SPeter Wemm	[  --with-fallbacks=XXX    specify list of fallback terminal descriptions],
6310e3d5408SPeter Wemm	[with_fallback=$withval],
6320e3d5408SPeter Wemm	[with_fallback=])
633*21817992SBaptiste DaroussinAC_MSG_RESULT([${with_fallback:-(none)}])
634aae38d10SBaptiste Daroussin
635aae38d10SBaptiste Daroussincase ".$with_fallback" in
636aae38d10SBaptiste Daroussin(.|.no)
637aae38d10SBaptiste Daroussin	FALLBACK_LIST=
638aae38d10SBaptiste Daroussin	;;
639aae38d10SBaptiste Daroussin(.yes)
640aae38d10SBaptiste Daroussin	AC_MSG_WARN(expected a list of terminal descriptions)
641aae38d10SBaptiste Daroussin	;;
642aae38d10SBaptiste Daroussin(*)
6434a1a9510SRong-En Fan	FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
644aae38d10SBaptiste Daroussin	;;
645aae38d10SBaptiste Daroussinesac
646aae38d10SBaptiste Daroussin
647aae38d10SBaptiste Daroussin# The fallback feature in ncurses relies upon tic/infocmp outside the build
648aae38d10SBaptiste Daroussin# tree for generating the terminal descriptions that will be compiled into the
649aae38d10SBaptiste Daroussin# library.  If your toolchain is old, it may not handle current terminal
650aae38d10SBaptiste Daroussin# databases.  Use configure-options to point to the tools which will be used,
651aae38d10SBaptiste Daroussin# rather than the first ones found on the $PATH.
6527a656419SBaptiste DaroussinAC_CHECK_TOOL(TIC, tic)
6537a656419SBaptiste DaroussinAC_CHECK_TOOL(INFOCMP, infocmp)
654aae38d10SBaptiste Daroussinif test -n "$FALLBACK_LIST"
655aae38d10SBaptiste Daroussinthen
656aae38d10SBaptiste Daroussin	CF_WITH_PATH_PROG(TIC,     tic,     [for fallbacks], $PATH:/usr/local/ncurses/bin)
657aae38d10SBaptiste Daroussin	CF_WITH_PATH_PROG(INFOCMP, infocmp, [for fallbacks], $PATH:/usr/local/ncurses/bin)
6587a656419SBaptiste Daroussin	test -z "$TIC" && FALLBACK_LIST=
6597a656419SBaptiste Daroussin	test -z "$INFOCMP" && FALLBACK_LIST=
6607a656419SBaptiste Daroussin	if test -z "$FALLBACK_LIST"
6617a656419SBaptiste Daroussin	then
6627a656419SBaptiste Daroussin		AC_MSG_WARN(ignoring fallback option because tic/infocmp are not available)
6637a656419SBaptiste Daroussin	fi
664aae38d10SBaptiste Daroussinfi
665aae38d10SBaptiste DaroussinAC_SUBST(TIC)
666aae38d10SBaptiste DaroussinAC_SUBST(INFOCMP)
6670e3d5408SPeter Wemm
6687a656419SBaptiste DaroussinUSE_FALLBACKS=
6697a656419SBaptiste Daroussintest -z "$FALLBACK_LIST" && USE_FALLBACKS="#"
6707a656419SBaptiste DaroussinAC_SUBST(FALLBACK_LIST)
6717a656419SBaptiste DaroussinAC_SUBST(USE_FALLBACKS)
6727a656419SBaptiste Daroussin
6734a1a9510SRong-En FanAC_MSG_CHECKING(if you want modern xterm or antique)
6744a1a9510SRong-En FanAC_ARG_WITH(xterm-new,
6754a1a9510SRong-En Fan	[  --without-xterm-new     specify if xterm terminfo should be old version],
6764a1a9510SRong-En Fan	[with_xterm_new=$withval],
6774a1a9510SRong-En Fan	[with_xterm_new=yes])
6787a656419SBaptiste Daroussincase "$with_xterm_new" in
679aae38d10SBaptiste Daroussin(no) with_xterm_new=xterm-old;;
680aae38d10SBaptiste Daroussin(*)	 with_xterm_new=xterm-new;;
6814a1a9510SRong-En Fanesac
6824a1a9510SRong-En FanAC_MSG_RESULT($with_xterm_new)
6834a1a9510SRong-En FanWHICH_XTERM=$with_xterm_new
6844a1a9510SRong-En FanAC_SUBST(WHICH_XTERM)
6854a1a9510SRong-En Fan
686*21817992SBaptiste Daroussincase $host_os in
687*21817992SBaptiste Daroussin(*linux-gnu|*cygwin|*mingw32|*msys)
688*21817992SBaptiste Daroussin	want_xterm_kbs=DEL
689*21817992SBaptiste Daroussin	;;
690*21817992SBaptiste Daroussin(*)
691*21817992SBaptiste Daroussin	want_xterm_kbs=BS
692*21817992SBaptiste Daroussin	;;
693*21817992SBaptiste Daroussinesac
694*21817992SBaptiste Daroussin
69573f0a83dSXin LIAC_MSG_CHECKING(if xterm backspace sends BS or DEL)
69673f0a83dSXin LIAC_ARG_WITH(xterm-kbs,
697*21817992SBaptiste Daroussin	[[  --with-xterm-kbs[=XXX]  specify if xterm backspace sends BS or DEL]],
69873f0a83dSXin LI	[with_xterm_kbs=$withval],
699*21817992SBaptiste Daroussin	[with_xterm_kbs=auto])
70073f0a83dSXin LIcase x$with_xterm_kbs in
701aae38d10SBaptiste Daroussin(xyes|xno|xBS|xbs|x8)
70273f0a83dSXin LI	with_xterm_kbs=BS
70373f0a83dSXin LI	;;
704aae38d10SBaptiste Daroussin(xDEL|xdel|x127)
70573f0a83dSXin LI	with_xterm_kbs=DEL
70673f0a83dSXin LI	;;
707*21817992SBaptiste Daroussin(xauto)
708*21817992SBaptiste Daroussin	with_xterm_kbs=$want_xterm_kbs
709*21817992SBaptiste Daroussin	;;
710aae38d10SBaptiste Daroussin(*)
71173f0a83dSXin LI	with_xterm_kbs=$withval
71273f0a83dSXin LI	;;
71373f0a83dSXin LIesac
71473f0a83dSXin LIAC_MSG_RESULT($with_xterm_kbs)
71573f0a83dSXin LIXTERM_KBS=$with_xterm_kbs
71673f0a83dSXin LIAC_SUBST(XTERM_KBS)
71773f0a83dSXin LI
718*21817992SBaptiste Daroussinif test "x$with_xterm_kbs" != "x$want_xterm_kbs"
719*21817992SBaptiste Daroussinthen
720*21817992SBaptiste Daroussin	AC_MSG_WARN([expected --with-xterm-kbs=$want_xterm_kbs for $host_os, have $with_xterm_kbs])
721*21817992SBaptiste Daroussinfi
722*21817992SBaptiste Daroussin
72339f2269fSPeter WemmMAKE_TERMINFO=
72418259542SPeter Wemmif test "$use_database" = no ; then
72518259542SPeter Wemm	TERMINFO="${datadir}/terminfo"
72639f2269fSPeter Wemm	MAKE_TERMINFO="#"
72718259542SPeter Wemmelse
72818259542SPeter Wemm
7290e3d5408SPeter WemmAC_MSG_CHECKING(for list of terminfo directories)
7300e3d5408SPeter WemmCF_WITH_PATHLIST(terminfo-dirs,
7310e3d5408SPeter Wemm	[  --with-terminfo-dirs=XXX specify list of terminfo directories],
7320e3d5408SPeter Wemm	TERMINFO_DIRS,
7330e3d5408SPeter Wemm	DATADIR/terminfo,
7340e3d5408SPeter Wemm	${datadir}/terminfo)
7350e3d5408SPeter WemmAC_MSG_RESULT($TERMINFO_DIRS)
73673f0a83dSXin LItest -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS",[Define as needed to predefine the TERMINFO_DIR searchlist])
7370e3d5408SPeter Wemm
738aae38d10SBaptiste Daroussincase "x$TERMINFO" in
739aae38d10SBaptiste Daroussinx???:*)
740aae38d10SBaptiste Daroussin	AC_MSG_WARN(ignoring non-directory/file TERMINFO value)
741aae38d10SBaptiste Daroussin	unset TERMINFO
742aae38d10SBaptiste Daroussin	;;
743aae38d10SBaptiste Daroussinesac
744aae38d10SBaptiste Daroussin
74518259542SPeter WemmAC_MSG_CHECKING(for default terminfo directory)
74618259542SPeter WemmCF_WITH_PATH(default-terminfo-dir,
74718259542SPeter Wemm	[  --with-default-terminfo-dir=DIR default terminfo directory],
74818259542SPeter Wemm	TERMINFO,
74918259542SPeter Wemm	DATADIR/terminfo,
75018259542SPeter Wemm	${datadir}/terminfo)
75118259542SPeter WemmAC_MSG_RESULT($TERMINFO)
75273f0a83dSXin LIAC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO",[Define to set the default terminal database path])
75318259542SPeter Wemm
7540e3d5408SPeter Wemmfi
75518259542SPeter Wemm
75618259542SPeter WemmAC_SUBST(TERMINFO)
75739f2269fSPeter WemmAC_SUBST(MAKE_TERMINFO)
7580e3d5408SPeter Wemm
7590e3d5408SPeter Wemm###	use option --disable-big-core to make tic run on small machines
7600e3d5408SPeter Wemm###	We need 4Mb, check if we can allocate 50% more than that.
7610e3d5408SPeter WemmAC_MSG_CHECKING(if big-core option selected)
7620e3d5408SPeter WemmAC_ARG_ENABLE(big-core,
7630e3d5408SPeter Wemm	[  --disable-big-core      assume machine has little memory],
7640e3d5408SPeter Wemm	[with_big_core=$enableval],
7650e3d5408SPeter Wemm	[AC_TRY_RUN([
7660e3d5408SPeter Wemm#include <stdlib.h>
7670e3d5408SPeter Wemm#include <string.h>
768*21817992SBaptiste Daroussinint main(void) {
76918259542SPeter Wemm	unsigned long n = 6000000L;
77018259542SPeter Wemm	char *s = malloc(n);
77118259542SPeter Wemm	if (s != 0)
77218259542SPeter Wemm		s[0] = s[n-1] = 0;
7734a1a9510SRong-En Fan	${cf_cv_main_return:-return}(s == 0);
77418259542SPeter Wemm}],
7750e3d5408SPeter Wemm	[with_big_core=yes],
7760e3d5408SPeter Wemm	[with_big_core=no],
7770e3d5408SPeter Wemm	[with_big_core=no])])
7780e3d5408SPeter WemmAC_MSG_RESULT($with_big_core)
77973f0a83dSXin LItest "x$with_big_core" = "xyes" && AC_DEFINE(HAVE_BIG_CORE,1,[Define to 1 if machine has ample memory for tic])
7800e3d5408SPeter Wemm
7815ca44d1cSRong-En Fan### ISO C only guarantees 512-char strings, we have tables which load faster
7825d08fb1fSRong-En Fan### when constructed using "big" strings.  More than the C compiler, the awk
7835d08fb1fSRong-En Fan### program is a limit on most vendor UNIX systems.  Check that we can build.
7845ca44d1cSRong-En FanAC_MSG_CHECKING(if big-strings option selected)
7855ca44d1cSRong-En FanAC_ARG_ENABLE(big-strings,
7865ca44d1cSRong-En Fan	[  --disable-big-strings   assume compiler has only standard-size strings],
7875d08fb1fSRong-En Fan	[with_big_strings=$enableval],
7885d08fb1fSRong-En Fan	[CF_AWK_BIG_PRINTF(12000,with_big_strings)])
7895ca44d1cSRong-En FanAC_MSG_RESULT($with_big_strings)
7905ca44d1cSRong-En Fan
7915ca44d1cSRong-En FanUSE_BIG_STRINGS=0
79273f0a83dSXin LItest "x$with_big_strings" = "xyes" && USE_BIG_STRINGS=1
7935ca44d1cSRong-En FanAC_SUBST(USE_BIG_STRINGS)
7945ca44d1cSRong-En Fan
7950e3d5408SPeter Wemm###	use option --enable-termcap to compile in the termcap fallback support
7960e3d5408SPeter WemmAC_MSG_CHECKING(if you want termcap-fallback support)
7970e3d5408SPeter WemmAC_ARG_ENABLE(termcap,
7980e3d5408SPeter Wemm	[  --enable-termcap        compile in termcap fallback support],
7990e3d5408SPeter Wemm	[with_termcap=$enableval],
8000e3d5408SPeter Wemm	[with_termcap=no])
8010e3d5408SPeter WemmAC_MSG_RESULT($with_termcap)
8020e3d5408SPeter Wemm
80373f0a83dSXin LINCURSES_USE_TERMCAP=0
80473f0a83dSXin LIif test "x$with_termcap" != "xyes" ; then
80539f2269fSPeter Wemm	if test "$use_database" = no ; then
8064a1a9510SRong-En Fan		if test -z "$with_fallback" ; then
80739f2269fSPeter Wemm			AC_ERROR(You have disabled the database w/o specifying fallbacks)
80839f2269fSPeter Wemm		fi
80939f2269fSPeter Wemm	fi
81073f0a83dSXin LI	AC_DEFINE(PURE_TERMINFO,1,[Define to 1 if we should support only terminfo])
8110e3d5408SPeter Wemmelse
8120e3d5408SPeter Wemm
8135ca44d1cSRong-En Fan	if test "$with_ticlib" != no ; then
8145ca44d1cSRong-En Fan		AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
8155ca44d1cSRong-En Fan	fi
8165ca44d1cSRong-En Fan
81773f0a83dSXin LI	NCURSES_USE_TERMCAP=1
81839f2269fSPeter Wemm	AC_MSG_CHECKING(for list of termcap files)
81939f2269fSPeter Wemm	CF_WITH_PATHLIST(termpath,
82039f2269fSPeter Wemm		[  --with-termpath=XXX     specify list of termcap files],
82139f2269fSPeter Wemm		TERMPATH,
82239f2269fSPeter Wemm		/etc/termcap:/usr/share/misc/termcap)
82339f2269fSPeter Wemm	AC_MSG_RESULT($TERMPATH)
82473f0a83dSXin LI	test -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH",[Define to set the termcap searchlist])
82539f2269fSPeter Wemm
8260e3d5408SPeter Wemm	###	use option --enable-getcap to use a hacked getcap for reading termcaps
8270e3d5408SPeter Wemm	AC_MSG_CHECKING(if fast termcap-loader is needed)
8280e3d5408SPeter Wemm	AC_ARG_ENABLE(getcap,
8290e3d5408SPeter Wemm		[  --enable-getcap         fast termcap load, no xrefs to terminfo],
8300e3d5408SPeter Wemm		[with_getcap=$enableval],
8310e3d5408SPeter Wemm		[with_getcap=no])
8320e3d5408SPeter Wemm	AC_MSG_RESULT($with_getcap)
83373f0a83dSXin LI	test "x$with_getcap" = "xyes" && AC_DEFINE(USE_GETCAP,1,[Define to 1 to use fast termcap-loader])
8340e3d5408SPeter Wemm
8350e3d5408SPeter Wemm	AC_MSG_CHECKING(if translated termcaps will be cached in ~/.terminfo)
8360e3d5408SPeter Wemm	AC_ARG_ENABLE(getcap-cache,
8370e3d5408SPeter Wemm		[  --enable-getcap-cache   cache translated termcaps in ~/.terminfo],
8380e3d5408SPeter Wemm		[with_getcap_cache=$enableval],
8390e3d5408SPeter Wemm		[with_getcap_cache=no])
8400e3d5408SPeter Wemm	AC_MSG_RESULT($with_getcap_cache)
84173f0a83dSXin LI	test "x$with_getcap_cache" = "xyes" && AC_DEFINE(USE_GETCAP_CACHE,1,[Define to 1 if translated termcap should be stored in $HOME/.terminfo])
8420e3d5408SPeter Wemm
8430e3d5408SPeter Wemmfi
84473f0a83dSXin LIAC_SUBST(NCURSES_USE_TERMCAP)
8450e3d5408SPeter Wemm
8464a1a9510SRong-En Fan###   Use option --disable-home-terminfo to completely remove ~/.terminfo
8474a1a9510SRong-En FanAC_MSG_CHECKING(if ~/.terminfo is wanted)
8484a1a9510SRong-En FanAC_ARG_ENABLE(home-terminfo,
8494a1a9510SRong-En Fan	[  --disable-home-terminfo drop ~/.terminfo from terminfo search-path],
8504a1a9510SRong-En Fan	[with_home_terminfo=$enableval],
8514a1a9510SRong-En Fan	[with_home_terminfo=yes])
8524a1a9510SRong-En FanAC_MSG_RESULT($with_home_terminfo)
85373f0a83dSXin LItest "x$with_home_terminfo" = "xyes" && AC_DEFINE(USE_HOME_TERMINFO,1,[Define to 1 if $HOME/.terminfo feature is wanted])
8544a1a9510SRong-En Fan
855*21817992SBaptiste DaroussinAC_MSG_CHECKING(if you want to permit root to use ncurses environment variables)
8564a1a9510SRong-En FanAC_ARG_ENABLE(root-environ,
857*21817992SBaptiste Daroussin	[  --disable-root-environ  restrict root use of ncurses environment variables],
8584a1a9510SRong-En Fan	[with_root_environ=$enableval],
8594a1a9510SRong-En Fan	[with_root_environ=yes])
8604a1a9510SRong-En FanAC_MSG_RESULT($with_root_environ)
861*21817992SBaptiste Daroussintest "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON,1,[Define to 1 if root/setuid application is allowed to use ncurses environment])
862*21817992SBaptiste Daroussin
863*21817992SBaptiste DaroussinAC_MSG_CHECKING(if you want to permit setuid programs to access all files)
864*21817992SBaptiste DaroussinAC_ARG_ENABLE(root-access,
865*21817992SBaptiste Daroussin	[  --disable-root-access   restrict file-access when running setuid],
866*21817992SBaptiste Daroussin	[with_root_access=$enableval],
867*21817992SBaptiste Daroussin	[with_root_access=yes])
868*21817992SBaptiste DaroussinAC_MSG_RESULT($with_root_access)
869*21817992SBaptiste Daroussintest "x$with_root_access" = xyes && AC_DEFINE(USE_ROOT_ACCESS,1,[Define to 1 if setuid is allowed all file-access])
870*21817992SBaptiste Daroussin
871*21817992SBaptiste DaroussinAC_MSG_CHECKING(if you want to permit setuid use of ncurses environment variables)
872*21817992SBaptiste DaroussinAC_ARG_ENABLE(setuid-environ,
873*21817992SBaptiste Daroussin	[  --disable-setuid-environ restrict setuid use of ncurses environment variables],
874*21817992SBaptiste Daroussin	[with_setuid_environ=$enableval],
875*21817992SBaptiste Daroussin	[with_setuid_environ=$with_root_environ])
876*21817992SBaptiste DaroussinAC_MSG_RESULT($with_setuid_environ)
877*21817992SBaptiste Daroussintest "x$with_setuid_environ" = xyes && AC_DEFINE(USE_SETUID_ENVIRON,1,[Define to 1 if setuid/setgid application is allowed to use ncurses environment])
8784a1a9510SRong-En Fan
8790e3d5408SPeter Wemm###   Use option --enable-symlinks to make tic use symlinks, not hard links
8800e3d5408SPeter Wemm###   to reduce storage requirements for the terminfo database.
8810e3d5408SPeter WemmCF_LINK_FUNCS
8820e3d5408SPeter Wemm
8830e3d5408SPeter Wemmwith_links=no
8840e3d5408SPeter Wemmwith_symlinks=no
8850e3d5408SPeter Wemm
8864a1a9510SRong-En Fan# soft links (symbolic links) are useful for some systems where hard links do
8874a1a9510SRong-En Fan# not work, or to make it simpler to copy terminfo trees around.
88873f0a83dSXin LIif test "x$ac_cv_func_symlink" = xyes ; then
8894a1a9510SRong-En Fan	AC_MSG_CHECKING(if tic should use symbolic links)
8904a1a9510SRong-En Fan	AC_ARG_ENABLE(symlinks,
8914a1a9510SRong-En Fan	[  --enable-symlinks       make tic use symbolic links not hard links],
8924a1a9510SRong-En Fan	[with_symlinks=$enableval],
8934a1a9510SRong-En Fan	[with_symlinks=no])
8940e3d5408SPeter Wemm	AC_MSG_RESULT($with_symlinks)
8954a1a9510SRong-En Fanfi
8964a1a9510SRong-En Fan
8974a1a9510SRong-En Fan# If we have hard links and did not choose to use soft links instead, there is
8984a1a9510SRong-En Fan# no reason to make this choice optional - use the hard links.
8994a1a9510SRong-En Fanif test "$with_symlinks" = no ; then
9000e3d5408SPeter Wemm	AC_MSG_CHECKING(if tic should use hard links)
90173f0a83dSXin LI	if test "x$ac_cv_func_link" = xyes ; then
9020e3d5408SPeter Wemm		with_links=yes
9030e3d5408SPeter Wemm	else
9040e3d5408SPeter Wemm		with_links=no
9050e3d5408SPeter Wemm	fi
9060e3d5408SPeter Wemm	AC_MSG_RESULT($with_links)
9070e3d5408SPeter Wemmfi
9080e3d5408SPeter Wemm
90973f0a83dSXin LItest "x$with_links" = xyes && AC_DEFINE(USE_LINKS,1,[Define to 1 if hardlinks should be used in terminfo database])
91073f0a83dSXin LItest "x$with_symlinks" = xyes && AC_DEFINE(USE_SYMLINKS,1,[Define to 1 if symbolic links should be used in terminfo database])
9110e3d5408SPeter Wemm
91215589c42SPeter Wemm###   use option --enable-broken-linker to force on use of broken-linker support
913e1865124SBaptiste DaroussinCF_ENABLE_BROKEN_LINKER
91439f2269fSPeter Wemm
9154a1a9510SRong-En Fan###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
9164a1a9510SRong-En FanAC_MSG_CHECKING(if tputs should process BSD-style prefix padding)
9174a1a9510SRong-En FanAC_ARG_ENABLE(bsdpad,
9184a1a9510SRong-En Fan	[  --enable-bsdpad         recognize BSD-style prefix padding],
9194a1a9510SRong-En Fan	[with_bsdpad=$enableval],
9204a1a9510SRong-En Fan	[with_bsdpad=no])
9214a1a9510SRong-En FanAC_MSG_RESULT($with_bsdpad)
92273f0a83dSXin LItest "x$with_bsdpad" = xyes && AC_DEFINE(BSD_TPUTS,1,[Define to 1 to recognize BSD-style prefix padding])
9234a1a9510SRong-En Fan
9244a1a9510SRong-En Fan###   use option --enable-widec to turn on use of wide-character support
9254a1a9510SRong-En FanNCURSES_CH_T=chtype
9264a1a9510SRong-En FanNCURSES_LIBUTF8=0
9274a1a9510SRong-En Fan
9284a1a9510SRong-En FanNEED_WCHAR_H=0
9294a1a9510SRong-En FanNCURSES_MBSTATE_T=0
9304a1a9510SRong-En FanNCURSES_WCHAR_T=0
9314a1a9510SRong-En FanNCURSES_WINT_T=0
9324a1a9510SRong-En Fan
9334a1a9510SRong-En Fan# Check to define _XOPEN_SOURCE "automatically"
934aae38d10SBaptiste DaroussinCPPFLAGS_before_XOPEN="$CPPFLAGS"
935aae38d10SBaptiste DaroussinCF_XOPEN_SOURCE(600)
936aae38d10SBaptiste DaroussinCPPFLAGS_after_XOPEN="$CPPFLAGS"
9374a1a9510SRong-En Fan
9384a1a9510SRong-En Fan# Work around breakage on OS X
9394a1a9510SRong-En FanCF_SIGWINCH
9404a1a9510SRong-En Fan
9414a1a9510SRong-En Fan# Checks for CODESET support.
9424a1a9510SRong-En FanAM_LANGINFO_CODESET
9434a1a9510SRong-En Fan
9444a1a9510SRong-En Fan# use these variables to work around a defect in gcc's fixincludes.
9454a1a9510SRong-En FanNCURSES_OK_WCHAR_T=
9464a1a9510SRong-En FanNCURSES_OK_WINT_T=
9474a1a9510SRong-En Fan
9484a1a9510SRong-En FanAC_MSG_CHECKING(if you want wide-character code)
9494a1a9510SRong-En FanAC_ARG_ENABLE(widec,
950*21817992SBaptiste Daroussin	[  --disable-widec         compile without wide character and UTF-8 support],
9514a1a9510SRong-En Fan	[with_widec=$enableval],
952*21817992SBaptiste Daroussin	[with_widec=$cf_dft_widec])
9534a1a9510SRong-En FanAC_MSG_RESULT($with_widec)
954aae38d10SBaptiste Daroussin
955aae38d10SBaptiste DaroussinNCURSES_WCWIDTH_GRAPHICS=1
956aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_WCWIDTH_GRAPHICS)
957aae38d10SBaptiste Daroussin
95873f0a83dSXin LIif test "x$with_widec" = xyes ; then
959aae38d10SBaptiste Daroussin	if test "x$disable_lib_suffixes" = xno ; then
9604a1a9510SRong-En Fan		LIB_SUFFIX="w${LIB_SUFFIX}"
961aae38d10SBaptiste Daroussin	fi
962*21817992SBaptiste Daroussin	AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to compile with wide character and UTF-8 support])
963*21817992SBaptiste Daroussin	AC_DEFINE(NCURSES_WIDECHAR,1,[Define to 1 to compile with wide character and UTF-8 support])
964*21817992SBaptiste Daroussin	case "$CPPFLAGS" in
965*21817992SBaptiste Daroussin	(*_XOPEN_SOURCE=*)
966*21817992SBaptiste Daroussin		;;
967*21817992SBaptiste Daroussin	(*)
968*21817992SBaptiste Daroussin		AC_MSG_WARN(_XOPEN_SOURCE feature test macro appears to be predefined)
969*21817992SBaptiste Daroussin		# CPPFLAGS="$CPPFLAGS -DNCURSES_WIDECHAR"
970*21817992SBaptiste Daroussin		CPPFLAGS_after_XOPEN="$CPPFLAGS_after_XOPEN -DNCURSES_WIDECHAR"
971*21817992SBaptiste Daroussin		;;
972*21817992SBaptiste Daroussin	esac
97306bfebdeSXin LI
97473f0a83dSXin LI	CF_CHECK_WCHAR_H
975aae38d10SBaptiste Daroussin	CF_CHECK_WCWIDTH_GRAPHICS
976aae38d10SBaptiste Daroussin	test "$cf_cv_wcwidth_graphics" = no && NCURSES_WCWIDTH_GRAPHICS=0
97706bfebdeSXin LI
9784a1a9510SRong-En Fan	# with_overwrite=no
9794a1a9510SRong-En Fan	NCURSES_CH_T=cchar_t
980*21817992SBaptiste Daroussin	AC_CHECK_FUNCS(putwc btowc wctob wmemchr mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
98173f0a83dSXin LI	if test "x$ac_cv_func_putwc" != xyes ; then
9825d08fb1fSRong-En Fan		CF_UTF8_LIB
9835d08fb1fSRong-En Fan		if test "$cf_cv_utf8_lib" != no ; then
9844a1a9510SRong-En Fan			NCURSES_LIBUTF8=1
9854a1a9510SRong-En Fan		fi
9864a1a9510SRong-En Fan	fi
9874a1a9510SRong-En Fan	CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T)
9884a1a9510SRong-En Fan	CF_WCHAR_TYPE(wchar_t,   NCURSES_WCHAR_T,   NCURSES_OK_WCHAR_T)
9894a1a9510SRong-En Fan	CF_WCHAR_TYPE(wint_t,    NCURSES_WINT_T,    NCURSES_OK_WINT_T)
9904a1a9510SRong-En Fan
9914a1a9510SRong-En Fan	if test "$NCURSES_MBSTATE_T" != 0; then
99273f0a83dSXin LI		AC_DEFINE(NEED_MBSTATE_T_DEF,1,[Define to 1 if we must declare mbstate_t])
9934a1a9510SRong-En Fan	fi
9944a1a9510SRong-En Fanfi
9954a1a9510SRong-En FanAC_SUBST(NCURSES_CH_T)
9964a1a9510SRong-En FanAC_SUBST(NCURSES_LIBUTF8)
9974a1a9510SRong-En Fan
9984a1a9510SRong-En FanAC_SUBST(NEED_WCHAR_H)
9994a1a9510SRong-En FanAC_SUBST(NCURSES_MBSTATE_T)
10004a1a9510SRong-En FanAC_SUBST(NCURSES_WCHAR_T)
10014a1a9510SRong-En FanAC_SUBST(NCURSES_WINT_T)
10024a1a9510SRong-En Fan
10034a1a9510SRong-En FanAC_SUBST(NCURSES_OK_WCHAR_T)
10044a1a9510SRong-En FanAC_SUBST(NCURSES_OK_WINT_T)
10054a1a9510SRong-En Fan
10064a1a9510SRong-En Fan###   use option --disable-lp64 to allow long chtype
10074a1a9510SRong-En FanAC_MSG_CHECKING(whether to enable _LP64 definition in curses.h)
10084a1a9510SRong-En FanAC_ARG_ENABLE(lp64,
10094a1a9510SRong-En Fan	[  --disable-lp64          allow chtype to be long (ignore _LP64)],
10104a1a9510SRong-En Fan	[with_lp64=$enableval],
1011aae38d10SBaptiste Daroussin	[with_lp64=$cf_dft_with_lp64])
10124a1a9510SRong-En FanAC_MSG_RESULT($with_lp64)
10134a1a9510SRong-En Fan
101473f0a83dSXin LIif test "x$with_lp64" = xyes ; then
10154a1a9510SRong-En Fan	cf_cv_enable_lp64=1
10164a1a9510SRong-En Fanelse
10174a1a9510SRong-En Fan	cf_cv_enable_lp64=0
10184a1a9510SRong-En Fanfi
10194a1a9510SRong-En FanAC_SUBST(cf_cv_enable_lp64)
10204a1a9510SRong-En Fan
10214a1a9510SRong-En FanCF_LARGEFILE
10224a1a9510SRong-En Fan
10234a1a9510SRong-En Fan###   use option --disable-tparm-varargs to make tparm() conform to X/Open
10244a1a9510SRong-En FanAC_MSG_CHECKING(if you want tparm not to use X/Open fixed-parameter list)
10254a1a9510SRong-En FanAC_ARG_ENABLE(tparm-varargs,
10264a1a9510SRong-En Fan	[  --disable-tparm-varargs compile tparm() without varargs interface],
10274a1a9510SRong-En Fan	[with_tparm_varargs=$enableval],
10284a1a9510SRong-En Fan	[with_tparm_varargs=yes])
10294a1a9510SRong-En FanAC_MSG_RESULT($with_tparm_varargs)
10304a1a9510SRong-En FanNCURSES_TPARM_VARARGS=0
103173f0a83dSXin LItest "x$with_tparm_varargs" = xyes && NCURSES_TPARM_VARARGS=1
10324a1a9510SRong-En FanAC_SUBST(NCURSES_TPARM_VARARGS)
10334a1a9510SRong-En Fan
10345d08fb1fSRong-En Fan###   use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
10355d08fb1fSRong-En Fanif test "$with_ticlib" != no ; then
10365d08fb1fSRong-En FanAC_MSG_CHECKING(if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library)
10375d08fb1fSRong-En FanAC_ARG_ENABLE(tic-depends,
10385d08fb1fSRong-En Fan	[  --disable-tic-depends   link tic library without explicit dependency on ncurses library],
10395d08fb1fSRong-En Fan	[with_tic_depends=$enableval],
10405d08fb1fSRong-En Fan	[with_tic_depends=yes])
10415d08fb1fSRong-En FanAC_MSG_RESULT($with_tic_depends)
10425d08fb1fSRong-En Fanelse
10435d08fb1fSRong-En Fan	with_tic_depends=no
10445d08fb1fSRong-En Fanfi
10455d08fb1fSRong-En Fan
1046*21817992SBaptiste Daroussin###   use option --enable-wattr-macros to enable wattr* macros in curses.h
1047*21817992SBaptiste DaroussinAC_MSG_CHECKING(if you want to enable wattr* macros)
1048aae38d10SBaptiste DaroussinAC_ARG_ENABLE(wattr-macros,
1049*21817992SBaptiste Daroussin	[  --enable-wattr-macros   enable wattr* macros],
1050aae38d10SBaptiste Daroussin	[with_wattr_macros=$enableval],
1051*21817992SBaptiste Daroussin	[with_wattr_macros=no])
1052aae38d10SBaptiste Daroussinif [[ "x$with_wattr_macros" != xyes ]]; then
1053aae38d10SBaptiste Daroussin	NCURSES_WATTR_MACROS=0
1054*21817992SBaptiste Daroussin	AC_MSG_RESULT(no)
1055aae38d10SBaptiste Daroussinelse
1056aae38d10SBaptiste Daroussin	NCURSES_WATTR_MACROS=1
1057*21817992SBaptiste Daroussin	AC_MSG_RESULT(yes)
1058aae38d10SBaptiste Daroussinfi
1059aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_WATTR_MACROS)
1060aae38d10SBaptiste Daroussin
1061aae38d10SBaptiste DaroussinCF_WITH_X11_RGB
1062aae38d10SBaptiste Daroussin
106339f2269fSPeter Wemm###   use option --with-bool to override bool's type
1064*21817992SBaptiste DaroussinCF_WITH_TYPE(bool,
1065*21817992SBaptiste Daroussin	[  --with-bool=TYPE        fall back to TYPE for curses 'bool' typedef],
1066*21817992SBaptiste Daroussin	NCURSES_BOOL,
1067*21817992SBaptiste Daroussin	auto)
106815589c42SPeter Wemm
10694a1a9510SRong-En FanAC_MSG_CHECKING(for alternate terminal capabilities file)
10704a1a9510SRong-En FanAC_ARG_WITH(caps,
10714a1a9510SRong-En Fan	[  --with-caps=alt         compile with alternate Caps file],
10724a1a9510SRong-En Fan	[TERMINFO_CAPS=Caps.$withval],
10734a1a9510SRong-En Fan	[TERMINFO_CAPS=Caps])
1074*21817992SBaptiste Daroussinif test ! -f "${srcdir}/include/${TERMINFO_CAPS}"
1075*21817992SBaptiste Daroussinthen
1076*21817992SBaptiste Daroussin	AC_MSG_WARN(file not found: "${srcdir}/include/${TERMINFO_CAPS}")
1077*21817992SBaptiste Daroussin	TERMINFO_CAPS=Caps
1078*21817992SBaptiste Daroussinfi
10794a1a9510SRong-En FanAC_MSG_RESULT($TERMINFO_CAPS)
10804a1a9510SRong-En FanAC_SUBST(TERMINFO_CAPS)
10814a1a9510SRong-En Fan
10824a1a9510SRong-En Fan###   use option --with-chtype to override chtype's type
1083*21817992SBaptiste DaroussinCF_WITH_TYPE(chtype,
10844a1a9510SRong-En Fan	[  --with-chtype=TYPE      override type of chtype],
1085*21817992SBaptiste Daroussin	NCURSES_CHTYPE,
1086*21817992SBaptiste Daroussin	$cf_dft_chtype)
10874a1a9510SRong-En Fan
10887a69bbfbSPeter Wemm###   use option --with-ospeed to override ospeed's type
1089*21817992SBaptiste DaroussinCF_WITH_TYPE(ospeed,
10907a69bbfbSPeter Wemm	[  --with-ospeed=TYPE      override type of ospeed variable],
1091*21817992SBaptiste Daroussin	NCURSES_OSPEED,
1092*21817992SBaptiste Daroussin	short)
10937a69bbfbSPeter Wemm
10944a1a9510SRong-En Fan###   use option --with-mmask-t to override mmask_t's type
1095*21817992SBaptiste DaroussinCF_WITH_TYPE(mmask-t,
10964a1a9510SRong-En Fan	[  --with-mmask-t=TYPE     override type of mmask_t],
1097*21817992SBaptiste Daroussin	NCURSES_MMASK_T,
1098*21817992SBaptiste Daroussin	$cf_dft_mmask_t)
10990e3d5408SPeter Wemm
110006bfebdeSXin LI###   use option --with-ccharw-max to override CCHARW_MAX size
110106bfebdeSXin LIAC_MSG_CHECKING(for size CCHARW_MAX)
110206bfebdeSXin LIAC_ARG_WITH(ccharw-max,
110306bfebdeSXin LI	[  --with-ccharw-max=XXX   override size CCHARW_MAX],
110406bfebdeSXin LI	[NCURSES_CCHARW_MAX="$withval"],
1105*21817992SBaptiste Daroussin	[NCURSES_CCHARW_MAX=$cf_dft_ccharw_max])
110606bfebdeSXin LIAC_MSG_RESULT($NCURSES_CCHARW_MAX)
110706bfebdeSXin LIAC_SUBST(NCURSES_CCHARW_MAX)
110806bfebdeSXin LI
1109e1865124SBaptiste DaroussinAC_CHECK_SIZEOF([signed char])
11104a1a9510SRong-En Fanif test "$ac_cv_sizeof_signed_char" = 1 ; then
11114a1a9510SRong-En Fan	NCURSES_SBOOL="signed char"
11124a1a9510SRong-En Fanelse
11134a1a9510SRong-En Fan	NCURSES_SBOOL="char"
11144a1a9510SRong-En Fanfi
1115*21817992SBaptiste DaroussinAC_MSG_CHECKING(whether to use signed chars for Boolean array in term.h)
11164a1a9510SRong-En FanAC_ARG_ENABLE(signed-char,
1117*21817992SBaptiste Daroussin	[  --enable-signed-char    use signed chars for Boolean array in term.h],
11184a1a9510SRong-En Fan	[with_signed_char=$enableval],
1119*21817992SBaptiste Daroussin	[with_signed_char=$cf_dft_signed_char])
11204a1a9510SRong-En FanAC_MSG_RESULT($with_signed_char)
112173f0a83dSXin LItest "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
11224a1a9510SRong-En FanAC_SUBST(NCURSES_SBOOL)
11234a1a9510SRong-En Fan
1124aae38d10SBaptiste Daroussin###   use option --with-tparm-arg to override tparm's argument type
1125*21817992SBaptiste DaroussinCF_WITH_TYPE(tparm-arg,
1126aae38d10SBaptiste Daroussin	[  --with-tparm-arg=TYPE   override parameter type of tparm],
1127*21817992SBaptiste Daroussin	NCURSES_TPARM_ARG,
1128*21817992SBaptiste Daroussin	$cf_dft_tparm_arg)
1129aae38d10SBaptiste Daroussin
1130aae38d10SBaptiste Daroussin### Enable compiling-in rcs id's
1131aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if RCS identifiers should be compiled-in)
1132aae38d10SBaptiste DaroussinAC_ARG_WITH(rcs-ids,
1133aae38d10SBaptiste Daroussin	[  --with-rcs-ids          compile-in RCS identifiers],
1134aae38d10SBaptiste Daroussin	[with_rcs_ids=$withval],
1135aae38d10SBaptiste Daroussin	[with_rcs_ids=no])
1136aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_rcs_ids)
1137aae38d10SBaptiste Daroussintest "x$with_rcs_ids" = xyes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 to compile-in RCS identifiers])
1138aae38d10SBaptiste Daroussin
1139aae38d10SBaptiste Daroussin###############################################################################
1140aae38d10SBaptiste DaroussinCF_MAN_PAGES([ captoinfo clear infocmp infotocap reset tabs tic toe tput tset ])
1141aae38d10SBaptiste Daroussin
1142aae38d10SBaptiste Daroussin###############################################################################
1143aae38d10SBaptiste DaroussinCF_HELP_MESSAGE(Extensions:)
1144aae38d10SBaptiste Daroussin
1145aae38d10SBaptiste Daroussin### Note that some functions (such as const) are normally disabled anyway.
1146aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want to build with function extensions)
1147aae38d10SBaptiste DaroussinAC_ARG_ENABLE(ext-funcs,
1148aae38d10SBaptiste Daroussin	[  --disable-ext-funcs     disable function-extensions],
1149aae38d10SBaptiste Daroussin	[with_ext_funcs=$enableval],
1150aae38d10SBaptiste Daroussin	[with_ext_funcs=yes])
1151aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_ext_funcs)
1152aae38d10SBaptiste Daroussinif test "x$with_ext_funcs" = xyes ; then
1153aae38d10SBaptiste Daroussin	NCURSES_EXT_FUNCS=1
1154aae38d10SBaptiste Daroussin	AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 to enable ncurses extended functions])
1155aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_ASSUME_DEFAULT_COLORS,1,[Define to 1 to enable assume_default_colors() function in test-programs])
1156aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 to enable curses_version() function in test-programs])
1157aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_HAS_KEY,1,[Define to 1 to enable has_key() function in test-programs])
1158aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_RESIZETERM,1,[Define to 1 to enable resizeterm() function in test-programs])
1159aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_RESIZE_TERM,1,[Define to 1 to enable resize_term() function in test-programs])
1160aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_TERM_ENTRY_H,1,[Define to 1 to enable term_entry() function in test-programs])
1161aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 to enable use_default_colors() function in test-programs])
1162aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_USE_SCREEN,1,[Define to 1 to enable use_screen() function in test-programs])
1163aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_USE_WINDOW,1,[Define to 1 to enable use_window() function in test-programs])
1164aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_WRESIZE,1,[Define to 1 to enable wresize() function in test-programs])
1165aae38d10SBaptiste Daroussin	GENERATED_EXT_FUNCS=generated
1166aae38d10SBaptiste Daroussin	test "x$with_ext_funcs" = xyes || cf_dft_ext_spfuncs=no
1167aae38d10SBaptiste Daroussinelse
1168aae38d10SBaptiste Daroussin	NCURSES_EXT_FUNCS=0
1169aae38d10SBaptiste Daroussin	GENERATED_EXT_FUNCS=
1170aae38d10SBaptiste Daroussinfi
1171aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_EXT_FUNCS)
1172aae38d10SBaptiste DaroussinAC_SUBST(GENERATED_EXT_FUNCS)
1173aae38d10SBaptiste Daroussin
1174aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want to build with SCREEN extensions)
1175aae38d10SBaptiste DaroussinAC_ARG_ENABLE(sp-funcs,
1176aae38d10SBaptiste Daroussin	[  --enable-sp-funcs       enable SCREEN-extensions],
1177aae38d10SBaptiste Daroussin	[with_sp_funcs=$enableval],
1178aae38d10SBaptiste Daroussin	[with_sp_funcs=$cf_dft_ext_spfuncs])
1179aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_sp_funcs)
1180aae38d10SBaptiste Daroussinif test "x$with_sp_funcs" = xyes ; then
1181aae38d10SBaptiste Daroussin	NCURSES_SP_FUNCS=1
1182aae38d10SBaptiste Daroussin	AC_DEFINE(NCURSES_SP_FUNCS,1,[Define to 1 to enable SCREEN-extensions])
1183aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE_TPUTS_SP,1,[Define to 1 to enable tputs_sp() function in test-programs])
1184aae38d10SBaptiste Daroussin	GENERATED_SP_FUNCS=generated
1185aae38d10SBaptiste Daroussinelse
1186aae38d10SBaptiste Daroussin	NCURSES_SP_FUNCS=0
1187aae38d10SBaptiste Daroussin	GENERATED_SP_FUNCS=
1188aae38d10SBaptiste Daroussinfi
1189aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_SP_FUNCS)
1190aae38d10SBaptiste DaroussinAC_SUBST(GENERATED_SP_FUNCS)
1191aae38d10SBaptiste Daroussin
1192aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want to build with terminal-driver)
1193aae38d10SBaptiste DaroussinAC_ARG_ENABLE(term-driver,
1194aae38d10SBaptiste Daroussin	[  --enable-term-driver    enable terminal-driver],
1195aae38d10SBaptiste Daroussin	[with_term_driver=$enableval],
1196aae38d10SBaptiste Daroussin	[with_term_driver=no])
1197aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_term_driver)
1198aae38d10SBaptiste Daroussinif test "x$with_term_driver" = xyes ; then
1199aae38d10SBaptiste Daroussin	AC_DEFINE(USE_TERM_DRIVER,1,[Define to 1 to enable terminal-driver])
1200aae38d10SBaptiste Daroussin	if test "x$with_termlib" != xno ; then
1201aae38d10SBaptiste Daroussin		AC_MSG_ERROR(The term-driver option conflicts with the termlib option)
1202aae38d10SBaptiste Daroussin	fi
1203aae38d10SBaptiste Daroussin	if test "x$with_sp_funcs" != xyes ; then
1204aae38d10SBaptiste Daroussin		AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
1205aae38d10SBaptiste Daroussin	fi
1206aae38d10SBaptiste Daroussinfi
1207aae38d10SBaptiste Daroussin
1208aae38d10SBaptiste Daroussin###   use option --enable-const to turn on use of const beyond that in XSI.
1209aae38d10SBaptiste DaroussinAC_MSG_CHECKING(for extended use of const keyword)
1210aae38d10SBaptiste DaroussinAC_ARG_ENABLE(const,
1211aae38d10SBaptiste Daroussin	[  --enable-const          compile with extra/non-standard const],
1212aae38d10SBaptiste Daroussin	[with_ext_const=$enableval],
1213aae38d10SBaptiste Daroussin	[with_ext_const=$cf_dft_ext_const])
1214aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_ext_const)
1215aae38d10SBaptiste DaroussinNCURSES_CONST='/*nothing*/'
1216aae38d10SBaptiste Daroussinif test "x$with_ext_const" = xyes ; then
1217aae38d10SBaptiste Daroussin	NCURSES_CONST=const
1218aae38d10SBaptiste Daroussinfi
1219aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_CONST)
1220aae38d10SBaptiste Daroussin
1221aae38d10SBaptiste Daroussin###   use option --enable-ext-colors to turn on use of colors beyond 16.
1222aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want to use extended colors)
1223aae38d10SBaptiste DaroussinAC_ARG_ENABLE(ext-colors,
1224aae38d10SBaptiste Daroussin	[  --enable-ext-colors     compile for 256-color support],
1225aae38d10SBaptiste Daroussin	[with_ext_colors=$enableval],
1226aae38d10SBaptiste Daroussin	[with_ext_colors=$cf_dft_ext_colors])
1227aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_ext_colors)
1228aae38d10SBaptiste DaroussinNCURSES_EXT_COLORS=0
1229aae38d10SBaptiste Daroussinif test "x$with_ext_colors" = xyes ; then
1230aae38d10SBaptiste Daroussin	if test "x$with_widec" != xyes ; then
1231aae38d10SBaptiste Daroussin		AC_MSG_WARN(This option applies only to wide-character library)
1232aae38d10SBaptiste Daroussin	else
1233aae38d10SBaptiste Daroussin		# cannot be ABI 5 since it changes sizeof(cchar_t)
1234aae38d10SBaptiste Daroussin		CF_NCURSES_ABI_6
1235aae38d10SBaptiste Daroussin		NCURSES_EXT_COLORS=1
1236aae38d10SBaptiste Daroussin		AC_DEFINE(NCURSES_EXT_COLORS,1,[Define to 1 to compile for 256-color support])
1237aae38d10SBaptiste Daroussin		AC_DEFINE(HAVE_ALLOC_PAIR,1,[Define to 1 to enable alloc_pair() function])
1238aae38d10SBaptiste Daroussin		AC_DEFINE(HAVE_INIT_EXTENDED_COLOR,1,[Define to 1 to enable init_extended_color() function in test-programs])
1239aae38d10SBaptiste Daroussin		AC_DEFINE(HAVE_RESET_COLOR_PAIRS,1,[Define to 1 to enable reset_color_pairs() function in test-programs])
1240aae38d10SBaptiste Daroussin	fi
1241aae38d10SBaptiste Daroussinfi
1242aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_EXT_COLORS)
1243aae38d10SBaptiste Daroussin
1244aae38d10SBaptiste Daroussin###   use option --enable-ext-mouse to modify coding to support 5-button mice
1245aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want to use extended mouse encoding)
1246aae38d10SBaptiste DaroussinAC_ARG_ENABLE(ext-mouse,
1247aae38d10SBaptiste Daroussin	[  --enable-ext-mouse      compile for extended mouse-encoding],
1248aae38d10SBaptiste Daroussin	[with_ext_mouse=$enableval],
1249aae38d10SBaptiste Daroussin	[with_ext_mouse=$cf_dft_ext_mouse])
1250aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_ext_mouse)
1251aae38d10SBaptiste Daroussinif test "x$with_ext_mouse" = xyes ; then
1252aae38d10SBaptiste Daroussin	CF_NCURSES_ABI_6
1253aae38d10SBaptiste Daroussinfi
1254*21817992SBaptiste Daroussin
1255*21817992SBaptiste Daroussinif test $cf_cv_abi_default -le 5 ; then
1256*21817992SBaptiste Daroussin	NCURSES_MOUSE_VERSION=1
1257*21817992SBaptiste Daroussinelif test $cf_cv_abi_default -le 6 ; then
1258*21817992SBaptiste Daroussin	NCURSES_MOUSE_VERSION=2
1259*21817992SBaptiste Daroussinelse
1260*21817992SBaptiste Daroussin	NCURSES_MOUSE_VERSION=3
1261*21817992SBaptiste Daroussinfi
1262*21817992SBaptiste Daroussin
1263aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_MOUSE_VERSION)
1264aae38d10SBaptiste Daroussin
1265aae38d10SBaptiste Daroussin###   use option --enable-ext-putwin to turn on extended screendumps
1266aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want to use extended putwin/screendump)
1267aae38d10SBaptiste DaroussinAC_ARG_ENABLE(ext-putwin,
1268aae38d10SBaptiste Daroussin	[  --enable-ext-putwin     compile with extended putwin/screendump],
1269aae38d10SBaptiste Daroussin	[with_ext_putwin=$enableval],
1270aae38d10SBaptiste Daroussin	[with_ext_putwin=$cf_dft_ext_putwin])
1271aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_ext_putwin)
1272aae38d10SBaptiste Daroussinif test "x$with_ext_putwin" = xyes ; then
1273aae38d10SBaptiste Daroussin	AC_DEFINE(NCURSES_EXT_PUTWIN,1,[Define to 1 to compile with extended putwin/screendump])
1274aae38d10SBaptiste Daroussinfi
1275aae38d10SBaptiste Daroussin
1276aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
1277aae38d10SBaptiste DaroussinAC_ARG_ENABLE(no-padding,
1278aae38d10SBaptiste Daroussin	[  --enable-no-padding     compile with $NCURSES_NO_PADDING code],
1279aae38d10SBaptiste Daroussin	[with_no_padding=$enableval],
1280aae38d10SBaptiste Daroussin	[with_no_padding=$with_ext_funcs])
1281aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_no_padding)
1282aae38d10SBaptiste Daroussintest "x$with_no_padding" = xyes && AC_DEFINE(NCURSES_NO_PADDING,1,[Define to 1 to compile with $NCURSES_NO_PADDING code])
1283aae38d10SBaptiste Daroussin
128415589c42SPeter Wemm###   use option --enable-sigwinch to turn on use of SIGWINCH logic
128515589c42SPeter WemmAC_MSG_CHECKING(if you want SIGWINCH handler)
128615589c42SPeter WemmAC_ARG_ENABLE(sigwinch,
128715589c42SPeter Wemm	[  --enable-sigwinch       compile with SIGWINCH handler],
128815589c42SPeter Wemm	[with_sigwinch=$enableval],
128915589c42SPeter Wemm	[with_sigwinch=$with_ext_funcs])
129015589c42SPeter WemmAC_MSG_RESULT($with_sigwinch)
1291*21817992SBaptiste Daroussinif test "x$with_sigwinch" = xyes
1292*21817992SBaptiste Daroussinthen
1293*21817992SBaptiste Daroussin	AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
1294*21817992SBaptiste Daroussin	cf_cv_enable_sigwinch=1
1295*21817992SBaptiste Daroussinelse
1296*21817992SBaptiste Daroussin	cf_cv_enable_sigwinch=0
1297*21817992SBaptiste Daroussinfi
1298*21817992SBaptiste DaroussinAC_SUBST(cf_cv_enable_sigwinch)
129915589c42SPeter Wemm
130015589c42SPeter Wemm###   use option --enable-tcap-names to allow user to define new capabilities
130115589c42SPeter WemmAC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
130215589c42SPeter WemmAC_ARG_ENABLE(tcap-names,
130315589c42SPeter Wemm	[  --enable-tcap-names     compile with user-definable terminal capabilities],
130415589c42SPeter Wemm	[with_tcap_names=$enableval],
130515589c42SPeter Wemm	[with_tcap_names=$with_ext_funcs])
130615589c42SPeter WemmAC_MSG_RESULT($with_tcap_names)
130715589c42SPeter WemmNCURSES_XNAMES=0
1308*21817992SBaptiste Daroussinif test "x$with_tcap_names" = xyes; then
1309*21817992SBaptiste Daroussin	NCURSES_XNAMES=1
1310*21817992SBaptiste Daroussin	AC_DEFINE(NCURSES_XNAMES,1,[Define to 1 to compile with user-definable terminal capabilities])
1311*21817992SBaptiste Daroussinfi
131215589c42SPeter WemmAC_SUBST(NCURSES_XNAMES)
13130e3d5408SPeter Wemm
1314aae38d10SBaptiste Daroussin##############################################################################
1315aae38d10SBaptiste DaroussinCF_HELP_MESSAGE(Reentrant Code:)
1316aae38d10SBaptiste DaroussinCF_WITH_PTHREAD
1317aae38d10SBaptiste Daroussin
1318aae38d10SBaptiste Daroussinif test "x$with_pthread" != xno; then
1319aae38d10SBaptiste Daroussin	AC_CHECK_FUNC(pthread_kill,[
1320aae38d10SBaptiste Daroussin		AC_MSG_CHECKING(if you want to allow EINTR in wgetch with pthreads)
1321aae38d10SBaptiste Daroussin		AC_ARG_ENABLE(pthreads-eintr,
1322aae38d10SBaptiste Daroussin			[  --enable-pthreads-eintr enable EINTR in wgetch with pthreads],
1323aae38d10SBaptiste Daroussin			[use_pthreads_eintr=$enableval],
1324aae38d10SBaptiste Daroussin			[use_pthreads_eintr=no])
1325aae38d10SBaptiste Daroussin		AC_MSG_RESULT($use_pthreads_eintr)
1326aae38d10SBaptiste Daroussin		if test "x$use_pthreads_eintr" = xyes ; then
1327aae38d10SBaptiste Daroussin			AC_DEFINE(USE_PTHREADS_EINTR,1,[Define to 1 to enable EINTR in wgetch with pthreads])
1328aae38d10SBaptiste Daroussin		fi])
1329aae38d10SBaptiste Daroussin
1330aae38d10SBaptiste Daroussin	AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
1331aae38d10SBaptiste Daroussin	AC_ARG_ENABLE(weak-symbols,
1332aae38d10SBaptiste Daroussin		[  --enable-weak-symbols   enable weak-symbols for pthreads],
1333aae38d10SBaptiste Daroussin		[use_weak_symbols=$enableval],
1334aae38d10SBaptiste Daroussin		[use_weak_symbols=no])
1335aae38d10SBaptiste Daroussin	AC_MSG_RESULT($use_weak_symbols)
1336aae38d10SBaptiste Daroussin	if test "x$use_weak_symbols" = xyes ; then
1337aae38d10SBaptiste Daroussin		CF_WEAK_SYMBOLS
1338aae38d10SBaptiste Daroussin	else
1339aae38d10SBaptiste Daroussin		cf_cv_weak_symbols=no
1340aae38d10SBaptiste Daroussin	fi
1341aae38d10SBaptiste Daroussin
1342aae38d10SBaptiste Daroussin	if test "x$cf_cv_weak_symbols" = xyes ; then
1343aae38d10SBaptiste Daroussin		AC_DEFINE(USE_WEAK_SYMBOLS,1,[Define to 1 to enable weak-symbols for pthreads])
1344aae38d10SBaptiste Daroussin	fi
1345aae38d10SBaptiste Daroussinfi
1346aae38d10SBaptiste Daroussin
1347aae38d10SBaptiste DaroussinPTHREAD=
1348aae38d10SBaptiste Daroussinif test "x$with_pthread" = "xyes" ; then
1349aae38d10SBaptiste Daroussin	AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use pthreads feature])
1350aae38d10SBaptiste Daroussin	enable_reentrant=yes
1351aae38d10SBaptiste Daroussin	if test "x$cf_cv_weak_symbols" = xyes ; then
1352aae38d10SBaptiste Daroussin		PTHREAD=-lpthread
1353aae38d10SBaptiste Daroussin		CF_ADD_LIB(pthread,PRIVATE_LIBS)
1354aae38d10SBaptiste Daroussin	fi
1355aae38d10SBaptiste Daroussinfi
1356aae38d10SBaptiste DaroussinAC_SUBST(PTHREAD)
1357aae38d10SBaptiste Daroussin
1358aae38d10SBaptiste Daroussin# Reentrant code has to be opaque; there's little advantage to making ncurses
1359aae38d10SBaptiste Daroussin# opaque outside of that, so there is no --enable-opaque option.  We can use
1360aae38d10SBaptiste Daroussin# this option without --with-pthreads, but this will be always set for
1361aae38d10SBaptiste Daroussin# pthreads.
1362aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want reentrant code)
1363aae38d10SBaptiste DaroussinAC_ARG_ENABLE(reentrant,
1364aae38d10SBaptiste Daroussin	[  --enable-reentrant      compile with reentrant code],
1365aae38d10SBaptiste Daroussin	[with_reentrant=$enableval],
1366aae38d10SBaptiste Daroussin	[with_reentrant=no])
1367aae38d10SBaptiste DaroussinAC_MSG_RESULT($with_reentrant)
1368aae38d10SBaptiste Daroussinif test "x$with_reentrant" = xyes ; then
1369aae38d10SBaptiste Daroussin	cf_cv_enable_reentrant=1
1370aae38d10SBaptiste Daroussin	cf_cv_enable_opaque="NCURSES_INTERNALS"
1371aae38d10SBaptiste Daroussin	NCURSES_SIZE_T=int
1372aae38d10SBaptiste Daroussin	if test "x$cf_cv_weak_symbols" = xyes ; then
1373aae38d10SBaptiste Daroussin		CF_REMOVE_LIB(LIBS,$LIBS,pthread)
1374aae38d10SBaptiste Daroussin		CF_ADD_LIB(pthread,TEST_LIBS)
1375aae38d10SBaptiste Daroussin		CF_ADD_LIB(pthread,TEST_LIBS2)
1376aae38d10SBaptiste Daroussin		CF_ADD_LIB(pthread,PRIVATE_LIBS)
1377aae38d10SBaptiste Daroussin	else
1378aae38d10SBaptiste Daroussin		# when not using weak symbols but with_reentrant,
1379aae38d10SBaptiste Daroussin		# add 't' to the library suffix on all platforms
1380aae38d10SBaptiste Daroussin		# except cygwin, where we only do that if ALSO
1381aae38d10SBaptiste Daroussin		# compiling with full thread support.
1382aae38d10SBaptiste Daroussin		case "$host" in
1383aae38d10SBaptiste Daroussin		(*cygwin* | *msys*)
1384aae38d10SBaptiste Daroussin			if test "$with_pthread" = "yes" ; then
1385aae38d10SBaptiste Daroussin				if test "x$disable_lib_suffixes" = "xno" ; then
1386aae38d10SBaptiste Daroussin					LIB_SUFFIX="t${LIB_SUFFIX}"
1387aae38d10SBaptiste Daroussin				fi
1388aae38d10SBaptiste Daroussin			fi ;;
1389aae38d10SBaptiste Daroussin		(*)
1390aae38d10SBaptiste Daroussin			if test "x$disable_lib_suffixes" = "xno" ; then
1391aae38d10SBaptiste Daroussin				LIB_SUFFIX="t${LIB_SUFFIX}"
1392aae38d10SBaptiste Daroussin			fi
1393aae38d10SBaptiste Daroussin			;;
1394aae38d10SBaptiste Daroussin		esac
1395aae38d10SBaptiste Daroussin	fi
1396aae38d10SBaptiste Daroussin	AC_DEFINE(USE_REENTRANT,1,[Define to 1 to use reentrant feature])
1397aae38d10SBaptiste Daroussin	CF_NCURSES_ABI_6
1398aae38d10SBaptiste Daroussinelse
1399aae38d10SBaptiste Daroussin	cf_cv_enable_reentrant=0
1400aae38d10SBaptiste Daroussin	cf_cv_enable_opaque="NCURSES_OPAQUE"
1401*21817992SBaptiste Daroussin	NCURSES_SIZE_T=$cf_dft_ordinate_type
1402aae38d10SBaptiste Daroussinfi
1403aae38d10SBaptiste DaroussinAC_SUBST(cf_cv_enable_reentrant)
1404aae38d10SBaptiste DaroussinAC_SUBST(cf_cv_enable_opaque)
1405aae38d10SBaptiste Daroussin
1406aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_SIZE_T)
1407aae38d10SBaptiste Daroussin
1408*21817992SBaptiste DaroussinAC_MSG_CHECKING(whether curses library structures should be opaque)
1409*21817992SBaptiste DaroussinCF_ARG_DISABLE(opaque-curses,
1410*21817992SBaptiste Daroussin	[  --disable-opaque-curses do not make WINDOW, etc., structures opaque],
1411*21817992SBaptiste Daroussin	[enable_opaque_curses=no],[
1412aae38d10SBaptiste Daroussin	 test "$cf_cv_enable_reentrant" = 1 && enable_opaque_curses=yes
1413*21817992SBaptiste Daroussin	 test "$cf_cv_enable_reentrant" = 1 || enable_opaque_curses=$cf_dft_opaque_curses
1414aae38d10SBaptiste Daroussin	])
1415aae38d10SBaptiste DaroussinAC_MSG_RESULT($enable_opaque_curses)
1416aae38d10SBaptiste Daroussin
1417aae38d10SBaptiste Daroussintest "$cf_cv_enable_reentrant" = 1 && \
1418aae38d10SBaptiste Daroussintest "$enable_opaque_curses" = no && \
1419aae38d10SBaptiste DaroussinAC_MSG_ERROR(reentrant configuration requires opaque library)
1420aae38d10SBaptiste Daroussin
1421*21817992SBaptiste DaroussinAC_MSG_CHECKING(whether form library structures should be opaque)
1422*21817992SBaptiste DaroussinCF_ARG_DISABLE(opaque-form,
1423*21817992SBaptiste Daroussin	[  --disable-opaque-form   do not make form library structures opaque],
1424*21817992SBaptiste Daroussin	[enable_opaque_form=no],[enable_opaque_form=$cf_dft_opaque_curses])
1425aae38d10SBaptiste DaroussinAC_MSG_RESULT($enable_opaque_form)
1426aae38d10SBaptiste Daroussin
1427*21817992SBaptiste DaroussinAC_MSG_CHECKING(whether menu library structures should be opaque)
1428*21817992SBaptiste DaroussinCF_ARG_DISABLE(opaque-menu,
1429*21817992SBaptiste Daroussin	[  --disable-opaque-menu   do not make menu library structures opaque],
1430*21817992SBaptiste Daroussin	[enable_opaque_menu=no],[enable_opaque_menu=$cf_dft_opaque_curses])
1431aae38d10SBaptiste DaroussinAC_MSG_RESULT($enable_opaque_menu)
1432aae38d10SBaptiste Daroussin
1433*21817992SBaptiste DaroussinAC_MSG_CHECKING(whether panel library structures should be opaque)
1434*21817992SBaptiste DaroussinCF_ARG_DISABLE(opaque-panel,
1435*21817992SBaptiste Daroussin	[  --disable-opaque-panel  do not make panel library structures opaque],
1436*21817992SBaptiste Daroussin	[enable_opaque_panel=no],[enable_opaque_panel=$cf_dft_opaque_curses])
1437aae38d10SBaptiste DaroussinAC_MSG_RESULT($enable_opaque_panel)
1438aae38d10SBaptiste Daroussin
1439aae38d10SBaptiste DaroussinNCURSES_OPAQUE=0;		test "$enable_opaque_curses" = yes && NCURSES_OPAQUE=1
1440aae38d10SBaptiste DaroussinNCURSES_OPAQUE_FORM=0;	test "$enable_opaque_form"   = yes && NCURSES_OPAQUE_FORM=1
1441aae38d10SBaptiste DaroussinNCURSES_OPAQUE_MENU=0;	test "$enable_opaque_menu"   = yes && NCURSES_OPAQUE_MENU=1
1442aae38d10SBaptiste DaroussinNCURSES_OPAQUE_PANEL=0;	test "$enable_opaque_panel"  = yes && NCURSES_OPAQUE_PANEL=1
1443aae38d10SBaptiste Daroussin
1444aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_OPAQUE)
1445aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_OPAQUE_FORM)
1446aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_OPAQUE_MENU)
1447aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_OPAQUE_PANEL)
1448aae38d10SBaptiste Daroussin
1449aae38d10SBaptiste Daroussin### Allow using a different wrap-prefix
1450aae38d10SBaptiste Daroussinif test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
1451aae38d10SBaptiste Daroussin	AC_MSG_CHECKING(for prefix used to wrap public variables)
1452aae38d10SBaptiste Daroussin	AC_ARG_WITH(wrap-prefix,
1453aae38d10SBaptiste Daroussin		[  --with-wrap-prefix=XXX  override prefix used for public variables],
1454aae38d10SBaptiste Daroussin		[NCURSES_WRAP_PREFIX=$withval],
1455aae38d10SBaptiste Daroussin		[NCURSES_WRAP_PREFIX=_nc_])
1456aae38d10SBaptiste Daroussin	AC_MSG_RESULT($NCURSES_WRAP_PREFIX)
1457aae38d10SBaptiste Daroussinelse
1458aae38d10SBaptiste Daroussin	NCURSES_WRAP_PREFIX=_nc_
1459aae38d10SBaptiste Daroussinfi
1460aae38d10SBaptiste DaroussinAC_SUBST(NCURSES_WRAP_PREFIX)
1461aae38d10SBaptiste DaroussinAC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ prefix])
1462aae38d10SBaptiste Daroussin
14630e3d5408SPeter Wemm###############################################################################
146418259542SPeter Wemm# These options are relatively safe to experiment with.
146518259542SPeter WemmCF_HELP_MESSAGE(Development Code:)
146618259542SPeter WemmAC_MSG_CHECKING(if you want all development code)
14670e3d5408SPeter WemmAC_ARG_WITH(develop,
14684a1a9510SRong-En Fan	[  --without-develop       disable development options],
14690e3d5408SPeter Wemm	[with_develop=$withval],
14700e3d5408SPeter Wemm	[with_develop=no])
14710e3d5408SPeter WemmAC_MSG_RESULT($with_develop)
14720e3d5408SPeter Wemm
1473*21817992SBaptiste Daroussin###   use option --enable-check-size to detect screensize with CPR
1474*21817992SBaptiste DaroussinAC_MSG_CHECKING(if you want to check screensize of serial terminals)
1475*21817992SBaptiste DaroussinAC_ARG_ENABLE(check-size,
1476*21817992SBaptiste Daroussin	[  --enable-check-size     compile-in code to detect screensize of serial terminals],,
1477*21817992SBaptiste Daroussin	[enable_check_size=$with_develop])
1478*21817992SBaptiste DaroussinAC_MSG_RESULT($enable_check_size)
1479*21817992SBaptiste Daroussintest "x$enable_check_size" = xyes && AC_DEFINE(USE_CHECK_SIZE,1,[Define to 1 to compile-in code to detect screensize])
1480*21817992SBaptiste Daroussin
14810e3d5408SPeter Wemm###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
148218259542SPeter WemmAC_MSG_CHECKING(if you want hard-tabs code)
14830e3d5408SPeter WemmAC_ARG_ENABLE(hard-tabs,
14844a1a9510SRong-En Fan	[  --enable-hard-tabs      compile with hard-tabs code],,
14854a1a9510SRong-En Fan	[enable_hard_tabs=$with_develop])
14864a1a9510SRong-En FanAC_MSG_RESULT($enable_hard_tabs)
148773f0a83dSXin LItest "x$enable_hard_tabs" = xyes && AC_DEFINE(USE_HARD_TABS,1,[Define to 1 to compile with hard-tabs code])
148818259542SPeter Wemm
148918259542SPeter Wemm###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
149018259542SPeter WemmAC_MSG_CHECKING(if you want limited support for xmc)
149118259542SPeter WemmAC_ARG_ENABLE(xmc-glitch,
14924a1a9510SRong-En Fan	[  --enable-xmc-glitch     compile with support for xmc (magic-cookie)],,
14934a1a9510SRong-En Fan	[enable_xmc_glitch=$with_develop])
14944a1a9510SRong-En FanAC_MSG_RESULT($enable_xmc_glitch)
149573f0a83dSXin LItest "x$enable_xmc_glitch" = xyes && AC_DEFINE(USE_XMC_SUPPORT,1,[Define to 1 to compile with support for xmc (magic-cookie)])
149618259542SPeter Wemm
149718259542SPeter Wemm###############################################################################
149818259542SPeter Wemm# These are just experimental, probably should not be in a package:
149918259542SPeter WemmCF_HELP_MESSAGE(Experimental Code:)
150018259542SPeter Wemm
150118259542SPeter WemmAC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
150218259542SPeter WemmAC_ARG_ENABLE(assumed-color,
150318259542SPeter Wemm	[  --disable-assumed-color do not assume anything about default-colors],
150418259542SPeter Wemm	[with_assumed_color=$enableval],
150518259542SPeter Wemm	[with_assumed_color=yes])
150618259542SPeter WemmAC_MSG_RESULT($with_assumed_color)
150773f0a83dSXin LItest "x$with_assumed_color" = xyes && AC_DEFINE(USE_ASSUMED_COLOR,1,[Define to 1 to assume things about default-colors])
150818259542SPeter Wemm
150918259542SPeter Wemm###   use option --enable-hashmap to turn on use of hashmap scrolling logic
151018259542SPeter WemmAC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
151118259542SPeter WemmAC_ARG_ENABLE(hashmap,
151218259542SPeter Wemm	[  --disable-hashmap       compile without hashmap scrolling-optimization],
151318259542SPeter Wemm	[with_hashmap=$enableval],
151418259542SPeter Wemm	[with_hashmap=yes])
151518259542SPeter WemmAC_MSG_RESULT($with_hashmap)
151673f0a83dSXin LItest "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP,1,[Define to 1 to compile with hashmap scrolling-optimization])
151718259542SPeter Wemm
1518b82face1SPeter Wemm###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
1519b82face1SPeter WemmAC_MSG_CHECKING(if you want colorfgbg code)
1520b82face1SPeter WemmAC_ARG_ENABLE(colorfgbg,
152106bfebdeSXin LI	[  --enable-colorfgbg      compile-in experimental $COLORFGBG code],
1522b82face1SPeter Wemm	[with_colorfgbg=$enableval],
1523b82face1SPeter Wemm	[with_colorfgbg=no])
1524b82face1SPeter WemmAC_MSG_RESULT($with_colorfgbg)
152573f0a83dSXin LItest "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code])
1526b82face1SPeter Wemm
15277a656419SBaptiste Daroussin###   use option --enable-fvisibility to turn on use of gcc-specific feature
15287a656419SBaptiste DaroussinAC_MSG_CHECKING(if you want to use gcc -fvisibility option)
15297a656419SBaptiste DaroussinAC_ARG_ENABLE(fvisibility,
15307a656419SBaptiste Daroussin	[  --enable-fvisibility    compile with -fvisibility=hidden],
15317a656419SBaptiste Daroussin	[cf_with_fvisibility=$enableval],
15327a656419SBaptiste Daroussin	[cf_with_fvisibility=no])
15337a656419SBaptiste DaroussinAC_MSG_RESULT($cf_with_fvisibility)
15347a656419SBaptiste Daroussin
15357a656419SBaptiste DaroussinNCURSES_IMPEXP=
15367a656419SBaptiste DaroussinNCURSES_CXX_IMPEXP=
15377a656419SBaptiste Daroussinif test "x$cf_with_fvisibility" = xyes; then
15387a656419SBaptiste Daroussin	CF_CHECK_FVISIBILITY($CC,CFLAGS,cf_cv_fvisibility_hidden)
15397a656419SBaptiste Daroussin	if test "x$cf_cv_fvisibility_hidden" = xyes
15407a656419SBaptiste Daroussin	then
15417a656419SBaptiste Daroussin		CF_ADD_CFLAGS([-fvisibility=hidden])
15427a656419SBaptiste Daroussin		NCURSES_IMPEXP="__attribute__ ((visibility(\"default\")))"
15437a656419SBaptiste Daroussin	fi
15447a656419SBaptiste Daroussin	if test -n "$CXX"
15457a656419SBaptiste Daroussin	then
15467a656419SBaptiste Daroussin		AC_LANG_PUSH(C++)
15477a656419SBaptiste Daroussin		CF_CHECK_FVISIBILITY($CXX,CXXFLAGS,cf_cv_fvisibility_hidden2)
15487a656419SBaptiste Daroussin		if test "x$cf_cv_fvisibility_hidden2" = xyes
15497a656419SBaptiste Daroussin		then
15507a656419SBaptiste Daroussin			CF_ADD_CXXFLAGS([-fvisibility=hidden])
15517a656419SBaptiste Daroussin			NCURSES_CXX_IMPEXP="__attribute__ ((visibility(\"default\")))"
15527a656419SBaptiste Daroussin		fi
15537a656419SBaptiste Daroussin		AC_LANG_POP
15547a656419SBaptiste Daroussin	fi
15557a656419SBaptiste Daroussinfi
15567a656419SBaptiste DaroussinAC_SUBST(NCURSES_IMPEXP)
15577a656419SBaptiste DaroussinAC_SUBST(NCURSES_CXX_IMPEXP)
15587a656419SBaptiste Daroussin
155906bfebdeSXin LI###   use option --enable-interop to turn on use of bindings used for interop
156006bfebdeSXin LIAC_MSG_CHECKING(if you want interop bindings)
156106bfebdeSXin LIAC_ARG_ENABLE(interop,
1562aae38d10SBaptiste Daroussin	[  --enable-interop        compile-in interop bindings],
156306bfebdeSXin LI	[with_exp_interop=$enableval],
1564aae38d10SBaptiste Daroussin	[with_exp_interop=$cf_dft_interop])
156506bfebdeSXin LIAC_MSG_RESULT($with_exp_interop)
156606bfebdeSXin LI
156706bfebdeSXin LINCURSES_INTEROP_FUNCS=0
156873f0a83dSXin LItest "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
156906bfebdeSXin LIAC_SUBST(NCURSES_INTEROP_FUNCS)
157006bfebdeSXin LI
157106bfebdeSXin LI
15720e3d5408SPeter WemmAC_MSG_CHECKING(if you want experimental safe-sprintf code)
15730e3d5408SPeter WemmAC_ARG_ENABLE(safe-sprintf,
15740e3d5408SPeter Wemm	[  --enable-safe-sprintf   compile with experimental safe-sprintf code],
15750e3d5408SPeter Wemm	[with_safe_sprintf=$enableval],
15760e3d5408SPeter Wemm	[with_safe_sprintf=no])
15770e3d5408SPeter WemmAC_MSG_RESULT($with_safe_sprintf)
15780e3d5408SPeter Wemm
15790e3d5408SPeter Wemm###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
158015589c42SPeter Wemm# when hashmap is used scroll hints are useless
158115589c42SPeter Wemmif test "$with_hashmap" = no ; then
15820e3d5408SPeter WemmAC_MSG_CHECKING(if you want to experiment without scrolling-hints code)
15830e3d5408SPeter WemmAC_ARG_ENABLE(scroll-hints,
158415589c42SPeter Wemm	[  --disable-scroll-hints  compile without scroll-hints code],
15850e3d5408SPeter Wemm	[with_scroll_hints=$enableval],
158615589c42SPeter Wemm	[with_scroll_hints=yes])
15870e3d5408SPeter WemmAC_MSG_RESULT($with_scroll_hints)
158873f0a83dSXin LItest "x$with_scroll_hints" = xyes && AC_DEFINE(USE_SCROLL_HINTS,1,[Define to 1 to compile without scroll-hints code])
158915589c42SPeter Wemmfi
15900e3d5408SPeter Wemm
1591aae38d10SBaptiste DaroussinAC_MSG_CHECKING(if you want wgetch-events code)
15924a1a9510SRong-En FanAC_ARG_ENABLE(wgetch-events,
1593aae38d10SBaptiste Daroussin	[  --enable-wgetch-events  compile with wgetch-events code],
15944a1a9510SRong-En Fan	[with_wgetch_events=$enableval],
15954a1a9510SRong-En Fan	[with_wgetch_events=no])
15964a1a9510SRong-En FanAC_MSG_RESULT($with_wgetch_events)
15977a656419SBaptiste Daroussinif test "x$with_wgetch_events" = xyes ; then
15987a656419SBaptiste Daroussin	AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with wgetch-events code])
15997a656419SBaptiste Daroussin	NCURSES_WGETCH_EVENTS=1
16007a656419SBaptiste Daroussinelse
16017a656419SBaptiste Daroussin	NCURSES_WGETCH_EVENTS=0
16027a656419SBaptiste Daroussinfi
16037a656419SBaptiste DaroussinAC_SUBST(NCURSES_WGETCH_EVENTS)
16047a656419SBaptiste Daroussin
16057a656419SBaptiste Daroussincase "$cf_cv_system_name" in
16067a656419SBaptiste Daroussin(*mingw32*|*mingw64*|*-msvc*)
16077a656419SBaptiste Daroussin	AC_MSG_CHECKING(if you want experimental-Windows driver)
16087a656419SBaptiste Daroussin	AC_ARG_ENABLE(exp-win32,
16097a656419SBaptiste Daroussin		[  --enable-exp-win32      compile with experimental-Windows driver],
16107a656419SBaptiste Daroussin		[with_exp_win32=$enableval],
16117a656419SBaptiste Daroussin		[with_exp_win32=no])
16127a656419SBaptiste Daroussin	AC_MSG_RESULT($with_exp_win32)
16137a656419SBaptiste Daroussin	if test "x$with_exp_win32" = xyes
16147a656419SBaptiste Daroussin	then
16157a656419SBaptiste Daroussin		AC_DEFINE(EXP_WIN32_DRIVER,1,[Define to 1 to compile with experimental win32 driver])
16167a656419SBaptiste Daroussin		EXP_WIN32_DRIVER=1
16177a656419SBaptiste Daroussin		INTERNALS_HDR='[$](INCDIR)/nc_win32.h'
16187a656419SBaptiste Daroussin	else
16197a656419SBaptiste Daroussin		INTERNALS_HDR='[$](INCDIR)/nc_mingw.h'
16207a656419SBaptiste Daroussin		EXP_WIN32_DRIVER=0
16217a656419SBaptiste Daroussin	fi
16227a656419SBaptiste Daroussin	;;
16237a656419SBaptiste Daroussin(*)
16247a656419SBaptiste Daroussin	EXP_WIN32_DRIVER=0
16257a656419SBaptiste Daroussin	INTERNALS_HDR=
16267a656419SBaptiste Daroussin	;;
16277a656419SBaptiste Daroussinesac
16287a656419SBaptiste DaroussinAC_SUBST(EXP_WIN32_DRIVER)
16297a656419SBaptiste DaroussinAC_SUBST(INTERNALS_HDR)
16300e3d5408SPeter Wemm
16310e3d5408SPeter Wemm###############################################################################
16320e3d5408SPeter WemmCF_HELP_MESSAGE(Testing/development Options:)
16330e3d5408SPeter Wemm
16340e3d5408SPeter Wemm###	use option --disable-echo to suppress full display compiling commands
163573f0a83dSXin LICF_DISABLE_ECHO
163673f0a83dSXin LIif test "x$enable_echo" = xyes; then
16370e3d5408SPeter Wemm	ECHO_LINK=
16380e3d5408SPeter Wemmelse
16390e3d5408SPeter Wemm	ECHO_LINK='@ echo linking $@ ... ;'
16407a69bbfbSPeter Wemm	test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
16415ca44d1cSRong-En Fan	test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
16420e3d5408SPeter Wemmfi
16430e3d5408SPeter WemmAC_SUBST(ECHO_LINK)
16440e3d5408SPeter Wemm
1645aae38d10SBaptiste Daroussin# --disable-stripping is used for debugging
1646aae38d10SBaptiste DaroussinCF_INSTALL_OPTS
1647aae38d10SBaptiste Daroussin
1648aae38d10SBaptiste Daroussin# If we're avoiding relinking of shared libraries during install, that is to
1649aae38d10SBaptiste Daroussin# avoid modifying the build-tree.  For the same reason, avoid doing ranlib if
1650aae38d10SBaptiste Daroussin# the install program has "-p" (for preserving timestamps).
1651aae38d10SBaptiste Daroussincf_cv_do_reranlib=yes
1652aae38d10SBaptiste Daroussinif test "x$cf_cv_install_p" = xyes
1653aae38d10SBaptiste Daroussinthen
1654aae38d10SBaptiste Daroussin	if test "x$cf_cv_do_relink" != xyes
1655aae38d10SBaptiste Daroussin	then
1656aae38d10SBaptiste Daroussin		cf_cv_do_reranlib=no
1657aae38d10SBaptiste Daroussin		INSTALL_OPT_P="-p"
1658aae38d10SBaptiste Daroussin		INSTALL_LIB="$INSTALL_LIB $INSTALL_OPT_P"
1659aae38d10SBaptiste Daroussin	fi
1660aae38d10SBaptiste Daroussinfi
1661aae38d10SBaptiste DaroussinAC_SUBST(INSTALL_OPT_P)
1662aae38d10SBaptiste Daroussin
16630e3d5408SPeter Wemm###	use option --enable-warnings to turn on all gcc warnings
16647a656419SBaptiste DaroussinCF_ENABLE_WARNINGS(Wno-unknown-pragmas Wswitch-enum,yes)
16657a69bbfbSPeter Wemm
16667a656419SBaptiste Daroussinif test "x$enable_warnings" = "xyes"; then
1667*21817992SBaptiste Daroussin 	CF_ADD_ADAFLAGS(-gnatwa -gnatyg)
166873f0a83dSXin LI	if test "x$cf_with_cxx" = xyes ; then
16694a1a9510SRong-En Fan		CF_GXX_WARNINGS(Wno-unused)
16704a1a9510SRong-En Fan	fi
16710e3d5408SPeter Wemmfi
167273f0a83dSXin LICF_ENABLE_STRING_HACKS
16730e3d5408SPeter Wemm
16740e3d5408SPeter Wemm###	use option --enable-assertions to turn on generation of assertion code
167518259542SPeter WemmAC_MSG_CHECKING(if you want to enable runtime assertions)
16760e3d5408SPeter WemmAC_ARG_ENABLE(assertions,
16770e3d5408SPeter Wemm	[  --enable-assertions     test: turn on generation of assertion code],
16780e3d5408SPeter Wemm	[with_assertions=$enableval],
16790e3d5408SPeter Wemm	[with_assertions=no])
168018259542SPeter WemmAC_MSG_RESULT($with_assertions)
16810e3d5408SPeter Wemmif test -n "$GCC"
16820e3d5408SPeter Wemmthen
168318259542SPeter Wemm	if test "$with_assertions" = no
16840e3d5408SPeter Wemm	then
16850e3d5408SPeter Wemm		CPPFLAGS="$CPPFLAGS -DNDEBUG"
16860e3d5408SPeter Wemm	else
168706bfebdeSXin LI		CF_ADD_ADAFLAGS(-gnata)
16880e3d5408SPeter Wemm	fi
16890e3d5408SPeter Wemmfi
16900e3d5408SPeter Wemm
16910e3d5408SPeter Wemm###	use option --disable-leaks to suppress "permanent" leaks, for testing
16924a1a9510SRong-En FanCF_DISABLE_LEAKS
169373f0a83dSXin LIAC_DEFINE(HAVE_NC_ALLOC_H,1,[Define to 1 if we have nc_alloc.h header])
16940e3d5408SPeter Wemm
16950e3d5408SPeter Wemm###	use option --enable-expanded to generate certain macros as functions
16960e3d5408SPeter WemmAC_ARG_ENABLE(expanded,
16970e3d5408SPeter Wemm	[  --enable-expanded       test: generate functions for certain macros],
169873f0a83dSXin LI	[test "x$enableval" = xyes && AC_DEFINE(NCURSES_EXPANDED,1,[Define to 1 to generate functions for certain macros])])
16990e3d5408SPeter Wemm
17000e3d5408SPeter Wemm###	use option --disable-macros to suppress macros in favor of functions
17010e3d5408SPeter WemmAC_ARG_ENABLE(macros,
17020e3d5408SPeter Wemm	[  --disable-macros        test: use functions rather than macros],
170373f0a83dSXin LI	[test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS,1,[Define to 1 to use functions rather than macros])])
17040e3d5408SPeter Wemm
17054a1a9510SRong-En Fan# Normally we only add trace() to the debug-library.  Allow this to be
17064a1a9510SRong-En Fan# extended to all models of the ncurses library:
17074a1a9510SRong-En Fancf_all_traces=no
17084a1a9510SRong-En Fancase "$CFLAGS $CPPFLAGS" in
1709aae38d10SBaptiste Daroussin(*-DTRACE*)
17104a1a9510SRong-En Fan	cf_all_traces=yes
17114a1a9510SRong-En Fan	;;
17124a1a9510SRong-En Fanesac
17134a1a9510SRong-En Fan
17144a1a9510SRong-En FanAC_MSG_CHECKING(whether to add trace feature to all models)
17154a1a9510SRong-En FanAC_ARG_WITH(trace,
17164a1a9510SRong-En Fan[  --with-trace            test: add trace() function to all models of ncurses],
17174a1a9510SRong-En Fan[cf_with_trace=$withval],
17184a1a9510SRong-En Fan[cf_with_trace=$cf_all_traces])
17194a1a9510SRong-En FanAC_MSG_RESULT($cf_with_trace)
17204a1a9510SRong-En Fan
172173f0a83dSXin LIif test "x$cf_with_trace" = xyes ; then
17224a1a9510SRong-En Fan	LIB_TRACING=all
17234a1a9510SRong-En Fan	ADA_TRACE=TRUE
17244a1a9510SRong-En Fan	CF_ADD_CFLAGS(-DTRACE)
1725aae38d10SBaptiste Daroussin	AC_DEFINE(HAVE__TRACEF,1,[Define to 1 if we have _tracef function])
17264a1a9510SRong-En Fanelse
17274a1a9510SRong-En Fan	LIB_TRACING=DEBUG
17284a1a9510SRong-En Fan	ADA_TRACE=FALSE
17294a1a9510SRong-En Fanfi
17304a1a9510SRong-En Fan
17314a1a9510SRong-En FanAC_SUBST(ADA_TRACE)
17324a1a9510SRong-En Fan
1733aae38d10SBaptiste DaroussinCF_DISABLE_GNAT_PROJECTS
1734aae38d10SBaptiste Daroussin
17350e3d5408SPeter Wemm###	Checks for libraries.
17367a656419SBaptiste Daroussincase "$cf_cv_system_name" in
1737aae38d10SBaptiste Daroussin(*mingw32*|*mingw64*)
1738*21817992SBaptiste Daroussin	# Note: WINVER may be a problem with Windows 10
17397a656419SBaptiste Daroussin	if test "x$with_exp_win32" = xyes ; then
17407a656419SBaptiste Daroussin		CPPFLAGS="$CPPFLAGS -DWINVER=0x0600 -DWIN32_LEAN_AND_MEAN"
17417a656419SBaptiste Daroussin	else
1742aae38d10SBaptiste Daroussin		CPPFLAGS="$CPPFLAGS -DWINVER=0x0501 -DWIN32_LEAN_AND_MEAN"
17437a656419SBaptiste Daroussin	fi
1744*21817992SBaptiste Daroussin	CF_CHECK_LIBSSP
174506bfebdeSXin LI	;;
1746aae38d10SBaptiste Daroussin(*)
174706bfebdeSXin LI	;;
174806bfebdeSXin LIesac
17490e3d5408SPeter Wemm
175073f0a83dSXin LICF_MATH_LIB(MATH_LIB,pow(sin(x),x))
17510e3d5408SPeter WemmAC_SUBST(MATH_LIB)
17520e3d5408SPeter Wemm
17530e3d5408SPeter Wemm###	Checks for header files.
175439f2269fSPeter WemmAC_HEADER_TIME
17550e3d5408SPeter WemmCF_REGEX
17560e3d5408SPeter Wemm
17570e3d5408SPeter Wemmdnl These are some other potentially nonportable headers.
17580e3d5408SPeter WemmAC_CHECK_HEADERS( \
17590e3d5408SPeter Wemmfcntl.h \
17600e3d5408SPeter Wemmgetopt.h \
17610e3d5408SPeter Wemmlimits.h \
17620e3d5408SPeter Wemmlocale.h \
176306bfebdeSXin LImath.h \
176415589c42SPeter Wemmpoll.h \
1765*21817992SBaptiste Daroussinsys/auxv.h \
17660e3d5408SPeter Wemmsys/ioctl.h \
17670e3d5408SPeter Wemmsys/param.h \
176815589c42SPeter Wemmsys/poll.h \
17690e3d5408SPeter Wemmsys/select.h \
17700e3d5408SPeter Wemmsys/time.h \
17710e3d5408SPeter Wemmsys/times.h \
17720e3d5408SPeter Wemmunistd.h \
17734a1a9510SRong-En Fanwctype.h \
17740e3d5408SPeter Wemm)
17750e3d5408SPeter Wemm
177673f0a83dSXin LICF_GETOPT_HEADER
177773f0a83dSXin LI
1778aae38d10SBaptiste DaroussinCF_CHECK_ENVIRON(environ)
1779aae38d10SBaptiste DaroussinCF_CHECK_GETENV
1780aae38d10SBaptiste Daroussinif test "x$cf_cv_consistent_getenv" = xno && \
1781aae38d10SBaptiste Daroussin	test "x$cf_with_trace" = xyes
1782aae38d10SBaptiste Daroussinthen
1783aae38d10SBaptiste Daroussin	AC_MSG_WARN(The NCURSES_TRACE environment variable is not supported with this configuration)
1784aae38d10SBaptiste Daroussinfi
1785aae38d10SBaptiste Daroussin
17860e3d5408SPeter WemmCF_SYS_TIME_SELECT
17870e3d5408SPeter Wemm
17880e3d5408SPeter Wemm###	checks for compiler characteristics
17890e3d5408SPeter WemmAC_LANG_C
17900e3d5408SPeter WemmAC_C_CONST
17915ca44d1cSRong-En FanCF_C_INLINE(NCURSES_INLINE,1200)
17925ca44d1cSRong-En FanCF_SIG_ATOMIC_T
17934a1a9510SRong-En Fan
17947a656419SBaptiste Daroussinif test "$NCURSES_CHTYPE" = auto ; then
17950e3d5408SPeter Wemm	CF_TYPEOF_CHTYPE
17964a1a9510SRong-En Fanelse
17974a1a9510SRong-En Fan	cf_cv_typeof_chtype=$NCURSES_CHTYPE
17984a1a9510SRong-En Fanfi
17995ca44d1cSRong-En Fantest "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
18004a1a9510SRong-En FanAC_SUBST(cf_cv_typeof_chtype)
18014a1a9510SRong-En Fan
18024a1a9510SRong-En FanCF_UNSIGNED_LITERALS
18034a1a9510SRong-En Fancf_cv_1UL="1"
18045ca44d1cSRong-En Fantest ".$cf_cv_unsigned_literals" = .yes && cf_cv_1UL="${cf_cv_1UL}U"
18055ca44d1cSRong-En Fantest ".$cf_cv_typeof_chtype"    = .long && cf_cv_1UL="${cf_cv_1UL}L"
18064a1a9510SRong-En FanAC_SUBST(cf_cv_1UL)
18074a1a9510SRong-En Fan
18087a656419SBaptiste Daroussinif test "$NCURSES_MMASK_T" = auto ; then
18094a1a9510SRong-En Fan	cf_cv_typeof_mmask_t=long
18104a1a9510SRong-En Fanelse
18114a1a9510SRong-En Fan	cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
18124a1a9510SRong-En Fanfi
18135ca44d1cSRong-En Fantest "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t=""
18144a1a9510SRong-En FanAC_SUBST(cf_cv_typeof_mmask_t)
18150e3d5408SPeter Wemm
18160e3d5408SPeter Wemm###	Checks for external-data
18170e3d5408SPeter WemmCF_ERRNO
18180e3d5408SPeter WemmCF_LINK_DATAONLY
18190e3d5408SPeter Wemm
18200e3d5408SPeter Wemm###	Checks for library functions.
1821*21817992SBaptiste DaroussinCF_FUNC_GETTIME
182215589c42SPeter WemmAC_CHECK_FUNCS( \
1823*21817992SBaptiste Daroussinfpathconf \
182415589c42SPeter Wemmgetcwd \
1825*21817992SBaptiste Daroussingetauxval \
182618259542SPeter Wemmgetegid \
182718259542SPeter Wemmgeteuid \
1828aae38d10SBaptiste Daroussingetopt \
1829*21817992SBaptiste Daroussingetuid \
183018259542SPeter Wemmissetugid \
1831aae38d10SBaptiste Daroussinlocaleconv \
18320e3d5408SPeter Wemmpoll \
18330e3d5408SPeter Wemmremove \
18340e3d5408SPeter Wemmselect \
18350e3d5408SPeter Wemmsetbuf \
18360e3d5408SPeter Wemmsetbuffer \
1837*21817992SBaptiste Daroussinsetfsuid \
18380e3d5408SPeter Wemmsetvbuf \
18390e3d5408SPeter Wemmsigaction \
18400e3d5408SPeter Wemmsigvec \
18417a656419SBaptiste Daroussinsnprintf \
18420e3d5408SPeter Wemmstrdup \
18430e3d5408SPeter Wemmstrstr \
1844aae38d10SBaptiste Daroussinsysconf \
18450e3d5408SPeter Wemmtcgetpgrp \
18460e3d5408SPeter Wemmtimes \
1847aae38d10SBaptiste Daroussintsearch \
18480e3d5408SPeter Wemmvsnprintf \
18490e3d5408SPeter Wemm)
1850aae38d10SBaptiste Daroussin
1851*21817992SBaptiste DaroussinCF_FUNC_GETTTYNAM
1852*21817992SBaptiste Daroussin
1853aae38d10SBaptiste Daroussinif test "x$ac_cv_func_getopt" = xno && \
1854aae38d10SBaptiste Daroussin   test "x$cf_with_progs$cf_with_tests" != xnono; then
1855aae38d10SBaptiste Daroussin	AC_MSG_ERROR(getopt is required for building programs)
1856aae38d10SBaptiste Daroussinfi
1857aae38d10SBaptiste Daroussin
1858aae38d10SBaptiste Daroussinif test "x$with_safe_sprintf" = xyes
1859aae38d10SBaptiste Daroussinthen
1860aae38d10SBaptiste Daroussin	if test "x$ac_cv_func_vsnprintf" = xyes
1861aae38d10SBaptiste Daroussin	then
1862aae38d10SBaptiste Daroussin		AC_MSG_WARN(will use vsnprintf instead of safe-sprintf option)
1863aae38d10SBaptiste Daroussin	else
1864aae38d10SBaptiste Daroussin		AC_DEFINE(USE_SAFE_SPRINTF,1,[Define to 1 to compile with experimental safe-sprintf code])
1865aae38d10SBaptiste Daroussin	fi
1866aae38d10SBaptiste Daroussinfi
1867aae38d10SBaptiste Daroussin
186873f0a83dSXin LIif test "x$with_getcap" = "xyes" ; then
18690e3d5408SPeter Wemm	CF_CGETENT
18700e3d5408SPeter Wemmfi
18710e3d5408SPeter Wemm
18720e3d5408SPeter WemmCF_ISASCII
18730e3d5408SPeter WemmCF_STRUCT_SIGACTION
18744a1a9510SRong-En FanCF_FUNC_NANOSLEEP
187518259542SPeter WemmCF_FUNC_TERMIOS
187639f2269fSPeter WemmCF_FUNC_VSSCANF
187739f2269fSPeter WemmCF_MKSTEMP
187839f2269fSPeter Wemm
187939f2269fSPeter Wemm# setup for prototype of fallback for vsscanf()
18804a1a9510SRong-En FanCF_SUBST_IF(["$cf_cv_func_vsscanf" = vsscanf], HAVE_VSSCANF, 1, 0)
18810e3d5408SPeter Wemm
18820e3d5408SPeter Wemmdnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
188373f0a83dSXin LIif test "x$cross_compiling" = xyes ; then
18840e3d5408SPeter Wemm	AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
18850e3d5408SPeter Wemmelse
18860e3d5408SPeter Wemm	AC_FUNC_SETVBUF_REVERSED
18870e3d5408SPeter Wemmfi
188873f0a83dSXin LIAC_CHECK_TYPE(intptr_t, long)
1889aae38d10SBaptiste DaroussinAC_CHECK_TYPE(ssize_t, int)
18900e3d5408SPeter WemmCF_TYPE_SIGACTION
18910e3d5408SPeter WemmCF_SIZECHANGE
18920e3d5408SPeter WemmCF_FUNC_MEMMOVE
189315589c42SPeter WemmCF_FUNC_POLL
1894*21817992SBaptiste DaroussinCF_MB_LEN_MAX
189506bfebdeSXin LICF_VA_COPY
189606bfebdeSXin LIAC_FUNC_VFORK
1897aae38d10SBaptiste DaroussinCF_FOPEN_BIN_R
18980e3d5408SPeter Wemm
1899aa59d4d4SRong-En Fan# special check for test/ditto.c
1900aa59d4d4SRong-En FanCF_FUNC_OPENPTY
1901aa59d4d4SRong-En Fanif test "$cf_cv_func_openpty" != no ; then
190273f0a83dSXin LI	AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>,[Define to actual header for openpty function])
190373f0a83dSXin LI	AC_DEFINE(USE_XTERM_PTY,1,[Define to 1 if we should assume xterm pseudoterminal interface])
190473f0a83dSXin LI	if test "x$cf_cv_lib_util" = xyes ; then
190506bfebdeSXin LI		CF_ADD_LIB(util,TEST_LIBS)
1906aa59d4d4SRong-En Fan	fi
1907aa59d4d4SRong-En Fanfi
1908aa59d4d4SRong-En FanAC_SUBST(TEST_LIBS)
190906bfebdeSXin LIAC_SUBST(TEST_LIBS2)
1910aa59d4d4SRong-En Fan
19114a1a9510SRong-En Fanif test "$with_hashed_db" != no ; then
191273f0a83dSXin LI	AC_DEFINE(USE_HASHED_DB,1,[Define to 1 if we should build terminfo in hashed database])
19135ca44d1cSRong-En Fan	CF_HASHED_DB($with_hashed_db)
19144a1a9510SRong-En Fanfi
19154a1a9510SRong-En Fan
19160e3d5408SPeter Wemmdnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
19177a656419SBaptiste Daroussinif test -z "$cf_user_CFLAGS" && test "$enable_leaks" = yes ; then
19180e3d5408SPeter Wemm	CF_STRIP_G_OPT(CFLAGS)
19190e3d5408SPeter Wemm	CF_STRIP_G_OPT(CXXFLAGS)
19200e3d5408SPeter Wemmfi
19210e3d5408SPeter Wemm
19224a1a9510SRong-En Fan# Just in case, check if the C compiler has a bool type.
19230e3d5408SPeter WemmCF_BOOL_DECL(cf_cv_cc_bool_type)
19244a1a9510SRong-En Fan
19254a1a9510SRong-En Fan# Check for C++ compiler characteristics (and ensure that it's there!)
19260e3d5408SPeter Wemmif test -n "$CXX" ; then
19270e3d5408SPeter Wemm	AC_LANG_CPLUSPLUS
19281759abf3SPeter Wemm	CF_STDCPP_LIBRARY
1929aae38d10SBaptiste Daroussin	CF_PROG_CC_C_O(CXX,[$CXXFLAGS $CPPFLAGS])
19307a69bbfbSPeter Wemm
19317a656419SBaptiste Daroussin	case "$GXX_VERSION" in
19327a656419SBaptiste Daroussin	(1.*|2.[[0-6]]*|[[1-9]][[0-9]].*)
19330e3d5408SPeter Wemm		cf_cxx_library=yes
19340e3d5408SPeter Wemm		;;
1935aae38d10SBaptiste Daroussin	(*-2.7*|2.7*)
19361759abf3SPeter Wemm		CF_GPP_LIBRARY
19371759abf3SPeter Wemm		;;
1938aae38d10SBaptiste Daroussin	(*)
19391759abf3SPeter Wemm		cf_cxx_library=no
19401759abf3SPeter Wemm		;;
19410e3d5408SPeter Wemm	esac
19427a69bbfbSPeter Wemm
194373f0a83dSXin LI	AC_CHECK_HEADERS(typeinfo)
194473f0a83dSXin LI	CF_CXX_IOSTREAM_NAMESPACE
19450e3d5408SPeter Wemm	CF_BOOL_DECL
19460e3d5408SPeter Wemm	CF_BOOL_SIZE
19470e3d5408SPeter Wemm	CF_ETIP_DEFINES
1948*21817992SBaptiste Daroussin	CF_CPP_OVERRIDE
19491759abf3SPeter Wemm	CF_CPP_PARAM_INIT
19504a1a9510SRong-En Fan	CF_CPP_STATIC_CAST
195173f0a83dSXin LI	CF_CXX_AR_FLAGS
19520e3d5408SPeter Wemmelse
19530e3d5408SPeter Wemm	cf_cxx_library=no
19541759abf3SPeter Wemm	cf_cv_builtin_bool=1
19550e3d5408SPeter Wemm
19560e3d5408SPeter Wemm	# Just because we are not configuring against C++ right now does not
19570e3d5408SPeter Wemm	# mean that a user will not want to use C++.  Some distributors disable
19580e3d5408SPeter Wemm	# the C++ portion of this configuration as a shortcut (or just to avoid
19590e3d5408SPeter Wemm	# compiling the demo in the c++ directory).  So we need a reasonable
19600e3d5408SPeter Wemm	# default for the 'bool' type.
19610e3d5408SPeter Wemm	#
19620e3d5408SPeter Wemm	# Caveat: since the storage of the bool type is not standardized, it
19630e3d5408SPeter Wemm	# may change.
19640e3d5408SPeter Wemm
196539f2269fSPeter Wemm	if test "$NCURSES_BOOL" != auto ; then
19664a1a9510SRong-En Fan		cf_cv_type_of_bool=$NCURSES_BOOL
19674a1a9510SRong-En Fan		cf_cv_header_stdbool_h=0
196839f2269fSPeter Wemm	else
196939f2269fSPeter Wemm		if test "$cf_cv_header_stdbool_h" = 1 ; then
197039f2269fSPeter Wemm			CF_BOOL_SIZE
197139f2269fSPeter Wemm		else
19720e3d5408SPeter Wemm			AC_MSG_CHECKING(for fallback type of bool)
1973aae38d10SBaptiste Daroussin			case "$host_cpu" in
1974aae38d10SBaptiste Daroussin			(i?86)	cf_cv_type_of_bool=char	;;
1975aae38d10SBaptiste Daroussin			(*)	cf_cv_type_of_bool=int	;;
19760e3d5408SPeter Wemm			esac
19770e3d5408SPeter Wemm			AC_MSG_RESULT($cf_cv_type_of_bool)
19780e3d5408SPeter Wemm		fi
197939f2269fSPeter Wemm	fi
198039f2269fSPeter Wemmfi
19810e3d5408SPeter WemmAC_SUBST(CXXLIBS)
19820e3d5408SPeter Wemm
19834a1a9510SRong-En Fan# If the C compiler did not declare bool, and we did not determine that the C++
19844a1a9510SRong-En Fan# compiler does not declare bool, turn on an ifdef in curses.h that makes the
19854a1a9510SRong-En Fan# ncurses library use the same type as C++ bool.  Note that this allows one to
19864a1a9510SRong-En Fan# specify the type of bool in a configure-script option and postpone
19874a1a9510SRong-En Fan# integration with the C++ compiler provided that the types are compatible.
19884a1a9510SRong-En FanUSE_CXX_BOOL=1
19897a656419SBaptiste Daroussinif test "$cf_cv_cc_bool_type" = 1
19904a1a9510SRong-En Fanthen
19914a1a9510SRong-En Fan	# oops: C has a bool.  Unlikely, but C++ could differ.
19924a1a9510SRong-En Fan	USE_CXX_BOOL=0
19937a656419SBaptiste Daroussinelif test "$cf_cv_builtin_bool" = 0
19944a1a9510SRong-En Fanthen
19954a1a9510SRong-En Fan	# C++ has no bool
19964a1a9510SRong-En Fan	USE_CXX_BOOL=0
19974a1a9510SRong-En Fanelse
19984a1a9510SRong-En Fan	# this is the normal case
19994a1a9510SRong-En Fan	USE_CXX_BOOL='defined(__cplusplus)'
20004a1a9510SRong-En Fanfi
20014a1a9510SRong-En FanAC_SUBST(USE_CXX_BOOL)
20024a1a9510SRong-En Fan
2003aae38d10SBaptiste DaroussinCF_HELP_MESSAGE(Ada Binding Options:)
20040e3d5408SPeter Wemm
20055ca44d1cSRong-En Fandnl If the Ada95 source-tree is present, add that to the build unless it will
20065ca44d1cSRong-En Fandnl not work, or was not requested.
20075ca44d1cSRong-En Fanif test -f "${srcdir}/Ada95/Makefile.in" ; then
20085ca44d1cSRong-En Fan
20095ca44d1cSRong-En Fandnl libtool does not know anything about GNAT, though a change made in 1998
20105ca44d1cSRong-En Fandnl provided for it "someday".  Disable the ada subtree if we are using
20115ca44d1cSRong-En Fandnl libtool -TD 20070714
20125ca44d1cSRong-En Fan	if test "$cf_with_ada" != "no" ; then
20135ca44d1cSRong-En Fan		if test "$with_libtool" != "no"; then
20145ca44d1cSRong-En Fan			AC_MSG_WARN(libtool does not support Ada - disabling feature)
20155ca44d1cSRong-En Fan			cf_with_ada=no
20165ca44d1cSRong-En Fan		fi
20175ca44d1cSRong-En Fan	fi
20185ca44d1cSRong-En Fan
20190e3d5408SPeter Wemmdnl Check for availability of GNU Ada Translator (GNAT).
2020aae38d10SBaptiste Daroussindnl At the moment we support no other Ada compiler.
20210e3d5408SPeter Wemm	if test "$cf_with_ada" != "no" ; then
202206bfebdeSXin LI		CF_PROG_GNAT
202373f0a83dSXin LI		if test	"x$cf_cv_prog_gnat_correct" = xyes; then
202406bfebdeSXin LI			CF_ADD_ADAFLAGS(-gnatpn)
202573f0a83dSXin LI			CF_FIXUP_ADAFLAGS
20264a1a9510SRong-En Fan
2027aae38d10SBaptiste Daroussin			CF_GNATPREP_OPT_T
2028aae38d10SBaptiste Daroussin
202906bfebdeSXin LI			CF_GNAT_GENERICS
203006bfebdeSXin LI			CF_GNAT_SIGINT
203106bfebdeSXin LI			CF_GNAT_PROJECTS
20324a1a9510SRong-En Fan
203306bfebdeSXin LI			CF_WITH_ADA_COMPILER
20340e3d5408SPeter Wemm
20350e3d5408SPeter Wemm			cf_ada_package=terminal_interface
20360e3d5408SPeter Wemm			AC_SUBST(cf_ada_package)
20370e3d5408SPeter Wemm
203806bfebdeSXin LI			CF_WITH_ADA_INCLUDE
203906bfebdeSXin LI			CF_WITH_ADA_OBJECTS
204006bfebdeSXin LI			CF_WITH_ADA_SHAREDLIB
2041aae38d10SBaptiste Daroussin
2042aae38d10SBaptiste Daroussin			# allow the Ada binding to be renamed
2043aae38d10SBaptiste Daroussin			CF_WITH_ADA_LIBNAME(AdaCurses)
20440e3d5408SPeter Wemm		fi
20450e3d5408SPeter Wemm	fi
20465ca44d1cSRong-En Fanelse
20475ca44d1cSRong-En Fan	cf_with_ada=no
20480e3d5408SPeter Wemmfi
20490e3d5408SPeter Wemm
205073f0a83dSXin LI# do this "late" to avoid conflict with header-checks
205173f0a83dSXin LIif test "x$with_widec" = xyes ; then
205273f0a83dSXin LI	AC_CHECK_SIZEOF(wchar_t)
2053e1865124SBaptiste Daroussin	# cross-compiling to mingw can run into the problem that attempting to
2054e1865124SBaptiste Daroussin	# link with the regex library fails, causing the test to not set this to
2055e1865124SBaptiste Daroussin	# a number.  "recent" autoconf does not address this problem either -TD
2056e1865124SBaptiste Daroussin	if test -z "$ac_cv_sizeof_wchar_t"
2057e1865124SBaptiste Daroussin	then
2058e1865124SBaptiste Daroussin		CF_VERBOSE(test failed (assume 2))
2059e1865124SBaptiste Daroussin		sed /SIZEOF_WCHAR_T/d confdefs.h >confdefs.tmp
2060e1865124SBaptiste Daroussin		mv confdefs.tmp confdefs.h
2061e1865124SBaptiste Daroussin		echo "#define SIZEOF_WCHAR_T 2" >>confdefs.h
2062e1865124SBaptiste Daroussin	fi
206373f0a83dSXin LIfi
206473f0a83dSXin LI
20655ca44d1cSRong-En Fan### Construct the ncurses library-subsets, if any, from this set of keywords:
20665ca44d1cSRong-En Fan###	none, base, ext_funcs, ext_tinfo, ticlib, termlib, widechar
20675ca44d1cSRong-En Fan###
20685ca44d1cSRong-En Fan### ticlib modules may be a separate library, otherwise contained in termlib.
20695ca44d1cSRong-En Fan### termlib modules may be a separate library, otherwise contained in ncurses.
20705ca44d1cSRong-En Fan###
20715ca44d1cSRong-En Fan### The of "+" or " " between the tokens controls the way the script
20725ca44d1cSRong-En Fan### chooses to split module lists into libraries.
20735ca44d1cSRong-En Fan###
20745ca44d1cSRong-En Fan### (see CF_LIB_RULES).
20750e3d5408SPeter WemmAC_MSG_CHECKING(for library subsets)
20765ca44d1cSRong-En FanLIB_SUBSETS=
20775ca44d1cSRong-En Fan
207873f0a83dSXin LIif test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != no; then
20795ca44d1cSRong-En Fan	LIB_SUBSETS="${LIB_SUBSETS}ticlib"
20805ca44d1cSRong-En Fan	if test "$with_ticlib" != no ; then
20814a1a9510SRong-En Fan		LIB_SUBSETS="${LIB_SUBSETS} "
20820e3d5408SPeter Wemm	else
20835ca44d1cSRong-En Fan		LIB_SUBSETS="${LIB_SUBSETS}+"
20840e3d5408SPeter Wemm	fi
20855ca44d1cSRong-En Fanfi
20865ca44d1cSRong-En Fan
20875ca44d1cSRong-En FanLIB_SUBSETS="${LIB_SUBSETS}termlib"
208873f0a83dSXin LItest "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
208906bfebdeSXin LI
20905ca44d1cSRong-En Fanif test "$with_termlib" != no ; then
20915ca44d1cSRong-En Fan	LIB_SUBSETS="${LIB_SUBSETS} "
20925ca44d1cSRong-En Fanelse
20935ca44d1cSRong-En Fan	LIB_SUBSETS="${LIB_SUBSETS}+"
20945ca44d1cSRong-En Fanfi
20955ca44d1cSRong-En Fan
20960e3d5408SPeter WemmLIB_SUBSETS="${LIB_SUBSETS}base"
209706bfebdeSXin LI
209806bfebdeSXin LI# Most term-driver calls are to tinfo, but some like init_pair are to the
209906bfebdeSXin LI# base library (so it resides in base).
210006bfebdeSXin LIif test "$with_term_driver" != no ; then
210106bfebdeSXin LI	LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
21027a656419SBaptiste Daroussin	case "$cf_cv_system_name" in
2103aae38d10SBaptiste Daroussin	(*mingw32*|*mingw64*)
21047a656419SBaptiste Daroussin		if test "x$with_exp_win32" = xyes ; then
21057a656419SBaptiste Daroussin			LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32"
21067a656419SBaptiste Daroussin		else
210706bfebdeSXin LI			LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
21087a656419SBaptiste Daroussin		fi
2109aae38d10SBaptiste Daroussin		CPPFLAGS="$CPPFLAGS -DUSE_WIN32CON_DRIVER"
211006bfebdeSXin LI		;;
2111aae38d10SBaptiste Daroussin	(*)
211206bfebdeSXin LI		LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
211306bfebdeSXin LI		;;
211406bfebdeSXin LI	esac
21157a656419SBaptiste Daroussinelif test "x$with_exp_win32" = xyes ; then
21167a656419SBaptiste Daroussin	case "$cf_cv_system_name" in
21177a656419SBaptiste Daroussin	(*mingw32*|*mingw64*)
21187a656419SBaptiste Daroussin		LIB_SUBSETS="${LIB_SUBSETS}+port_win32"
21197a656419SBaptiste Daroussin		;;
21207a656419SBaptiste Daroussin	(*)
21217a656419SBaptiste Daroussin		;;
21227a656419SBaptiste Daroussin	esac
212306bfebdeSXin LIfi
212406bfebdeSXin LI
212573f0a83dSXin LItest "x$with_widec"     = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
212673f0a83dSXin LItest "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
21275ca44d1cSRong-En Fan
21280e3d5408SPeter WemmAC_MSG_RESULT($LIB_SUBSETS)
21290e3d5408SPeter Wemm
21300e3d5408SPeter Wemm### Construct the list of include-directories to be generated
21310e3d5408SPeter WemmCF_INCLUDE_DIRS
21320e3d5408SPeter WemmCF_ADA_INCLUDE_DIRS
21330e3d5408SPeter Wemm
213415589c42SPeter Wemm### Build up pieces for makefile rules
213515589c42SPeter WemmAC_MSG_CHECKING(default library suffix)
213615589c42SPeter WemmCF_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl
213715589c42SPeter WemmAC_SUBST(DFT_ARG_SUFFIX)dnl the string to append to "-lncurses" ("")
213815589c42SPeter WemmAC_MSG_RESULT($DFT_ARG_SUFFIX)
213915589c42SPeter Wemm
214015589c42SPeter WemmAC_MSG_CHECKING(default library-dependency suffix)
21415d08fb1fSRong-En FanCF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_LIB_SUFFIX,DFT_DEP_SUFFIX)dnl
214215589c42SPeter WemmAC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
214315589c42SPeter WemmAC_MSG_RESULT($DFT_DEP_SUFFIX)
214415589c42SPeter Wemm
214515589c42SPeter WemmAC_MSG_CHECKING(default object directory)
214615589c42SPeter WemmCF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
214715589c42SPeter WemmAC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
214815589c42SPeter WemmAC_MSG_RESULT($DFT_OBJ_SUBDIR)
214915589c42SPeter Wemm
215073f0a83dSXin LIif test "x$cf_with_cxx" = xyes ; then
21517a69bbfbSPeter WemmAC_MSG_CHECKING(c++ library-dependency suffix)
21524a1a9510SRong-En Fanif test "$with_libtool" != "no"; then
215373f0a83dSXin LI	# libtool thinks it can make c++ shared libraries (perhaps only g++)
215473f0a83dSXin LI	CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
215573f0a83dSXin LIelif test "$with_shared_cxx" != "no"; then
215673f0a83dSXin LI	# also for g++ users...
21577a69bbfbSPeter Wemm	CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
21587a69bbfbSPeter Wemmelse
215973f0a83dSXin LI	# we normally make a static library because C/C++ library rules differ
216073f0a83dSXin LI	CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)
21617a69bbfbSPeter Wemmfi
21627a69bbfbSPeter WemmAC_MSG_RESULT($CXX_LIB_SUFFIX)
21637a69bbfbSPeter WemmAC_SUBST(CXX_LIB_SUFFIX)
21644a1a9510SRong-En Fanfi
21657a69bbfbSPeter Wemm
21665ca44d1cSRong-En Fan# do not want -ldl in build except as needed for -lncurses dependency
216773f0a83dSXin LIif test "x$with_dlsym" = xyes ; then
21687a656419SBaptiste Daroussinif test "$DFT_LWR_MODEL" = shared || \
21697a656419SBaptiste Daroussin   test "$DFT_LWR_MODEL" = libtool ; then
21705ca44d1cSRong-En Fan	CF_REMOVE_LIB(LIBS,$LIBS,dl)
21715ca44d1cSRong-En Fanfi
21725ca44d1cSRong-En Fanfi
21734a1a9510SRong-En Fan### Set up low-level terminfo dependencies for makefiles.
21745ca44d1cSRong-En Fan
21755ca44d1cSRong-En Fan# TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
21765ca44d1cSRong-En Fan# do not need libdl
21775ca44d1cSRong-En FanTICS_LIST=
217873f0a83dSXin LIif test "x$with_dlsym" = xyes ; then
21795ca44d1cSRong-En Fan	CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
21805ca44d1cSRong-En Fanfi
21815ca44d1cSRong-En Fan
2182aae38d10SBaptiste DaroussinUSE_ARG_SUFFIX="${DFT_ARG_SUFFIX}${EXTRA_SUFFIX}"
2183aae38d10SBaptiste DaroussinUSE_LIB_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}"
2184aae38d10SBaptiste DaroussinUSE_CFG_SUFFIX=${DFT_ARG_SUFFIX}${cf_cv_abi_version}
2185aae38d10SBaptiste Daroussinif test -n "$EXTRA_SUFFIX" && test "x$EXTRA_SUFFIX" != "x${cf_cv_abi_version}"
2186aae38d10SBaptiste Daroussinthen
2187aae38d10SBaptiste Daroussin	USE_CFG_SUFFIX="${USE_CFG_SUFFIX}${EXTRA_SUFFIX}"
2188aae38d10SBaptiste Daroussinfi
2189aae38d10SBaptiste DaroussinAC_SUBST(USE_ARG_SUFFIX)
2190aae38d10SBaptiste DaroussinAC_SUBST(USE_CFG_SUFFIX)
2191aae38d10SBaptiste DaroussinAC_SUBST(USE_LIB_SUFFIX)
2192aae38d10SBaptiste Daroussin
21935ca44d1cSRong-En Fanif test "$with_ticlib" != no ; then
21945ca44d1cSRong-En Fan
219573f0a83dSXin LI	if test "x$with_ticlib" != xyes ; then
21965ca44d1cSRong-En Fan		TICS_NAME=$with_ticlib
21977a656419SBaptiste Daroussin		TICS_SUFFIX="`echo "${DFT_LIB_SUFFIX}" |sed -e "s/^${USE_LIB_SUFFIX}//"`"
21987a656419SBaptiste Daroussin		TICS_ARG_SUFFIX="${with_ticlib}`echo "${USE_ARG_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`"
21997a656419SBaptiste Daroussin		TICS_DEP_SUFFIX="${with_ticlib}`echo "${DFT_DEP_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`"
22005ca44d1cSRong-En Fan		TICS_LIB_SUFFIX="${with_ticlib}"
22015ca44d1cSRong-En Fan	else
2202aae38d10SBaptiste Daroussin		TICS_SUFFIX=${DFT_LIB_SUFFIX}
2203aae38d10SBaptiste Daroussin		TICS_ARG_SUFFIX="${TICS_NAME}${USE_ARG_SUFFIX}"
22045ca44d1cSRong-En Fan		TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
2205aae38d10SBaptiste Daroussin		TICS_LIB_SUFFIX="${TICS_NAME}${USE_LIB_SUFFIX}"
22065ca44d1cSRong-En Fan	fi
220773f0a83dSXin LI	TICS_LDFLAGS="-L${LIB_DIR}"
2208aae38d10SBaptiste Daroussin	TICS_LIBS="-l${TICS_ARG_SUFFIX}"
22095ca44d1cSRong-En Fanelse
2210aae38d10SBaptiste Daroussin	TICS_SUFFIX=${DFT_LIB_SUFFIX}
221173f0a83dSXin LI	TICS_LDFLAGS="-L${LIB_DIR}"
2212aae38d10SBaptiste Daroussin	TICS_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX}"
22135ca44d1cSRong-En Fanfi
22145ca44d1cSRong-En FanAC_SUBST(TICS_ARG_SUFFIX)
22155ca44d1cSRong-En FanAC_SUBST(TICS_DEP_SUFFIX)
22165ca44d1cSRong-En FanAC_SUBST(TICS_LIB_SUFFIX)
221773f0a83dSXin LIAC_SUBST(TICS_LDFLAGS)
221873f0a83dSXin LIAC_SUBST(TICS_LIBS)
22195ca44d1cSRong-En Fan
22204a1a9510SRong-En Fanif test "$with_termlib" != no ; then
22214a1a9510SRong-En Fan
222273f0a83dSXin LI	if test "x$with_termlib" != xyes ; then
22234a1a9510SRong-En Fan		TINFO_NAME=$with_termlib
22247a656419SBaptiste Daroussin		TINFO_SUFFIX="`echo "${DFT_LIB_SUFFIX}" |sed -e "s/^${USE_LIB_SUFFIX}//"`"
22257a656419SBaptiste Daroussin		TINFO_ARG_SUFFIX="${with_termlib}`echo "${USE_ARG_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`"
22267a656419SBaptiste Daroussin		TINFO_DEP_SUFFIX="${with_termlib}`echo "${DFT_DEP_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`"
22274a1a9510SRong-En Fan		TINFO_LIB_SUFFIX="${with_termlib}"
22284a1a9510SRong-En Fan	else
22295ca44d1cSRong-En Fan		TINFO_SUFFIX=${DFT_LIB_SUFFIX}
2230aae38d10SBaptiste Daroussin		TINFO_ARG_SUFFIX="${TINFO_NAME}${USE_ARG_SUFFIX}"
22314a1a9510SRong-En Fan		TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
2232aae38d10SBaptiste Daroussin		TINFO_LIB_SUFFIX="${TINFO_NAME}${USE_LIB_SUFFIX}"
22334a1a9510SRong-En Fan	fi
22344a1a9510SRong-En Fan
22354a1a9510SRong-En Fan	TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
22364a1a9510SRong-En Fan	TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
22374a1a9510SRong-En Fan	if test "$DFT_LWR_MODEL" = "libtool"; then
22384a1a9510SRong-En Fan		TEST_ARGS="${TEST_DEPS}"
22394a1a9510SRong-En Fan		TEST_ARG2="${TEST_DEP2}"
224073f0a83dSXin LI		TINFO_LDFLAGS="-L${LIB_DIR}"
224173f0a83dSXin LI		TINFO_LIBS="$TEST_ARGS"
224206bfebdeSXin LI		TICS_LIST="$SHLIB_LIST $TEST_ARGS"
224306bfebdeSXin LI		SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
22444a1a9510SRong-En Fan	else
22454a1a9510SRong-En Fan		TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
22464a1a9510SRong-En Fan		TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
224773f0a83dSXin LI		if test "x$with_term_driver" != xno ; then
2248aae38d10SBaptiste Daroussin			TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${USE_ARG_SUFFIX}"
2249aae38d10SBaptiste Daroussin			TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${USE_ARG_SUFFIX}"
2250aae38d10SBaptiste Daroussin			TINFO_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX} $TEST_ARGS"
225173f0a83dSXin LI		else
22525ca44d1cSRong-En Fan			TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
225373f0a83dSXin LI			TINFO_LIBS="$TEST_ARGS"
225473f0a83dSXin LI		fi
225573f0a83dSXin LI		TINFO_LDFLAGS="-L${LIB_DIR}"
22564a1a9510SRong-En Fan		SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
22574a1a9510SRong-En Fan	fi
22584a1a9510SRong-En Fanelse
22595ca44d1cSRong-En Fan	# the next lines are needed for linking libtic over libncurses
22605ca44d1cSRong-En Fan	TINFO_NAME=${LIB_NAME}
22615ca44d1cSRong-En Fan	TINFO_SUFFIX=${DFT_LIB_SUFFIX}
2262aae38d10SBaptiste Daroussin	TINFO_ARG_SUFFIX=${LIB_NAME}${USE_ARG_SUFFIX}
226373f0a83dSXin LI	if test "x$with_tic_depends" = xyes ; then
2264aae38d10SBaptiste Daroussin		TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${USE_ARG_SUFFIX}"
22655d08fb1fSRong-En Fan	else
22665d08fb1fSRong-En Fan		TICS_LIST="$SHLIB_LIST"
22675d08fb1fSRong-En Fan	fi
22685ca44d1cSRong-En Fan
226973f0a83dSXin LI	TINFO_LDFLAGS="-L${LIB_DIR}"
2270aae38d10SBaptiste Daroussin	TINFO_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX}"
22714a1a9510SRong-En Fanfi
22725ca44d1cSRong-En Fan
22735ca44d1cSRong-En Fanif test "$DFT_LWR_MODEL" = shared ; then
22747a656419SBaptiste Daroussin	case "$cf_cv_system_name" in
2275aae38d10SBaptiste Daroussin	(cygwin*|msys*)
227673f0a83dSXin LI		# "lib" files have ".dll.a" suffix, "cyg"or "msys-" files have ".dll"
22775ca44d1cSRong-En Fan		TINFO_SUFFIX=.dll
22785ca44d1cSRong-En Fan		;;
22795ca44d1cSRong-En Fan	esac
22805ca44d1cSRong-En Fanfi
22815ca44d1cSRong-En Fan
22824a1a9510SRong-En FanAC_SUBST(TINFO_ARG_SUFFIX)
22834a1a9510SRong-En FanAC_SUBST(TINFO_DEP_SUFFIX)
22844a1a9510SRong-En FanAC_SUBST(TINFO_LIB_SUFFIX)
228573f0a83dSXin LIAC_SUBST(TINFO_LDFLAGS)
228673f0a83dSXin LIAC_SUBST(TINFO_LIBS)
22874a1a9510SRong-En Fan
228873f0a83dSXin LIif test "x$with_dlsym" = xyes ; then
22895ca44d1cSRong-En Fan	CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
22905ca44d1cSRong-En Fanfi
22915ca44d1cSRong-En Fan
2292aa59d4d4SRong-En Fanif test "$DFT_LWR_MODEL" = "libtool"; then
2293aa59d4d4SRong-En Fan	OBJEXT=lo
2294aa59d4d4SRong-En Fanfi
2295aa59d4d4SRong-En Fan
22964a1a9510SRong-En Fan# needed for Ada95
229773f0a83dSXin LITINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
229873f0a83dSXin LIAC_SUBST(TINFO_LDFLAGS2)
229915589c42SPeter Wemm
23007a656419SBaptiste Daroussincase "$DFT_LWR_MODEL" in
2301aae38d10SBaptiste Daroussin(normal|debug|profile)
23025ca44d1cSRong-En Fan	CF_LDFLAGS_STATIC
23035ca44d1cSRong-En Fan	;;
23045ca44d1cSRong-En Fanesac
23055ca44d1cSRong-En Fan
230615589c42SPeter WemmAC_MSG_CHECKING(where we will install curses.h)
230773f0a83dSXin LIAC_SUBST(includesubdir)
230873f0a83dSXin LIincludesubdir=
230973f0a83dSXin LIif test "$with_overwrite" = no && \
23107a656419SBaptiste Daroussin { test "x$includedir" = 'x${prefix}/include' || \
23117a656419SBaptiste Daroussin   test "x$includedir" = "x${prefix}/include"; }
231273f0a83dSXin LIthen
2313aae38d10SBaptiste Daroussin	includesubdir="/ncurses${USE_LIB_SUFFIX}"
231473f0a83dSXin LIfi
231573f0a83dSXin LIAC_MSG_RESULT(${includedir}${includesubdir})
231615589c42SPeter Wemm
23174a1a9510SRong-En Fan### Resolve a conflict between normal and wide-curses by forcing applications
23184a1a9510SRong-En Fan### that will need libutf8 to add it to their configure script.
23194a1a9510SRong-En Fanif test "$with_overwrite" != no ; then
23204a1a9510SRong-En Fanif test "$NCURSES_LIBUTF8" = 1 ; then
23214a1a9510SRong-En Fan	NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
23224a1a9510SRong-En Fan	AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h)
23234a1a9510SRong-En Fanfi
23244a1a9510SRong-En Fanfi
232506bfebdeSXin LIWITH_OVERWRITE=$with_overwrite
23264a1a9510SRong-En Fan
23277a656419SBaptiste Daroussin### At least on MinGW a shared library build without libtool
23287a656419SBaptiste Daroussin### requires adding the additional libs to the link list.
23297a656419SBaptiste Daroussincase "$cf_cv_system_name" in
23307a656419SBaptiste Daroussin(*mingw32*|*mingw64*)
23317a656419SBaptiste Daroussin	if test "$DFT_LWR_MODEL" != "libtool"; then
23327a656419SBaptiste Daroussin   	   SHLIB_LIST="$SHLIB_LIST ${LIBS}"
23337a656419SBaptiste Daroussin	fi
23347a656419SBaptiste Daroussin	;;
23357a656419SBaptiste Daroussin*)	;;
23367a656419SBaptiste Daroussinesac
23377a656419SBaptiste Daroussin
23384a1a9510SRong-En FanAC_SUBST(WITH_OVERWRITE)
23395ca44d1cSRong-En FanAC_SUBST(TICS_LIST)
234015589c42SPeter WemmAC_SUBST(TINFO_LIST)
234115589c42SPeter WemmAC_SUBST(SHLIB_LIST)
234215589c42SPeter Wemm
23434a1a9510SRong-En Fan### predefined stuff for the test programs
234473f0a83dSXin LIAC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs])
23450e3d5408SPeter Wemm
23467a656419SBaptiste Daroussin# pkgsrc uses these
2347*21817992SBaptiste DaroussinCF_HELP_MESSAGE(Library basenames for pkgsrc:)
23487a656419SBaptiste DaroussinCF_WITH_LIB_BASENAME(FORM_NAME,form)
23497a656419SBaptiste DaroussinCF_WITH_LIB_BASENAME(MENU_NAME,menu)
23507a656419SBaptiste DaroussinCF_WITH_LIB_BASENAME(PANEL_NAME,panel)
23517a656419SBaptiste DaroussinCF_WITH_LIB_BASENAME(CXX_NAME,cxx,ncurses++)
23527a656419SBaptiste Daroussin
23530e3d5408SPeter Wemm### Construct the list of subdirectories for which we'll customize makefiles
23540e3d5408SPeter Wemm### with the appropriate compile-rules.
23550e3d5408SPeter Wemm
23560e3d5408SPeter WemmCF_SRC_MODULES($modules_to_build)
23575ca44d1cSRong-En Fan
235873f0a83dSXin LIif test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
2359aae38d10SBaptiste Daroussin   SUB_MAKEFILES="$SUB_MAKEFILES Ada95/src/library.gpr:Ada95/src/library.gpr.in"
2360aae38d10SBaptiste Daroussin   SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${USE_CFG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
2361aae38d10SBaptiste Daroussin   SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${USE_CFG_SUFFIX}-config.1:man/MKada_config.in"
23625ca44d1cSRong-En Fanfi
23635ca44d1cSRong-En Fan
23640e3d5408SPeter WemmCF_DIRS_TO_MAKE
23650e3d5408SPeter Wemm
236606bfebdeSXin LI# symbols that differ when compiling Ada95 by itself.
2367aae38d10SBaptiste DaroussinNCURSES_SHLIB2=$SHELL' $(top_srcdir)/misc/shlib'
236806bfebdeSXin LIAC_SUBST(NCURSES_SHLIB2)
236906bfebdeSXin LI
237006bfebdeSXin LI# values to use as strings
237173f0a83dSXin LIAC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as library path-separator])
23727a69bbfbSPeter Wemm
237373f0a83dSXin LIAC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}",[Define to 1 if machine has ample memory for tic])
23744a1a9510SRong-En Fan
23754a1a9510SRong-En Fan### Define substitutions for header files to avoid name-pollution
237673f0a83dSXin LICF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0)
2377aae38d10SBaptiste DaroussinCF_SUBST_IF(["x$ac_cv_header_stdint_h" = xyes], HAVE_STDINT_H, 1, 0)
237873f0a83dSXin LICF_SUBST_IF(["x$ac_cv_header_termio_h" = xyes], HAVE_TERMIO_H, 1, 0)
237973f0a83dSXin LICF_SUBST_IF(["x$ac_cv_header_termios_h" = xyes], HAVE_TERMIOS_H, 1, 0)
23800e3d5408SPeter Wemm
23810e3d5408SPeter Wemm################################################################################
238273f0a83dSXin LItest "x$use_database" = xyes && \
238306bfebdeSXin LISUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
238406bfebdeSXin LI
23854a1a9510SRong-En FanSUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
2386aae38d10SBaptiste DaroussinSUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${USE_CFG_SUFFIX}-config.1:man/MKncu_config.in"
238706bfebdeSXin LI
2388aae38d10SBaptiste Daroussinif test "x$enable_pc_files" = xyes && test -z "$MAKE_PC_FILES" ; then
238906bfebdeSXin LISUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
239006bfebdeSXin LIfi
239106bfebdeSXin LIAC_SUBST(cross_compiling)
239206bfebdeSXin LI
239306bfebdeSXin LIif test "x$cf_with_tests" != xno ; then
239406bfebdeSXin LI	MAKE_TESTS=
239506bfebdeSXin LIelse
239606bfebdeSXin LI	MAKE_TESTS="#"
239706bfebdeSXin LIfi
239806bfebdeSXin LIAC_SUBST(MAKE_TESTS)
239906bfebdeSXin LI
240006bfebdeSXin LIADAHTML_DIR=../../doc/html/ada
240106bfebdeSXin LIAC_SUBST(ADAHTML_DIR)
240206bfebdeSXin LI
2403aae38d10SBaptiste Daroussin# workaround for OS/2 (20151017)
24047a656419SBaptiste Daroussincase "$cf_cv_system_name" in
2405aae38d10SBaptiste Daroussin(os2*)
2406aae38d10SBaptiste Daroussin	LIBTOOL_OPTS_CXX="-os2dllname ncurs++"
2407aae38d10SBaptiste Daroussin	;;
2408aae38d10SBaptiste Daroussin(*)
2409aae38d10SBaptiste Daroussin	LIBTOOL_OPTS_CXX=
2410aae38d10SBaptiste Daroussin	;;
2411aae38d10SBaptiste Daroussinesac
2412aae38d10SBaptiste DaroussinAC_SUBST(LIBTOOL_OPTS_CXX)
2413aae38d10SBaptiste Daroussin
241473f0a83dSXin LI# workaround for g++ versus Solaris (20131116)
24157a656419SBaptiste Daroussincase "$cf_cv_system_name" in
2416aae38d10SBaptiste Daroussin(solaris2*)
2417aae38d10SBaptiste Daroussin	case "x$CPPFLAGS" in
2418aae38d10SBaptiste Daroussin	(*-D_XOPEN_SOURCE_EXTENDED*)
241973f0a83dSXin LI		CF_VERBOSE(moving _XOPEN_SOURCE_EXTENDED to work around g++ problem)
242073f0a83dSXin LI		CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
242173f0a83dSXin LI		CPPFLAGS=`echo "x$CPPFLAGS" | sed -e  's/^.//' -e 's/-D_XOPEN_SOURCE_EXTENDED//'`
242206bfebdeSXin LI		;;
242306bfebdeSXin LI	esac
242473f0a83dSXin LI	;;
242573f0a83dSXin LIesac
242673f0a83dSXin LI
2427aae38d10SBaptiste Daroussin# Help to automatically enable the extended curses features when using either
2428aae38d10SBaptiste Daroussin# the *-config or the ".pc" files by adding defines.
2429*21817992SBaptiste DaroussinAC_MSG_CHECKING(for defines to add to ncurses${USE_CFG_SUFFIX}${cf_config_suffix}-config script)
2430aae38d10SBaptiste DaroussinPKG_CFLAGS=
2431aae38d10SBaptiste Daroussinfor cf_loop1 in $CPPFLAGS_after_XOPEN
2432aae38d10SBaptiste Daroussindo
2433aae38d10SBaptiste Daroussin	cf_found=no
2434aae38d10SBaptiste Daroussin	for cf_loop2 in $CPPFLAGS_before_XOPEN
2435aae38d10SBaptiste Daroussin	do
2436aae38d10SBaptiste Daroussin		if test "x$cf_loop1" = "x$cf_loop2"
2437aae38d10SBaptiste Daroussin		then
2438aae38d10SBaptiste Daroussin			cf_found=yes
2439aae38d10SBaptiste Daroussin			break
2440aae38d10SBaptiste Daroussin		fi
2441aae38d10SBaptiste Daroussin	done
2442aae38d10SBaptiste Daroussin	test "$cf_found" = no && PKG_CFLAGS="$PKG_CFLAGS $cf_loop1"
2443aae38d10SBaptiste Daroussindone
2444aae38d10SBaptiste DaroussinAC_MSG_RESULT($PKG_CFLAGS)
2445aae38d10SBaptiste DaroussinAC_SUBST(PKG_CFLAGS)
2446aae38d10SBaptiste Daroussin
244773f0a83dSXin LI# AC_CHECK_SIZEOF demands a literal parameter, no variables.  So we do this.
2448aae38d10SBaptiste Daroussincase "x$NCURSES_OSPEED" in
2449aae38d10SBaptiste Daroussin(*short*)
245073f0a83dSXin LI	cf_compatible=1
245173f0a83dSXin LI	;;
2452aae38d10SBaptiste Daroussin(*)
245373f0a83dSXin LI	cf_compatible=0
245473f0a83dSXin LI	;;
245573f0a83dSXin LIesac
245673f0a83dSXin LIAC_DEFINE_UNQUOTED(NCURSES_OSPEED_COMPAT,$cf_compatible,[Define to 1 if termcap variable ospeed is short])
245773f0a83dSXin LI
2458aae38d10SBaptiste Daroussincase "x$cf_cv_typeof_chtype" in
2459aae38d10SBaptiste Daroussin(xshort|xint|xlong)
2460aae38d10SBaptiste Daroussin	cf_cv_typeof_chtype="unsigned $cf_cv_typeof_chtype"
2461aae38d10SBaptiste Daroussin	;;
2462aae38d10SBaptiste Daroussinesac
2463aae38d10SBaptiste Daroussin
2464aae38d10SBaptiste Daroussincase "x$cf_cv_typeof_mmask_t" in
2465aae38d10SBaptiste Daroussin(xshort|xint|xlong)
2466aae38d10SBaptiste Daroussin	cf_cv_typeof_mmask_t="unsigned $cf_cv_typeof_mmask_t"
2467aae38d10SBaptiste Daroussin	;;
2468aae38d10SBaptiste Daroussinesac
2469aae38d10SBaptiste Daroussin
2470aae38d10SBaptiste Daroussin# substitute into misc/Makefile to suppress
2471aae38d10SBaptiste Daroussin# (un)install.data from the
2472aae38d10SBaptiste Daroussin# (un)install rules.
2473aae38d10SBaptiste Daroussinif test "x$cf_with_db_install" = "xno"; then
2474aae38d10SBaptiste Daroussin	MISC_INSTALL_DATA=
2475aae38d10SBaptiste Daroussin	MISC_UNINSTALL_DATA=
2476aae38d10SBaptiste Daroussinelse
2477aae38d10SBaptiste Daroussin	MISC_INSTALL_DATA=install.data
2478aae38d10SBaptiste Daroussin	MISC_UNINSTALL_DATA=uninstall.data
2479aae38d10SBaptiste Daroussinfi
2480aae38d10SBaptiste DaroussinAC_SUBST(MISC_INSTALL_DATA)
2481aae38d10SBaptiste DaroussinAC_SUBST(MISC_UNINSTALL_DATA)
2482aae38d10SBaptiste Daroussin
2483aae38d10SBaptiste Daroussinif test "x$cf_with_db_install" = "xno" || test "x$TERMINFO_SRC" = "xno"; then
2484aae38d10SBaptiste Daroussin	MAKE_DATABASE="#"
2485aae38d10SBaptiste Daroussinelse
2486aae38d10SBaptiste Daroussin	MAKE_DATABASE="$MAKE_TERMINFO"
2487aae38d10SBaptiste Daroussinfi
2488aae38d10SBaptiste DaroussinAC_SUBST(MAKE_DATABASE)
2489aae38d10SBaptiste Daroussin
2490aae38d10SBaptiste Daroussindnl Override the package used for exported symbols
2491aae38d10SBaptiste Daroussinif test -n "$PACKAGE"
2492aae38d10SBaptiste Daroussinthen
2493aae38d10SBaptiste Daroussin	PACKAGE="${PACKAGE}${DFT_ARG_SUFFIX}"
2494aae38d10SBaptiste Daroussin	export PACKAGE
2495aae38d10SBaptiste Daroussin	echo "package: $PACKAGE"
2496aae38d10SBaptiste Daroussinfi
2497aae38d10SBaptiste Daroussin
2498aae38d10SBaptiste DaroussinUNALTERED_SYMS=
2499aae38d10SBaptiste Daroussincf_filter_syms=no
2500aae38d10SBaptiste Daroussin
2501aae38d10SBaptiste Daroussinif test -n "$RESULTING_SYMS"
2502aae38d10SBaptiste Daroussinthen
2503aae38d10SBaptiste Daroussin	cf_filter_syms=$cf_dft_filter_syms
2504*21817992SBaptiste Daroussin	CF_VERBOSE(will map symbols to ABI=$cf_cv_abi_default)
2505aae38d10SBaptiste Daroussinfi
2506aae38d10SBaptiste Daroussin
2507aae38d10SBaptiste Daroussinif test "x$WILDCARD_SYMS" = xno
2508aae38d10SBaptiste Daroussinthen
2509aae38d10SBaptiste Daroussin	cf_filter_syms=yes
2510aae38d10SBaptiste Daroussinfi
2511aae38d10SBaptiste Daroussin
2512aae38d10SBaptiste Daroussintest "x$cf_with_trace" = xyes && NCURSES_INLINE=
2513aae38d10SBaptiste Daroussin
2514aae38d10SBaptiste DaroussinUNALTERED_SYMS=`echo "$RESULTING_SYMS" | sed -e 's/\\$/\\\\$/g'`
25157a656419SBaptiste Daroussinif test "$cf_filter_syms" = yes
2516aae38d10SBaptiste Daroussinthen
2517aae38d10SBaptiste Daroussin	RESULTING_SYMS=resulting.map
2518aae38d10SBaptiste Daroussinfi
2519aae38d10SBaptiste DaroussinAC_SUBST(UNALTERED_SYMS)
2520aae38d10SBaptiste Daroussin
2521aae38d10SBaptiste Daroussinif test "x$cross_compiling" = xyes ; then
2522aae38d10SBaptiste Daroussin	ADAGEN_LDFLAGS='$(CROSS_LDFLAGS)'
2523aae38d10SBaptiste Daroussin	CHECK_BUILD="#"
2524aae38d10SBaptiste Daroussinelse
2525aae38d10SBaptiste Daroussin	ADAGEN_LDFLAGS='$(NATIVE_LDFLAGS)'
2526aae38d10SBaptiste Daroussin	CHECK_BUILD=
2527aae38d10SBaptiste Daroussinfi
2528aae38d10SBaptiste DaroussinAC_SUBST(ADAGEN_LDFLAGS)
2529aae38d10SBaptiste DaroussinAC_SUBST(CHECK_BUILD)
2530aae38d10SBaptiste DaroussinAC_SUBST(PRIVATE_LIBS)
2531aae38d10SBaptiste Daroussin
2532aae38d10SBaptiste Daroussin# This is used for the *-config script and *.pc data files.
2533aae38d10SBaptiste DaroussinCF_LD_SEARCHPATH
2534aae38d10SBaptiste Daroussin
25350e3d5408SPeter WemmAC_OUTPUT( \
25360e3d5408SPeter Wemm	include/MKterm.h.awk \
253739f2269fSPeter Wemm	include/curses.head:include/curses.h.in \
253806bfebdeSXin LI	include/ncurses_dll.h \
25390e3d5408SPeter Wemm	include/termcap.h \
25400e3d5408SPeter Wemm	include/unctrl.h \
2541*21817992SBaptiste Daroussin	man/man_db.renames \
25420e3d5408SPeter Wemm	$SUB_MAKEFILES \
25430e3d5408SPeter Wemm	Makefile,[
254406bfebdeSXin LIif test "x$cf_with_tests" != xno ; then
25457a656419SBaptiste Daroussin	CF_PRG_RULES(["$srcdir/test/mk-test.awk" INSTALL=no ECHO_LINK="$ECHO_LD"], test)
254606bfebdeSXin LIfi
25474a1a9510SRong-En FanCF_LIB_RULES($SRC_SUBDIRS)
2548*21817992SBaptiste DaroussinCF_OUTPUT_MANPAGE_RENAMES
254906bfebdeSXin LI
255073f0a83dSXin LIif test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
255106bfebdeSXin LIif test -z "$USE_OLD_MAKERULES" ; then
25527a656419SBaptiste Daroussin	$AWK -f "$srcdir/Ada95/mk-1st.awk" <"$srcdir/Ada95/src/modules" >>Ada95/src/Makefile
255306bfebdeSXin LIfi
255406bfebdeSXin LIfi
25550e3d5408SPeter Wemm],[
25560e3d5408SPeter Wemm### Special initialization commands, used to pass information from the
25570e3d5408SPeter Wemm### configuration-run into config.status
25580e3d5408SPeter Wemm
2559aae38d10SBaptiste DaroussinALTERNATE_SYMS="$ALTERNATE_SYMS"
25607a656419SBaptiste DaroussinAWK="$AWK"
25617a656419SBaptiste DaroussinCXX_NAME="$CXX_NAME"
25624a1a9510SRong-En FanDFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
25630e3d5408SPeter WemmDFT_LWR_MODEL="$DFT_LWR_MODEL"
256473f0a83dSXin LIECHO_LD="$ECHO_LD"
2565aae38d10SBaptiste DaroussinEXTRA_SUFFIX="$EXTRA_SUFFIX"
25667a656419SBaptiste DaroussinFORM_NAME="$FORM_NAME"
25670e3d5408SPeter WemmLDCONFIG="$LDCONFIG"
256806bfebdeSXin LILIBTOOL_VERSION="$LIBTOOL_VERSION"
25690e3d5408SPeter WemmLIB_NAME="$LIB_NAME"
257073f0a83dSXin LILIB_PREFIX="$LIB_PREFIX"
25710e3d5408SPeter WemmLIB_SUBSETS="$LIB_SUBSETS"
257239f2269fSPeter WemmLIB_SUFFIX="$LIB_SUFFIX"
257315589c42SPeter WemmLIB_TRACING="$LIB_TRACING"
257406bfebdeSXin LILN_S="$LN_S"
257539f2269fSPeter WemmMAKE_TERMINFO="$MAKE_TERMINFO"
2576*21817992SBaptiste DaroussinMANPAGE_RENAMES="$MANPAGE_RENAMES"
25777a656419SBaptiste DaroussinMENU_NAME="$MENU_NAME"
25784a1a9510SRong-En FanNCURSES_MAJOR="$NCURSES_MAJOR"
25794a1a9510SRong-En FanNCURSES_MINOR="$NCURSES_MINOR"
258039f2269fSPeter WemmNCURSES_OSPEED="$NCURSES_OSPEED"
25814a1a9510SRong-En FanNCURSES_PATCH="$NCURSES_PATCH"
25827a656419SBaptiste DaroussinPANEL_NAME="$PANEL_NAME"
25830e3d5408SPeter WemmSRC_SUBDIRS="$SRC_SUBDIRS"
258418259542SPeter WemmTERMINFO="$TERMINFO"
258506bfebdeSXin LITICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
258606bfebdeSXin LITICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
258706bfebdeSXin LITICS_NAME="$TICS_NAME"
2588aae38d10SBaptiste DaroussinTICS_SUFFIX="$TICS_SUFFIX"
258906bfebdeSXin LITIC_PATH="$TIC_PATH"
25904a1a9510SRong-En FanTINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
25914a1a9510SRong-En FanTINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
25920e3d5408SPeter WemmTINFO_NAME="$TINFO_NAME"
25935ca44d1cSRong-En FanTINFO_SUFFIX="$TINFO_SUFFIX"
2594aae38d10SBaptiste DaroussinUNALTERED_SYMS="$UNALTERED_SYMS"
2595aae38d10SBaptiste DaroussinUSE_ARG_SUFFIX="$USE_ARG_SUFFIX"
2596aae38d10SBaptiste DaroussinUSE_CFG_SUFFIX="$USE_CFG_SUFFIX"
2597aae38d10SBaptiste DaroussinUSE_LIB_SUFFIX="$USE_LIB_SUFFIX"
259806bfebdeSXin LIUSE_OLD_MAKERULES="$USE_OLD_MAKERULES"
2599aae38d10SBaptiste DaroussinWILDCARD_SYMS="$WILDCARD_SYMS"
260039f2269fSPeter WemmWITH_CURSES_H="$with_curses_h"
260173f0a83dSXin LIWITH_ECHO="${enable_echo:=yes}"
26020e3d5408SPeter WemmWITH_OVERWRITE="$with_overwrite"
26034a1a9510SRong-En Fancf_LIST_MODELS="$cf_list_models"
26047a656419SBaptiste Daroussincf_cv_VERSION_GNATMAKE=$cf_cv_VERSION_GNATMAKE
26057a656419SBaptiste Daroussincf_cv_VERSION_GPRBUILD=$cf_cv_VERSION_GPRBUILD
2606*21817992SBaptiste Daroussincf_cv_abi_default="$cf_cv_abi_default"
26070e3d5408SPeter Wemmcf_cv_abi_version="$cf_cv_abi_version"
26085ca44d1cSRong-En Fancf_cv_do_relink="$cf_cv_do_relink"
2609aae38d10SBaptiste Daroussincf_cv_do_reranlib="$cf_cv_do_reranlib"
26100e3d5408SPeter Wemmcf_cv_do_symlinks="$cf_cv_do_symlinks"
26114a1a9510SRong-En Fancf_cv_enable_lp64="$cf_cv_enable_lp64"
26125ca44d1cSRong-En Fancf_cv_enable_opaque="$cf_cv_enable_opaque"
2613*21817992SBaptiste Daroussincf_cv_make_PHONY="$cf_cv_make_PHONY"
26144a1a9510SRong-En Fancf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
26154a1a9510SRong-En Fancf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
261673f0a83dSXin LIcf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
26170e3d5408SPeter Wemmcf_cv_rel_version="$cf_cv_rel_version"
26180e3d5408SPeter Wemmcf_cv_rm_so_locs="$cf_cv_rm_so_locs"
26195d08fb1fSRong-En Fancf_cv_shared_soname='$cf_cv_shared_soname'
262039f2269fSPeter Wemmcf_cv_shlib_version="$cf_cv_shlib_version"
262139f2269fSPeter Wemmcf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
26220e3d5408SPeter Wemmcf_cv_system_name="$cf_cv_system_name"
262373f0a83dSXin LIcf_cv_term_driver="$with_term_driver"
262406bfebdeSXin LIcf_with_ada="$cf_with_ada"
26251759abf3SPeter Wemmcf_with_cxx_binding="$cf_with_cxx_binding"
262673f0a83dSXin LIcf_with_db_install="$cf_with_db_install"
262706bfebdeSXin LIcf_with_manpages="$cf_with_manpages"
262806bfebdeSXin LIcf_with_tests="$cf_with_tests"
26294a1a9510SRong-En Fanhost="$host"
26300e3d5408SPeter Wemmtarget="$target"
2631*21817992SBaptiste Daroussinverbose="$verbose"
2632aae38d10SBaptiste Daroussinwith_shared_cxx="$with_shared_cxx"
26330e3d5408SPeter Wemm
26344a1a9510SRong-En Fan],cat)dnl
263506bfebdeSXin LI${MAKE:-make} preinstall
2636