ncurses 6.0 - patch 20150808
[ncurses.git] / configure.in
1 dnl***************************************************************************
2 dnl Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
3 dnl                                                                          *
4 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
5 dnl copy of this software and associated documentation files (the            *
6 dnl "Software"), to deal in the Software without restriction, including      *
7 dnl without limitation the rights to use, copy, modify, merge, publish,      *
8 dnl distribute, distribute with modifications, sublicense, and/or sell       *
9 dnl copies of the Software, and to permit persons to whom the Software is    *
10 dnl furnished to do so, subject to the following conditions:                 *
11 dnl                                                                          *
12 dnl The above copyright notice and this permission notice shall be included  *
13 dnl in all copies or substantial portions of the Software.                   *
14 dnl                                                                          *
15 dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
16 dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
17 dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
18 dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
19 dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
20 dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
21 dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
22 dnl                                                                          *
23 dnl Except as contained in this notice, the name(s) of the above copyright   *
24 dnl holders shall not be used in advertising or otherwise to promote the     *
25 dnl sale, use or other dealings in this Software without prior written       *
26 dnl authorization.                                                           *
27 dnl***************************************************************************
28 dnl
29 dnl Author: Thomas E. Dickey 1995-on
30 dnl
31 dnl $Id: configure.in,v 1.619 2015/08/05 23:32:27 tom Exp $
32 dnl Process this file with autoconf to produce a configure script.
33 dnl
34 dnl See http://invisible-island.net/autoconf/ for additional information.
35 dnl
36 dnl ---------------------------------------------------------------------------
37 AC_PREREQ(2.52.20030208)
38 AC_REVISION($Revision: 1.619 $)
39 AC_INIT(ncurses/base/lib_initscr.c)
40 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
41
42 CF_TOP_BUILDDIR
43 CF_SUBST_NCURSES_VERSION
44 CF_VERSION_INFO(NCURSES,ncurses)
45
46 CF_WITH_REL_VERSION(NCURSES)
47 CF_NCURSES_WITH_ABI_VERSION
48
49 CF_WITH_SYSTYPE
50
51 ###     Save the given $CFLAGS to allow user-override.
52 cf_user_CFLAGS="$CFLAGS"
53
54 ###     Default install-location
55 CF_CFG_DEFAULTS
56 ### Defaults for ncurses ABI
57 CF_ABI_DEFAULTS
58
59 ###     Checks for programs.
60 AC_ARG_WITH(ada,
61         [  --without-ada           suppress check for Ada95, don't build demo],
62         [cf_with_ada=$withval],
63         [cf_with_ada=yes])
64 if test "x$cf_with_ada" = xyes
65 then
66         cf_PROG_CC="gnatgcc gcc cc"
67 else
68         cf_PROG_CC="gcc cc"
69 fi
70
71 CF_PROG_CC($cf_PROG_CC)
72
73 AC_PROG_CPP
74 AC_PROG_GCC_TRADITIONAL
75 CF_PROG_CC_C_O(CC)
76 CF_PROG_LDCONFIG
77
78 dnl DEFECT in autoconf 2.12:    an attempt to set policy, this breaks the
79 dnl                             configure script by not letting us test if C++
80 dnl                             is present, making this option necessary.
81 AC_MSG_CHECKING(if you want to ensure bool is consistent with C++)
82 AC_ARG_WITH(cxx,
83         [  --without-cxx           do not adjust ncurses bool to match C++],
84         [cf_with_cxx=$withval],
85         [cf_with_cxx=yes])
86 AC_MSG_RESULT($cf_with_cxx)
87 if test "X$cf_with_cxx" = Xno ; then
88         CXX=""
89         GXX=""
90 else
91         # with autoconf 2.13, we can change the error to a warning:
92         pushdef([AC_MSG_ERROR],
93                 [AC_MSG_RESULT(no)
94                  AC_MSG_WARN([You don't have any C++ compiler, too bad])
95                 cf_with_cxx=no; CXX=""; GXX="";])dnl
96         AC_PROG_CXX
97         popdef([AC_MSG_ERROR])dnl
98
99         AC_LANG_PUSH(C++)
100         if test "x$cf_with_cxx" != xno
101         then
102                 # Several of the C++ configurations do not work, particularly when
103                 # cross-compiling (20140913 -TD)
104                 AC_MSG_CHECKING(if $CXX works)
105
106                 save_CPPFLAGS="$CPPFLAGS"
107                 eval cf_includedir=${includedir}
108                 CPPFLAGS="$CPPFLAGS -I${cf_includedir}"
109                 AC_TRY_COMPILE([
110 #include <stdlib.h>
111 #include <stdio.h>
112 ],
113                 [
114                 printf("Hello world!\n")
115                 ],
116                 [cf_cxx_works=yes],
117                 [cf_cxx_works=no])
118                 CPPFLAGS="$save_CPPFLAGS"
119
120                 AC_MSG_RESULT($cf_cxx_works)
121                 if test "x$cf_cxx_works" = xno
122                 then
123                         AC_MSG_WARN([Ignore $CXX, since it cannot compile hello-world.])
124                         cf_with_cxx=no; CXX=""; GXX="";
125                 fi
126         fi
127         AC_LANG_POP
128
129         # autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
130         if test "$CXX" = "g++" ; then
131                 AC_PATH_PROG(CXX,g++)
132         fi
133         case "x$CXX" in
134         (x|xg++)
135                 AC_MSG_WARN([You don't have any C++ compiler, too bad])
136                 cf_with_cxx=no; CXX=""; GXX="";
137                 ;;
138         esac
139 fi
140
141 CF_GXX_VERSION
142 case $GXX_VERSION in
143 (1*|2.[[0-6]]*)
144         # GXX=""; CXX=""; ac_cv_prog_gxx=no
145         # cf_cxx_library=no
146         AC_MSG_WARN(templates do not work)
147         ;;
148 esac
149
150 AC_MSG_CHECKING(if you want to build C++ binding and demo)
151 AC_ARG_WITH(cxx-binding,
152         [  --without-cxx-binding   do not build C++ binding and demo],
153         [cf_with_cxx_binding=$withval],
154         [cf_with_cxx_binding=$cf_with_cxx])
155 AC_MSG_RESULT($cf_with_cxx_binding)
156
157 AC_MSG_CHECKING(if you want to build with Ada95)
158 AC_MSG_RESULT($cf_with_ada)
159
160 AC_MSG_CHECKING(if you want to install terminal database)
161 AC_ARG_ENABLE(db-install,
162         [  --disable-db-install    suppress install of terminal database],
163         [cf_with_db_install=$enableval],
164         [cf_with_db_install=yes])
165 AC_MSG_RESULT($cf_with_db_install)
166
167 AC_MSG_CHECKING(if you want to install manpages)
168 AC_ARG_WITH(manpages,
169         [  --without-manpages      suppress install of manpages],
170         [cf_with_manpages=$withval],
171         [cf_with_manpages=yes])
172 AC_MSG_RESULT($cf_with_manpages)
173
174 AC_MSG_CHECKING(if you want to build programs such as tic)
175 AC_ARG_WITH(progs,
176         [  --without-progs         suppress build/install with programs (e.g., tic)],
177         [cf_with_progs=$withval],
178         [cf_with_progs=yes])
179 AC_MSG_RESULT($cf_with_progs)
180
181 AC_MSG_CHECKING(if you want to build test-programs)
182 AC_ARG_WITH(tests,
183         [  --without-tests         suppress build/install with test-programs],
184         [cf_with_tests=$withval],
185         [cf_with_tests=yes])
186 AC_MSG_RESULT($cf_with_tests)
187
188 AC_MSG_CHECKING(if you wish to install curses.h)
189 AC_ARG_WITH(curses-h,
190         [  --without-curses-h      install curses.h as ncurses.h only],
191         [with_curses_h=$withval],
192         [with_curses_h=yes])
193 AC_MSG_RESULT($with_curses_h)
194
195 modules_to_build="ncurses"
196 if test "X$cf_with_progs" != Xno ; then
197 modules_to_build="$modules_to_build progs tack"
198 fi
199 modules_to_build="$modules_to_build panel menu form"
200
201 AC_ARG_PROGRAM
202
203 CF_PROG_AWK
204 CF_PROG_EGREP
205 CF_PROG_INSTALL
206 CF_PROG_LINT
207 CF_PROG_LN_S
208
209 AC_SYS_LONG_FILE_NAMES
210
211 # if we find pkg-config, check if we should install the ".pc" files.
212 CF_PKG_CONFIG
213 CF_WITH_PKG_CONFIG_LIBDIR
214 CF_ENABLE_PC_FILES
215 if test -z "$MAKE_PC_FILES"
216 then
217         AC_MSG_CHECKING(for suffix to add to pc-files)
218 AC_ARG_WITH(pc-suffix,
219         [  --with-pc-suffix        suffixes pc-files],
220         [case "x$withval" in
221         (xyes|xno)
222                 PC_MODULE_SUFFIX=
223                 ;;
224         (*)     PC_MODULE_SUFFIX="$withval"
225                 ;;
226         esac])
227         test -z "$PC_MODULE_SUFFIX" && PC_MODULE_SUFFIX=none
228         AC_MSG_RESULT($PC_MODULE_SUFFIX)
229         test "$PC_MODULE_SUFFIX" = none && PC_MODULE_SUFFIX=
230         AC_SUBST(PC_MODULE_SUFFIX)
231 fi
232
233 AC_MSG_CHECKING(if we should assume mixed-case filenames)
234 AC_ARG_ENABLE(mixed-case,
235         [  --enable-mixed-case     tic should assume mixed-case filenames],
236         [enable_mixedcase=$enableval],
237         [enable_mixedcase=auto])
238 AC_MSG_RESULT($enable_mixedcase)
239 if test "$enable_mixedcase" = "auto" ; then
240         CF_MIXEDCASE_FILENAMES
241 else
242         cf_cv_mixedcase=$enable_mixedcase
243         if test "x$enable_mixedcase" = "xyes" ; then
244                 AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if tic should assume mixed-case filenames])
245         fi
246 fi
247
248 # do this after mixed-case option (tags/TAGS is not as important as tic).
249 AC_PROG_MAKE_SET
250 CF_MAKE_TAGS
251 CF_MAKEFLAGS
252
253 dnl These are standard among *NIX systems, but not when cross-compiling
254 AC_CHECK_TOOL(RANLIB, ranlib, ':')
255 AC_CHECK_TOOL(LD, ld, ld)
256 AC_CHECK_TOOL(AR, ar, ar)
257 AC_CHECK_TOOL(NM, nm, nm)
258 CF_AR_FLAGS
259
260 dnl Special option for use by system-builders: the install-prefix is used to
261 dnl adjust the location into which the actual install is done, so that an
262 dnl archive can be built without modifying the host system's configuration.
263 AC_MSG_CHECKING(if you have specified an install-prefix)
264 AC_ARG_WITH(install-prefix,
265         [  --with-install-prefix   prefixes actual install-location ($DESTDIR)],
266         [case "x$withval" in
267         (xyes|xno)
268                 ;;
269         (*)     DESTDIR="$withval"
270                 ;;
271         esac])
272 AC_MSG_RESULT($DESTDIR)
273 AC_SUBST(DESTDIR)
274
275 ###############################################################################
276 CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:)
277 # If we're cross-compiling, allow the user to override the tools and their
278 # options.  The configure script is oriented toward identifying the host
279 # compiler, etc., but we need a build compiler to generate parts of the source.
280 CF_BUILD_CC
281
282 ###############################################################################
283 CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
284
285 ### Options to allow the user to specify the set of libraries which are used.
286 ### Use "--without-normal --with-shared" to allow the default model to be
287 ### shared, for example.
288 cf_list_models=""
289 AC_SUBST(cf_list_models)dnl     the complete list of models ("normal debug")
290
291 CF_WITH_LIBTOOL
292 if test "$with_libtool" != "no" ; then
293
294 cf_list_models="$cf_list_models libtool"
295
296 else
297
298 AC_MSG_CHECKING(if you want to build shared libraries)
299 AC_ARG_WITH(shared,
300         [  --with-shared           generate shared-libraries],
301         [with_shared=$withval],
302         [with_shared=no])
303 AC_MSG_RESULT($with_shared)
304 test "x$with_shared" = "xyes" && cf_list_models="$cf_list_models shared"
305
306 AC_MSG_CHECKING(if you want to build static libraries)
307 AC_ARG_WITH(normal,
308         [  --with-normal           generate normal-libraries (default)],
309         [with_normal=$withval],
310         [with_normal=yes])
311 AC_MSG_RESULT($with_normal)
312 test "x$with_normal" = "xyes" && cf_list_models="$cf_list_models normal"
313
314 AC_MSG_CHECKING(if you want to build debug libraries)
315 AC_ARG_WITH(debug,
316         [  --with-debug            generate debug-libraries (default)],
317         [with_debug=$withval],
318         [with_debug=yes])
319 AC_MSG_RESULT($with_debug)
320 test "x$with_debug" = "xyes" && cf_list_models="$cf_list_models debug"
321
322 AC_MSG_CHECKING(if you want to build profiling libraries)
323 AC_ARG_WITH(profile,
324         [  --with-profile          generate profile-libraries],
325         [with_profile=$withval],
326         [with_profile=no])
327 AC_MSG_RESULT($with_profile)
328 test "x$with_profile" = "xyes" && cf_list_models="$cf_list_models profile"
329
330 fi
331
332 if test "X$cf_with_cxx_binding" != Xno; then
333 if test "x$with_shared" = "xyes"; then
334 AC_MSG_CHECKING(if you want to build C++ shared libraries)
335 AC_ARG_WITH(cxx-shared,
336         [  --with-cxx-shared       generate C++ shared-libraries],
337         [with_shared_cxx=$withval],
338         [with_shared_cxx=no])
339 AC_MSG_RESULT($with_shared_cxx)
340 fi
341 fi
342
343 ###############################################################################
344
345 AC_MSG_CHECKING(for specified models)
346 test -z "$cf_list_models" && cf_list_models=normal
347 dnl If we use libtool to generate libraries, then it must be the only
348 dnl specified model.
349 test "$with_libtool" != "no" && cf_list_models=libtool
350 AC_MSG_RESULT($cf_list_models)
351
352 ### Use the first model as the default, and save its suffix for use in building
353 ### up test-applications.
354 AC_MSG_CHECKING(for default model)
355 DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
356 AC_MSG_RESULT($DFT_LWR_MODEL)
357
358 CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
359
360 AC_SUBST(DFT_LWR_MODEL)dnl      the default model ("normal")
361 AC_SUBST(DFT_UPR_MODEL)dnl      the default model ("NORMAL")
362
363 TICS_NAME=tic
364 AC_SUBST(TICS_NAME)
365
366 TINFO_NAME=tinfo
367 AC_SUBST(TINFO_NAME)
368
369 LIB_NAME=ncurses
370 AC_SUBST(LIB_NAME)
371
372 LIB_DIR=../lib
373 LIB_2ND=../../lib
374
375 CF_WITH_LIB_PREFIX(cf_prefix)
376
377 LIB_SUFFIX=
378 AC_SUBST(LIB_SUFFIX)
379 CF_PATHSEP
380
381 ###############################################################################
382
383 AC_MSG_CHECKING(if you want to build a separate terminfo library)
384 AC_ARG_WITH(termlib,
385         [  --with-termlib          generate separate terminfo library],
386         [with_termlib=$withval],
387         [with_termlib=no])
388 AC_MSG_RESULT($with_termlib)
389
390 AC_MSG_CHECKING(if you want to build a separate tic library)
391 AC_ARG_WITH(ticlib,
392         [  --with-ticlib           generate separate tic library],
393         [with_ticlib=$withval],
394         [with_ticlib=no])
395 AC_MSG_RESULT($with_ticlib)
396
397 ### Checks for special libraries, must be done up-front.
398 SHLIB_LIST=""
399 CF_WITH_GPM
400 if test "$with_gpm" != no ; then
401         AC_MSG_CHECKING(if you want to load GPM dynamically)
402         AC_ARG_WITH(dlsym,
403                 [  --without-dlsym         do not use dlsym() to load GPM dynamically],
404                 [with_dlsym=$withval],
405                 [with_dlsym=yes])
406         AC_MSG_RESULT($with_dlsym)
407         if test "x$with_dlsym" = xyes ; then
408                 CF_FUNC_DLSYM
409                 if test "x$with_gpm" != xyes ; then
410                         CF_VERBOSE(assuming soname for gpm is $with_gpm)
411                         cf_cv_gpm_soname="$with_gpm"
412                 else
413                         CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
414                 fi
415                 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])
416                 SHLIB_LIST="-ldl $SHLIB_LIST"
417         else
418                 SHLIB_LIST="-lgpm $SHLIB_LIST"
419                 CF_ADD_LIB(gpm,TEST_LIBS)
420         fi
421         AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
422         CF_CHECK_GPM_WGETCH
423 fi
424
425 CF_WITH_SYSMOUSE
426
427 dnl Not all ports of gcc support the -g option
428
429 if test X"$CC_G_OPT" = X"" ; then
430         CC_G_OPT='-g'
431         test -n "$GCC" && test "x${ac_cv_prog_cc_g}" != xyes && CC_G_OPT=''
432 fi
433 AC_SUBST(CC_G_OPT)
434
435 if test X"$CXX_G_OPT" = X"" ; then
436         CXX_G_OPT='-g'
437         test -n "$GXX" && test "x${ac_cv_prog_cxx_g}" != xyes && CXX_G_OPT=''
438 fi
439 AC_SUBST(CXX_G_OPT)
440
441 AC_MSG_CHECKING(for default loader flags)
442 case $DFT_LWR_MODEL in
443 (libtool) LD_MODEL=''   ;;
444 (normal)  LD_MODEL=''   ;;
445 (debug)   LD_MODEL=$CC_G_OPT ;;
446 (profile) LD_MODEL='-pg';;
447 (shared)  LD_MODEL=''   ;;
448 esac
449 AC_SUBST(LD_MODEL)dnl           the type of link (e.g., -g or -pg)
450 AC_MSG_RESULT($LD_MODEL)
451
452 case $DFT_LWR_MODEL in
453 (shared)
454 CF_ENABLE_RPATH
455 AC_MSG_CHECKING(if shared libraries should be relinked during install)
456 AC_ARG_ENABLE(relink,
457 [  --disable-relink        relink shared libraries during install],
458 [cf_cv_do_relink=$enableval],
459 [cf_cv_do_relink=yes])
460 AC_MSG_RESULT($cf_cv_do_relink)
461         ;;
462 esac
463
464 # we will build libraries one-level down.
465 rel_builddir=..
466 CF_SHARED_OPTS
467 for model in $cf_list_models; do
468         case $model in
469         (libtool)
470                 CF_WITH_LIBTOOL_OPTS
471                 CF_WITH_EXPORT_SYMS
472                 ;;
473         (shared)
474                 if test "$CC_SHARED_OPTS" = "unknown"; then
475                         AC_ERROR(Shared libraries are not supported in this version)
476                 fi
477                 CF_WITH_VERSIONED_SYMS
478                 ;;
479         esac
480 done
481
482 # pretend that ncurses==ncursesw==ncursest
483 AC_MSG_CHECKING(if you want to disable library suffixes)
484 CF_ARG_DISABLE(lib-suffixes,
485         [  --disable-lib-suffixes  disable library suffixes],
486         [disable_lib_suffixes=yes],
487         [disable_lib_suffixes=no],
488         no)
489 AC_MSG_RESULT($disable_lib_suffixes)
490
491 ### If we're building with rpath, try to link non-standard libs that way too.
492 if test "$DFT_LWR_MODEL" = "shared"; then
493         CF_DISABLE_RPATH_HACK
494 fi
495
496 ###############################################################################
497 CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
498
499 ###     use option --with-extra-suffix to append suffix to headers and libraries
500 AC_MSG_CHECKING(if you wish to append extra suffix to header/library paths)
501 EXTRA_SUFFIX=
502 AC_ARG_WITH(extra-suffix,
503         [  --with-extra-suffix=X   append extra suffix to header/library paths],
504         [case x$withval in
505         (no)
506                 ;;
507         (xyes|x)
508                 EXTRA_SUFFIX=$cf_cv_abi_version
509                 ;;
510         (*)
511                 EXTRA_SUFFIX=$withval
512                 ;;
513         esac
514         ])
515 AC_MSG_RESULT($EXTRA_SUFFIX)
516 AC_SUBST(EXTRA_SUFFIX)
517
518 ###     use option --disable-overwrite to leave out the link to -lcurses
519 AC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
520 AC_ARG_ENABLE(overwrite,
521         [  --disable-overwrite     put headers in subdir, omit link to -lcurses],
522         [with_overwrite=$enableval],
523         [if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi])
524 AC_MSG_RESULT($with_overwrite)
525
526 AC_MSG_CHECKING(if external terminfo-database is used)
527 AC_ARG_ENABLE(database,
528         [  --disable-database      do not use terminfo, only fallbacks/termcap],
529         [use_database=$enableval],
530         [use_database=yes])
531 AC_MSG_RESULT($use_database)
532
533 case $host_os in
534 (os2*)
535         TERMINFO_SRC='${top_srcdir}/misc/emx.src'
536         ;;
537 (*)
538         TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
539         ;;
540 esac
541 AC_SUBST(TERMINFO_SRC)
542
543 NCURSES_USE_DATABASE=0
544 if test "$use_database" != no ; then
545         NCURSES_USE_DATABASE=1
546
547         AC_MSG_CHECKING(which terminfo source-file will be installed)
548         AC_ARG_WITH(database,
549                 [  --with-database=XXX     specify terminfo source to install],
550                 [TERMINFO_SRC=$withval])
551         AC_MSG_RESULT($TERMINFO_SRC)
552
553         AC_MSG_CHECKING(whether to use hashed database instead of directory/tree)
554         AC_ARG_WITH(hashed-db,
555                 [  --with-hashed-db        specify hashed-database library],,
556                 [with_hashed_db=no])
557         AC_MSG_RESULT($with_hashed_db)
558 else
559         with_hashed_db=no
560 fi
561 AC_SUBST(NCURSES_USE_DATABASE)
562
563 AC_MSG_CHECKING(for list of fallback descriptions)
564 AC_ARG_WITH(fallbacks,
565         [  --with-fallbacks=XXX    specify list of fallback terminal descriptions],
566         [with_fallback=$withval],
567         [with_fallback=])
568 AC_MSG_RESULT($with_fallback)
569 FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
570 AC_SUBST(FALLBACK_LIST)
571
572 AC_MSG_CHECKING(if you want modern xterm or antique)
573 AC_ARG_WITH(xterm-new,
574         [  --without-xterm-new     specify if xterm terminfo should be old version],
575         [with_xterm_new=$withval],
576         [with_xterm_new=yes])
577 case $with_xterm_new in
578 (no) with_xterm_new=xterm-old;;
579 (*)      with_xterm_new=xterm-new;;
580 esac
581 AC_MSG_RESULT($with_xterm_new)
582 WHICH_XTERM=$with_xterm_new
583 AC_SUBST(WHICH_XTERM)
584
585 AC_MSG_CHECKING(if xterm backspace sends BS or DEL)
586 AC_ARG_WITH(xterm-kbs,
587         [  --with-xterm-kbs=XXX    specify if xterm backspace sends BS or DEL],
588         [with_xterm_kbs=$withval],
589         [with_xterm_kbs=BS])
590 case x$with_xterm_kbs in
591 (xyes|xno|xBS|xbs|x8)
592         with_xterm_kbs=BS
593         ;;
594 (xDEL|xdel|x127)
595         with_xterm_kbs=DEL
596         ;;
597 (*)
598         with_xterm_kbs=$withval
599         ;;
600 esac
601 AC_MSG_RESULT($with_xterm_kbs)
602 XTERM_KBS=$with_xterm_kbs
603 AC_SUBST(XTERM_KBS)
604
605 MAKE_TERMINFO=
606 if test "$use_database" = no ; then
607         TERMINFO="${datadir}/terminfo"
608         MAKE_TERMINFO="#"
609 else
610
611 AC_MSG_CHECKING(for list of terminfo directories)
612 CF_WITH_PATHLIST(terminfo-dirs,
613         [  --with-terminfo-dirs=XXX specify list of terminfo directories],
614         TERMINFO_DIRS,
615         DATADIR/terminfo,
616         ${datadir}/terminfo)
617 AC_MSG_RESULT($TERMINFO_DIRS)
618 test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS",[Define as needed to predefine the TERMINFO_DIR searchlist])
619
620 AC_MSG_CHECKING(for default terminfo directory)
621 CF_WITH_PATH(default-terminfo-dir,
622         [  --with-default-terminfo-dir=DIR default terminfo directory],
623         TERMINFO,
624         DATADIR/terminfo,
625         ${datadir}/terminfo)
626 AC_MSG_RESULT($TERMINFO)
627 AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO",[Define to set the default terminal database path])
628
629 fi
630
631 AC_SUBST(TERMINFO)
632 AC_SUBST(MAKE_TERMINFO)
633
634 ###     use option --disable-big-core to make tic run on small machines
635 ###     We need 4Mb, check if we can allocate 50% more than that.
636 AC_MSG_CHECKING(if big-core option selected)
637 AC_ARG_ENABLE(big-core,
638         [  --disable-big-core      assume machine has little memory],
639         [with_big_core=$enableval],
640         [AC_TRY_RUN([
641 #include <stdlib.h>
642 #include <string.h>
643 int main() {
644         unsigned long n = 6000000L;
645         char *s = malloc(n);
646         if (s != 0)
647                 s[0] = s[n-1] = 0;
648         ${cf_cv_main_return:-return}(s == 0);
649 }],
650         [with_big_core=yes],
651         [with_big_core=no],
652         [with_big_core=no])])
653 AC_MSG_RESULT($with_big_core)
654 test "x$with_big_core" = "xyes" && AC_DEFINE(HAVE_BIG_CORE,1,[Define to 1 if machine has ample memory for tic])
655
656 ### ISO C only guarantees 512-char strings, we have tables which load faster
657 ### when constructed using "big" strings.  More than the C compiler, the awk
658 ### program is a limit on most vendor UNIX systems.  Check that we can build.
659 AC_MSG_CHECKING(if big-strings option selected)
660 AC_ARG_ENABLE(big-strings,
661         [  --disable-big-strings   assume compiler has only standard-size strings],
662         [with_big_strings=$enableval],
663         [CF_AWK_BIG_PRINTF(12000,with_big_strings)])
664 AC_MSG_RESULT($with_big_strings)
665
666 USE_BIG_STRINGS=0
667 test "x$with_big_strings" = "xyes" && USE_BIG_STRINGS=1
668 AC_SUBST(USE_BIG_STRINGS)
669
670 ###     use option --enable-termcap to compile in the termcap fallback support
671 AC_MSG_CHECKING(if you want termcap-fallback support)
672 AC_ARG_ENABLE(termcap,
673         [  --enable-termcap        compile in termcap fallback support],
674         [with_termcap=$enableval],
675         [with_termcap=no])
676 AC_MSG_RESULT($with_termcap)
677
678 NCURSES_USE_TERMCAP=0
679 if test "x$with_termcap" != "xyes" ; then
680         if test "$use_database" = no ; then
681                 if test -z "$with_fallback" ; then
682                         AC_ERROR(You have disabled the database w/o specifying fallbacks)
683                 fi
684         fi
685         AC_DEFINE(PURE_TERMINFO,1,[Define to 1 if we should support only terminfo])
686 else
687
688         if test "$with_ticlib" != no ; then
689                 AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
690         fi
691
692         NCURSES_USE_TERMCAP=1
693         AC_MSG_CHECKING(for list of termcap files)
694         CF_WITH_PATHLIST(termpath,
695                 [  --with-termpath=XXX     specify list of termcap files],
696                 TERMPATH,
697                 /etc/termcap:/usr/share/misc/termcap)
698         AC_MSG_RESULT($TERMPATH)
699         test -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH",[Define to set the termcap searchlist])
700
701         ###     use option --enable-getcap to use a hacked getcap for reading termcaps
702         AC_MSG_CHECKING(if fast termcap-loader is needed)
703         AC_ARG_ENABLE(getcap,
704                 [  --enable-getcap         fast termcap load, no xrefs to terminfo],
705                 [with_getcap=$enableval],
706                 [with_getcap=no])
707         AC_MSG_RESULT($with_getcap)
708         test "x$with_getcap" = "xyes" && AC_DEFINE(USE_GETCAP,1,[Define to 1 to use fast termcap-loader])
709
710         AC_MSG_CHECKING(if translated termcaps will be cached in ~/.terminfo)
711         AC_ARG_ENABLE(getcap-cache,
712                 [  --enable-getcap-cache   cache translated termcaps in ~/.terminfo],
713                 [with_getcap_cache=$enableval],
714                 [with_getcap_cache=no])
715         AC_MSG_RESULT($with_getcap_cache)
716         test "x$with_getcap_cache" = "xyes" && AC_DEFINE(USE_GETCAP_CACHE,1,[Define to 1 if translated termcap should be stored in $HOME/.terminfo])
717
718 fi
719 AC_SUBST(NCURSES_USE_TERMCAP)
720
721 ###   Use option --disable-home-terminfo to completely remove ~/.terminfo
722 AC_MSG_CHECKING(if ~/.terminfo is wanted)
723 AC_ARG_ENABLE(home-terminfo,
724         [  --disable-home-terminfo drop ~/.terminfo from terminfo search-path],
725         [with_home_terminfo=$enableval],
726         [with_home_terminfo=yes])
727 AC_MSG_RESULT($with_home_terminfo)
728 test "x$with_home_terminfo" = "xyes" && AC_DEFINE(USE_HOME_TERMINFO,1,[Define to 1 if $HOME/.terminfo feature is wanted])
729
730 AC_MSG_CHECKING(if you want to use restricted environment when running as root)
731 AC_ARG_ENABLE(root-environ,
732         [  --disable-root-environ  restrict environment when running as root],
733         [with_root_environ=$enableval],
734         [with_root_environ=yes])
735 AC_MSG_RESULT($with_root_environ)
736 test "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON,1,[Define to 1 if environment should be restricted for root user])
737
738 ###   Use option --enable-symlinks to make tic use symlinks, not hard links
739 ###   to reduce storage requirements for the terminfo database.
740 CF_LINK_FUNCS
741
742 with_links=no
743 with_symlinks=no
744
745 # soft links (symbolic links) are useful for some systems where hard links do
746 # not work, or to make it simpler to copy terminfo trees around.
747 if test "x$ac_cv_func_symlink" = xyes ; then
748         AC_MSG_CHECKING(if tic should use symbolic links)
749         AC_ARG_ENABLE(symlinks,
750         [  --enable-symlinks       make tic use symbolic links not hard links],
751         [with_symlinks=$enableval],
752         [with_symlinks=no])
753         AC_MSG_RESULT($with_symlinks)
754 fi
755
756 # If we have hard links and did not choose to use soft links instead, there is
757 # no reason to make this choice optional - use the hard links.
758 if test "$with_symlinks" = no ; then
759         AC_MSG_CHECKING(if tic should use hard links)
760         if test "x$ac_cv_func_link" = xyes ; then
761                 with_links=yes
762         else
763                 with_links=no
764         fi
765         AC_MSG_RESULT($with_links)
766 fi
767
768 test "x$with_links" = xyes && AC_DEFINE(USE_LINKS,1,[Define to 1 if hardlinks should be used in terminfo database])
769 test "x$with_symlinks" = xyes && AC_DEFINE(USE_SYMLINKS,1,[Define to 1 if symbolic links should be used in terminfo database])
770
771 ###   use option --enable-broken-linker to force on use of broken-linker support
772 AC_MSG_CHECKING(if you want broken-linker support code)
773 AC_ARG_ENABLE(broken_linker,
774         [  --enable-broken_linker  compile with broken-linker support code],
775         [with_broken_linker=$enableval],
776         [with_broken_linker=${BROKEN_LINKER:-no}])
777 AC_MSG_RESULT($with_broken_linker)
778
779 BROKEN_LINKER=0
780 if test "x$with_broken_linker" = xyes ; then
781         AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
782         BROKEN_LINKER=1
783 elif test "$DFT_LWR_MODEL" = shared ; then
784         case $cf_cv_system_name in
785         (cygwin*)
786                 AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
787                 BROKEN_LINKER=1
788                 CF_VERBOSE(cygwin linker is broken anyway)
789                 ;;
790         esac
791 fi
792 AC_SUBST(BROKEN_LINKER)
793
794 ###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
795 AC_MSG_CHECKING(if tputs should process BSD-style prefix padding)
796 AC_ARG_ENABLE(bsdpad,
797         [  --enable-bsdpad         recognize BSD-style prefix padding],
798         [with_bsdpad=$enableval],
799         [with_bsdpad=no])
800 AC_MSG_RESULT($with_bsdpad)
801 test "x$with_bsdpad" = xyes && AC_DEFINE(BSD_TPUTS,1,[Define to 1 to recognize BSD-style prefix padding])
802
803 ###   use option --enable-widec to turn on use of wide-character support
804 NCURSES_CH_T=chtype
805 NCURSES_LIBUTF8=0
806
807 NEED_WCHAR_H=0
808 NCURSES_MBSTATE_T=0
809 NCURSES_WCHAR_T=0
810 NCURSES_WINT_T=0
811
812 # Check to define _XOPEN_SOURCE "automatically"
813 CPPFLAGS_before_XOPEN="$CPPFLAGS"
814 CF_XOPEN_SOURCE(500)
815 CPPFLAGS_after_XOPEN="$CPPFLAGS"
816
817 # Work around breakage on OS X
818 CF_SIGWINCH
819
820 # Checks for CODESET support.
821 AM_LANGINFO_CODESET
822
823 # use these variables to work around a defect in gcc's fixincludes.
824 NCURSES_OK_WCHAR_T=
825 NCURSES_OK_WINT_T=
826
827 AC_MSG_CHECKING(if you want wide-character code)
828 AC_ARG_ENABLE(widec,
829         [  --enable-widec          compile with wide-char/UTF-8 code],
830         [with_widec=$enableval],
831         [with_widec=no])
832 AC_MSG_RESULT($with_widec)
833 if test "x$with_widec" = xyes ; then
834         if test "x$disable_lib_suffixes" = xno ; then
835                 LIB_SUFFIX="w${LIB_SUFFIX}"
836         fi
837         AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to compile with wide-char/UTF-8 code])
838         AC_DEFINE(NCURSES_WIDECHAR,1,[Define to 1 to compile with wide-char/UTF-8 code])
839
840         CF_CHECK_WCHAR_H
841
842         # with_overwrite=no
843         NCURSES_CH_T=cchar_t
844         AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
845         if test "x$ac_cv_func_putwc" != xyes ; then
846                 CF_UTF8_LIB
847                 if test "$cf_cv_utf8_lib" != no ; then
848                         NCURSES_LIBUTF8=1
849                 fi
850         fi
851         CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T)
852         CF_WCHAR_TYPE(wchar_t,   NCURSES_WCHAR_T,   NCURSES_OK_WCHAR_T)
853         CF_WCHAR_TYPE(wint_t,    NCURSES_WINT_T,    NCURSES_OK_WINT_T)
854
855         if test "$NCURSES_MBSTATE_T" != 0; then
856                 AC_DEFINE(NEED_MBSTATE_T_DEF,1,[Define to 1 if we must declare mbstate_t])
857         fi
858 fi
859 AC_SUBST(NCURSES_CH_T)
860 AC_SUBST(NCURSES_LIBUTF8)
861
862 AC_SUBST(NEED_WCHAR_H)
863 AC_SUBST(NCURSES_MBSTATE_T)
864 AC_SUBST(NCURSES_WCHAR_T)
865 AC_SUBST(NCURSES_WINT_T)
866
867 AC_SUBST(NCURSES_OK_WCHAR_T)
868 AC_SUBST(NCURSES_OK_WINT_T)
869
870 ###   use option --disable-lp64 to allow long chtype
871 AC_MSG_CHECKING(whether to enable _LP64 definition in curses.h)
872 AC_ARG_ENABLE(lp64,
873         [  --disable-lp64          allow chtype to be long (ignore _LP64)],
874         [with_lp64=$enableval],
875         [with_lp64=$cf_dft_with_lp64])
876 AC_MSG_RESULT($with_lp64)
877
878 if test "x$with_lp64" = xyes ; then
879         cf_cv_enable_lp64=1
880 else
881         cf_cv_enable_lp64=0
882 fi
883 AC_SUBST(cf_cv_enable_lp64)
884
885 CF_LARGEFILE
886
887 ###   use option --disable-tparm-varargs to make tparm() conform to X/Open
888 AC_MSG_CHECKING(if you want tparm not to use X/Open fixed-parameter list)
889 AC_ARG_ENABLE(tparm-varargs,
890         [  --disable-tparm-varargs compile tparm() without varargs interface],
891         [with_tparm_varargs=$enableval],
892         [with_tparm_varargs=yes])
893 AC_MSG_RESULT($with_tparm_varargs)
894 NCURSES_TPARM_VARARGS=0
895 test "x$with_tparm_varargs" = xyes && NCURSES_TPARM_VARARGS=1
896 AC_SUBST(NCURSES_TPARM_VARARGS)
897
898 ###   use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
899 if test "$with_ticlib" != no ; then
900 AC_MSG_CHECKING(if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library)
901 AC_ARG_ENABLE(tic-depends,
902         [  --disable-tic-depends   link tic library without explicit dependency on ncurses library],
903         [with_tic_depends=$enableval],
904         [with_tic_depends=yes])
905 AC_MSG_RESULT($with_tic_depends)
906 else
907         with_tic_depends=no
908 fi
909
910 ###   use option --with-bool to override bool's type
911 AC_MSG_CHECKING(for type of bool)
912 AC_ARG_WITH(bool,
913         [  --with-bool=TYPE        override fallback type of bool variable],
914         [NCURSES_BOOL="$withval"],
915         [NCURSES_BOOL=auto])
916 AC_MSG_RESULT($NCURSES_BOOL)
917 AC_SUBST(NCURSES_BOOL)
918
919 AC_MSG_CHECKING(for alternate terminal capabilities file)
920 AC_ARG_WITH(caps,
921         [  --with-caps=alt         compile with alternate Caps file],
922         [TERMINFO_CAPS=Caps.$withval],
923         [TERMINFO_CAPS=Caps])
924 test -f "${srcdir}/include/${TERMINFO_CAPS}" || TERMINFO_CAPS=Caps
925 AC_MSG_RESULT($TERMINFO_CAPS)
926 AC_SUBST(TERMINFO_CAPS)
927
928 ###   use option --with-chtype to override chtype's type
929 AC_MSG_CHECKING(for type of chtype)
930 AC_ARG_WITH(chtype,
931         [  --with-chtype=TYPE      override type of chtype],
932         [NCURSES_CHTYPE="$withval"],
933         [NCURSES_CHTYPE=$cf_dft_chtype])
934 AC_MSG_RESULT($NCURSES_CHTYPE)
935
936 ###   use option --with-ospeed to override ospeed's type
937 AC_MSG_CHECKING(for type of ospeed)
938 AC_ARG_WITH(ospeed,
939         [  --with-ospeed=TYPE      override type of ospeed variable],
940         [NCURSES_OSPEED="$withval"],
941         [NCURSES_OSPEED=short])
942 AC_MSG_RESULT($NCURSES_OSPEED)
943 AC_SUBST(NCURSES_OSPEED)
944
945 ###   use option --with-mmask-t to override mmask_t's type
946 AC_MSG_CHECKING(for type of mmask_t)
947 AC_ARG_WITH(mmask-t,
948         [  --with-mmask-t=TYPE     override type of mmask_t],
949         [NCURSES_MMASK_T="$withval"],
950         [NCURSES_MMASK_T=$cf_dft_mmask_t])
951 AC_MSG_RESULT($NCURSES_MMASK_T)
952
953 ###   use option --with-ccharw-max to override CCHARW_MAX size
954 AC_MSG_CHECKING(for size CCHARW_MAX)
955 AC_ARG_WITH(ccharw-max,
956         [  --with-ccharw-max=XXX   override size CCHARW_MAX],
957         [NCURSES_CCHARW_MAX="$withval"],
958         [NCURSES_CCHARW_MAX=5])
959 AC_MSG_RESULT($NCURSES_CCHARW_MAX)
960 AC_SUBST(NCURSES_CCHARW_MAX)
961
962 ###   use option --with-tparm-arg to override tparm's argument type
963 AC_MSG_CHECKING(for type of tparm args)
964 AC_ARG_WITH(tparm-arg,
965         [  --with-tparm-arg=TYPE   override parameter type of tparm],
966         [NCURSES_TPARM_ARG="$withval"],
967         [NCURSES_TPARM_ARG=$cf_dft_tparm_arg])
968 AC_MSG_RESULT($NCURSES_TPARM_ARG)
969 AC_SUBST(NCURSES_TPARM_ARG)
970
971 ### Enable compiling-in rcs id's
972 AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
973 AC_ARG_WITH(rcs-ids,
974         [  --with-rcs-ids          compile-in RCS identifiers],
975         [with_rcs_ids=$withval],
976         [with_rcs_ids=no])
977 AC_MSG_RESULT($with_rcs_ids)
978 test "x$with_rcs_ids" = xyes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 to compile-in RCS identifiers])
979
980 ###############################################################################
981 CF_MAN_PAGES([ captoinfo clear infocmp infotocap tabs tic toe tput tset ])
982
983 ###############################################################################
984 CF_HELP_MESSAGE(Extensions:)
985
986 ### Note that some functions (such as const) are normally disabled anyway.
987 AC_MSG_CHECKING(if you want to build with function extensions)
988 AC_ARG_ENABLE(ext-funcs,
989         [  --disable-ext-funcs     disable function-extensions],
990         [with_ext_funcs=$enableval],
991         [with_ext_funcs=yes])
992 AC_MSG_RESULT($with_ext_funcs)
993 if test "x$with_ext_funcs" = xyes ; then
994         NCURSES_EXT_FUNCS=1
995         AC_DEFINE(HAVE_ASSUME_DEFAULT_COLORS,1,[Define to 1 to enable assume_default_colors() function])
996         AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 to enable curses_version() function])
997         AC_DEFINE(HAVE_HAS_KEY,1,[Define to 1 to enable has_key() function])
998         AC_DEFINE(HAVE_RESIZETERM,1,[Define to 1 to enable resizeterm() function])
999         AC_DEFINE(HAVE_RESIZE_TERM,1,[Define to 1 to enable resize_term() function])
1000         AC_DEFINE(HAVE_TERM_ENTRY_H,1,[Define to 1 to enable term_entry() function])
1001         AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 to enable use_default_colors() function])
1002         AC_DEFINE(HAVE_USE_SCREEN,1,[Define to 1 to enable use_screen() function])
1003         AC_DEFINE(HAVE_USE_WINDOW,1,[Define to 1 to enable use_window() function])
1004         AC_DEFINE(HAVE_WRESIZE,1,[Define to 1 to enable wresize() function])
1005         AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 to enable ncurses extended functions])
1006         GENERATED_EXT_FUNCS=generated
1007 else
1008         NCURSES_EXT_FUNCS=0
1009         GENERATED_EXT_FUNCS=
1010 fi
1011 AC_SUBST(NCURSES_EXT_FUNCS)
1012 AC_SUBST(GENERATED_EXT_FUNCS)
1013
1014 AC_MSG_CHECKING(if you want to build with SCREEN extensions)
1015 AC_ARG_ENABLE(sp-funcs,
1016         [  --enable-sp-funcs       enable SCREEN-extensions],
1017         [with_sp_funcs=$enableval],
1018         [with_sp_funcs=$cf_dft_ext_spfuncs])
1019 AC_MSG_RESULT($with_sp_funcs)
1020 if test "x$with_sp_funcs" = xyes ; then
1021         NCURSES_SP_FUNCS=1
1022         AC_DEFINE(NCURSES_SP_FUNCS,1,[Define to 1 to enable SCREEN-extensions])
1023         GENERATED_SP_FUNCS=generated
1024 else
1025         NCURSES_SP_FUNCS=0
1026         GENERATED_SP_FUNCS=
1027 fi
1028 AC_SUBST(NCURSES_SP_FUNCS)
1029 AC_SUBST(GENERATED_SP_FUNCS)
1030
1031 AC_MSG_CHECKING(if you want to build with terminal-driver)
1032 AC_ARG_ENABLE(term-driver,
1033         [  --enable-term-driver    enable terminal-driver],
1034         [with_term_driver=$enableval],
1035         [with_term_driver=no])
1036 AC_MSG_RESULT($with_term_driver)
1037 if test "x$with_term_driver" = xyes ; then
1038         AC_DEFINE(USE_TERM_DRIVER,1,[Define to 1 to enable terminal-driver])
1039         if test "x$with_termlib" != xno ; then
1040                 AC_MSG_ERROR(The term-driver option conflicts with the termlib option)
1041         fi
1042         if test "x$with_sp_funcs" != xyes ; then
1043                 AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
1044         fi
1045 fi
1046
1047 ###   use option --enable-const to turn on use of const beyond that in XSI.
1048 AC_MSG_CHECKING(for extended use of const keyword)
1049 AC_ARG_ENABLE(const,
1050         [  --enable-const          compile with extra/non-standard const],
1051         [with_ext_const=$enableval],
1052         [with_ext_const=$cf_dft_ext_const])
1053 AC_MSG_RESULT($with_ext_const)
1054 NCURSES_CONST='/*nothing*/'
1055 if test "x$with_ext_const" = xyes ; then
1056         NCURSES_CONST=const
1057 fi
1058 AC_SUBST(NCURSES_CONST)
1059
1060 ###   use option --enable-ext-colors to turn on use of colors beyond 16.
1061 AC_MSG_CHECKING(if you want to use extended colors)
1062 AC_ARG_ENABLE(ext-colors,
1063         [  --enable-ext-colors     compile for 256-color support],
1064         [with_ext_colors=$enableval],
1065         [with_ext_colors=$cf_dft_ext_colors])
1066 AC_MSG_RESULT($with_ext_colors)
1067 NCURSES_EXT_COLORS=0
1068 if test "x$with_ext_colors" = xyes ; then
1069         if test "x$with_widec" != xyes ; then
1070                 AC_MSG_WARN(This option applies only to wide-character library)
1071         else
1072                 # cannot be ABI 5 since it changes sizeof(cchar_t)
1073                 CF_NCURSES_ABI_6
1074                 NCURSES_EXT_COLORS=1
1075                 AC_DEFINE(NCURSES_EXT_COLORS,1,[Define to 1 to compile for 256-color support])
1076         fi
1077 fi
1078 AC_SUBST(NCURSES_EXT_COLORS)
1079
1080 ###   use option --enable-ext-mouse to modify coding to support 5-button mice
1081 AC_MSG_CHECKING(if you want to use extended mouse encoding)
1082 AC_ARG_ENABLE(ext-mouse,
1083         [  --enable-ext-mouse      compile for extended mouse-encoding],
1084         [with_ext_mouse=$enableval],
1085         [with_ext_mouse=$cf_dft_ext_mouse])
1086 AC_MSG_RESULT($with_ext_mouse)
1087 NCURSES_MOUSE_VERSION=1
1088 if test "x$with_ext_mouse" = xyes ; then
1089         NCURSES_MOUSE_VERSION=2
1090         CF_NCURSES_ABI_6
1091 fi
1092 AC_SUBST(NCURSES_MOUSE_VERSION)
1093
1094 ###   use option --enable-ext-putwin to turn on extended screendumps
1095 AC_MSG_CHECKING(if you want to use extended putwin/screendump)
1096 AC_ARG_ENABLE(ext-putwin,
1097         [  --enable-ext-putwin     compile with extended putwin/screendump],
1098         [with_ext_putwin=$enableval],
1099         [with_ext_putwin=$cf_dft_ext_putwin])
1100 AC_MSG_RESULT($with_ext_putwin)
1101 if test "x$with_ext_putwin" = xyes ; then
1102         AC_DEFINE(NCURSES_EXT_PUTWIN,1,[Define to 1 to compile with extended putwin/screendump])
1103 fi
1104
1105 AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
1106 AC_ARG_ENABLE(no-padding,
1107         [  --enable-no-padding     compile with $NCURSES_NO_PADDING code],
1108         [with_no_padding=$enableval],
1109         [with_no_padding=$with_ext_funcs])
1110 AC_MSG_RESULT($with_no_padding)
1111 test "x$with_no_padding" = xyes && AC_DEFINE(NCURSES_NO_PADDING,1,[Define to 1 to compile with $NCURSES_NO_PADDING code])
1112
1113 AC_CHECK_SIZEOF([signed char], 0)
1114 if test "$ac_cv_sizeof_signed_char" = 1 ; then
1115         NCURSES_SBOOL="signed char"
1116 else
1117         NCURSES_SBOOL="char"
1118 fi
1119 AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
1120 AC_ARG_ENABLE(signed-char,
1121         [  --enable-signed-char    compile using signed Boolean's in term.h],
1122         [with_signed_char=$enableval],
1123         [with_signed_char=no])
1124 AC_MSG_RESULT($with_signed_char)
1125 test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
1126 AC_SUBST(NCURSES_SBOOL)
1127
1128 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
1129 AC_MSG_CHECKING(if you want SIGWINCH handler)
1130 AC_ARG_ENABLE(sigwinch,
1131         [  --enable-sigwinch       compile with SIGWINCH handler],
1132         [with_sigwinch=$enableval],
1133         [with_sigwinch=$with_ext_funcs])
1134 AC_MSG_RESULT($with_sigwinch)
1135 test "x$with_sigwinch" = xyes && AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
1136
1137 ###   use option --enable-tcap-names to allow user to define new capabilities
1138 AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
1139 AC_ARG_ENABLE(tcap-names,
1140         [  --enable-tcap-names     compile with user-definable terminal capabilities],
1141         [with_tcap_names=$enableval],
1142         [with_tcap_names=$with_ext_funcs])
1143 AC_MSG_RESULT($with_tcap_names)
1144 NCURSES_XNAMES=0
1145 test "x$with_tcap_names" = xyes && NCURSES_XNAMES=1
1146 AC_SUBST(NCURSES_XNAMES)
1147
1148 ###############################################################################
1149 # These options are relatively safe to experiment with.
1150 CF_HELP_MESSAGE(Development Code:)
1151 AC_MSG_CHECKING(if you want all development code)
1152 AC_ARG_WITH(develop,
1153         [  --without-develop       disable development options],
1154         [with_develop=$withval],
1155         [with_develop=no])
1156 AC_MSG_RESULT($with_develop)
1157
1158 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
1159 AC_MSG_CHECKING(if you want hard-tabs code)
1160 AC_ARG_ENABLE(hard-tabs,
1161         [  --enable-hard-tabs      compile with hard-tabs code],,
1162         [enable_hard_tabs=$with_develop])
1163 AC_MSG_RESULT($enable_hard_tabs)
1164 test "x$enable_hard_tabs" = xyes && AC_DEFINE(USE_HARD_TABS,1,[Define to 1 to compile with hard-tabs code])
1165
1166 ###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
1167 AC_MSG_CHECKING(if you want limited support for xmc)
1168 AC_ARG_ENABLE(xmc-glitch,
1169         [  --enable-xmc-glitch     compile with support for xmc (magic-cookie)],,
1170         [enable_xmc_glitch=$with_develop])
1171 AC_MSG_RESULT($enable_xmc_glitch)
1172 test "x$enable_xmc_glitch" = xyes && AC_DEFINE(USE_XMC_SUPPORT,1,[Define to 1 to compile with support for xmc (magic-cookie)])
1173
1174 ###############################################################################
1175 # These are just experimental, probably should not be in a package:
1176 CF_HELP_MESSAGE(Experimental Code:)
1177
1178 AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
1179 AC_ARG_ENABLE(assumed-color,
1180         [  --disable-assumed-color do not assume anything about default-colors],
1181         [with_assumed_color=$enableval],
1182         [with_assumed_color=yes])
1183 AC_MSG_RESULT($with_assumed_color)
1184 test "x$with_assumed_color" = xyes && AC_DEFINE(USE_ASSUMED_COLOR,1,[Define to 1 to assume things about default-colors])
1185
1186 ###   use option --enable-hashmap to turn on use of hashmap scrolling logic
1187 AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
1188 AC_ARG_ENABLE(hashmap,
1189         [  --disable-hashmap       compile without hashmap scrolling-optimization],
1190         [with_hashmap=$enableval],
1191         [with_hashmap=yes])
1192 AC_MSG_RESULT($with_hashmap)
1193 test "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP,1,[Define to 1 to compile with hashmap scrolling-optimization])
1194
1195 ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
1196 AC_MSG_CHECKING(if you want colorfgbg code)
1197 AC_ARG_ENABLE(colorfgbg,
1198         [  --enable-colorfgbg      compile-in experimental $COLORFGBG code],
1199         [with_colorfgbg=$enableval],
1200         [with_colorfgbg=no])
1201 AC_MSG_RESULT($with_colorfgbg)
1202 test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code])
1203
1204 ###   use option --enable-interop to turn on use of bindings used for interop
1205 AC_MSG_CHECKING(if you want interop bindings)
1206 AC_ARG_ENABLE(interop,
1207         [  --enable-interop        compile-in interop bindings],
1208         [with_exp_interop=$enableval],
1209         [with_exp_interop=$cf_dft_interop])
1210 AC_MSG_RESULT($with_exp_interop)
1211
1212 NCURSES_INTEROP_FUNCS=0
1213 test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
1214 AC_SUBST(NCURSES_INTEROP_FUNCS)
1215
1216 # This is still experimental (20080329), but should ultimately be moved to
1217 # the script-block --with-normal, etc.
1218 CF_WITH_PTHREAD
1219
1220 if test "x$with_pthread" != xno; then
1221         AC_CHECK_FUNC(pthread_kill,[
1222                 AC_MSG_CHECKING(if you want to allow EINTR in wgetch with pthreads)
1223                 AC_ARG_ENABLE(pthreads-eintr,
1224                         [  --enable-pthreads-eintr enable EINTR in wgetch with pthreads],
1225                         [use_pthreads_eintr=$enableval],
1226                         [use_pthreads_eintr=no])
1227                 AC_MSG_RESULT($use_pthreads_eintr)
1228                 if test "x$use_pthreads_eintr" = xyes ; then
1229                         AC_DEFINE(USE_PTHREADS_EINTR,1,[Define to 1 to enable EINTR in wgetch with pthreads])
1230                 fi])
1231
1232         AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
1233         AC_ARG_ENABLE(weak-symbols,
1234                 [  --enable-weak-symbols   enable weak-symbols for pthreads],
1235                 [use_weak_symbols=$enableval],
1236                 [use_weak_symbols=no])
1237         AC_MSG_RESULT($use_weak_symbols)
1238         if test "x$use_weak_symbols" = xyes ; then
1239                 CF_WEAK_SYMBOLS
1240         else
1241                 cf_cv_weak_symbols=no
1242         fi
1243
1244         if test "x$cf_cv_weak_symbols" = xyes ; then
1245                 AC_DEFINE(USE_WEAK_SYMBOLS,1,[Define to 1 to enable weak-symbols for pthreads])
1246         fi
1247 fi
1248
1249 PTHREAD=
1250 if test "x$with_pthread" = "xyes" ; then
1251         AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use pthreads feature])
1252         enable_reentrant=yes
1253         if test "x$cf_cv_weak_symbols" = xyes ; then
1254                 PTHREAD=-lpthread
1255         fi
1256 fi
1257 AC_SUBST(PTHREAD)
1258
1259 # Reentrant code has to be opaque; there's little advantage to making ncurses
1260 # opaque outside of that, so there is no --enable-opaque option.  We can use
1261 # this option without --with-pthreads, but this will be always set for
1262 # pthreads.
1263 AC_MSG_CHECKING(if you want reentrant code)
1264 AC_ARG_ENABLE(reentrant,
1265         [  --enable-reentrant      compile with reentrant code],
1266         [with_reentrant=$enableval],
1267         [with_reentrant=no])
1268 AC_MSG_RESULT($with_reentrant)
1269 if test "x$with_reentrant" = xyes ; then
1270         cf_cv_enable_reentrant=1
1271         cf_cv_enable_opaque="NCURSES_INTERNALS"
1272         NCURSES_OPAQUE=1
1273         NCURSES_SIZE_T=int
1274         if test "x$cf_cv_weak_symbols" = xyes ; then
1275                 CF_REMOVE_LIB(LIBS,$LIBS,pthread)
1276                 CF_ADD_LIB(pthread,TEST_LIBS)
1277                 CF_ADD_LIB(pthread,TEST_LIBS2)
1278         else
1279                 # when not using weak symbols but with_reentrant,
1280                 # add 't' to the library suffix on all platforms
1281                 # except cygwin, where we only do that if ALSO
1282                 # compiling with full thread support.
1283                 case "$host" in
1284                 (*cygwin* | *msys*)
1285                         if test "$with_pthread" = "yes" ; then
1286                                 if test "x$disable_lib_suffixes" = "xno" ; then
1287                                         LIB_SUFFIX="t${LIB_SUFFIX}"
1288                                 fi
1289                         fi ;;
1290                 (*)
1291                         if test "x$disable_lib_suffixes" = "xno" ; then
1292                                 LIB_SUFFIX="t${LIB_SUFFIX}"
1293                         fi
1294                         ;;
1295                 esac
1296         fi
1297         AC_DEFINE(USE_REENTRANT,1,[Define to 1 to use reentrant feature])
1298         CF_NCURSES_ABI_6
1299 else
1300         cf_cv_enable_reentrant=0
1301         cf_cv_enable_opaque="NCURSES_OPAQUE"
1302         NCURSES_OPAQUE=0
1303         NCURSES_SIZE_T=short
1304 fi
1305 AC_SUBST(cf_cv_enable_reentrant)
1306 AC_SUBST(cf_cv_enable_opaque)
1307 AC_SUBST(NCURSES_OPAQUE)
1308 AC_SUBST(NCURSES_SIZE_T)
1309
1310 ### Allow using a different wrap-prefix
1311 if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
1312         AC_MSG_CHECKING(for prefix used to wrap public variables)
1313         AC_ARG_WITH(wrap-prefix,
1314                 [  --with-wrap-prefix=XXX  override prefix used for public variables],
1315                 [NCURSES_WRAP_PREFIX=$withval],
1316                 [NCURSES_WRAP_PREFIX=_nc_])
1317         AC_MSG_RESULT($NCURSES_WRAP_PREFIX)
1318 else
1319         NCURSES_WRAP_PREFIX=_nc_
1320 fi
1321 AC_SUBST(NCURSES_WRAP_PREFIX)
1322 AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ prefix])
1323
1324 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
1325 AC_ARG_ENABLE(safe-sprintf,
1326         [  --enable-safe-sprintf   compile with experimental safe-sprintf code],
1327         [with_safe_sprintf=$enableval],
1328         [with_safe_sprintf=no])
1329 AC_MSG_RESULT($with_safe_sprintf)
1330 test "x$with_safe_sprintf" = xyes && AC_DEFINE(USE_SAFE_SPRINTF,1,[Define to 1 to compile with experimental safe-sprintf code])
1331
1332 ###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
1333 # when hashmap is used scroll hints are useless
1334 if test "$with_hashmap" = no ; then
1335 AC_MSG_CHECKING(if you want to experiment without scrolling-hints code)
1336 AC_ARG_ENABLE(scroll-hints,
1337         [  --disable-scroll-hints  compile without scroll-hints code],
1338         [with_scroll_hints=$enableval],
1339         [with_scroll_hints=yes])
1340 AC_MSG_RESULT($with_scroll_hints)
1341 test "x$with_scroll_hints" = xyes && AC_DEFINE(USE_SCROLL_HINTS,1,[Define to 1 to compile without scroll-hints code])
1342 fi
1343
1344 AC_MSG_CHECKING(if you want wgetch-events code)
1345 AC_ARG_ENABLE(wgetch-events,
1346         [  --enable-wgetch-events  compile with wgetch-events code],
1347         [with_wgetch_events=$enableval],
1348         [with_wgetch_events=no])
1349 AC_MSG_RESULT($with_wgetch_events)
1350 test "x$with_wgetch_events" = xyes && AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with wgetch-events code])
1351
1352 ###############################################################################
1353 CF_HELP_MESSAGE(Testing/development Options:)
1354
1355 ###     use option --disable-echo to suppress full display compiling commands
1356 CF_DISABLE_ECHO
1357 if test "x$enable_echo" = xyes; then
1358         ECHO_LINK=
1359 else
1360         ECHO_LINK='@ echo linking $@ ... ;'
1361         test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
1362         test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
1363 fi
1364 AC_SUBST(ECHO_LINK)
1365
1366 ###     use option --enable-warnings to turn on all gcc warnings
1367 AC_MSG_CHECKING(if you want to see compiler warnings)
1368 AC_ARG_ENABLE(warnings,
1369         [  --enable-warnings       build: turn on GCC compiler warnings],
1370         [with_warnings=$enableval])
1371 AC_MSG_RESULT($with_warnings)
1372
1373 if test "x$with_warnings" = "xyes"; then
1374         CF_ADD_ADAFLAGS(-gnatg)
1375         CF_GCC_WARNINGS(Wno-unknown-pragmas Wswitch-enum)
1376         if test "x$cf_with_cxx" = xyes ; then
1377                 CF_GXX_WARNINGS(Wno-unused)
1378         fi
1379 fi
1380 CF_GCC_ATTRIBUTES
1381 CF_ENABLE_STRING_HACKS
1382
1383 ###     use option --enable-assertions to turn on generation of assertion code
1384 AC_MSG_CHECKING(if you want to enable runtime assertions)
1385 AC_ARG_ENABLE(assertions,
1386         [  --enable-assertions     test: turn on generation of assertion code],
1387         [with_assertions=$enableval],
1388         [with_assertions=no])
1389 AC_MSG_RESULT($with_assertions)
1390 if test -n "$GCC"
1391 then
1392         if test "$with_assertions" = no
1393         then
1394                 CPPFLAGS="$CPPFLAGS -DNDEBUG"
1395         else
1396                 CF_ADD_ADAFLAGS(-gnata)
1397         fi
1398 fi
1399
1400 ###     use option --disable-leaks to suppress "permanent" leaks, for testing
1401 CF_DISABLE_LEAKS
1402 AC_DEFINE(HAVE_NC_ALLOC_H,1,[Define to 1 if we have nc_alloc.h header])
1403
1404 ###     use option --enable-expanded to generate certain macros as functions
1405 AC_ARG_ENABLE(expanded,
1406         [  --enable-expanded       test: generate functions for certain macros],
1407         [test "x$enableval" = xyes && AC_DEFINE(NCURSES_EXPANDED,1,[Define to 1 to generate functions for certain macros])])
1408
1409 ###     use option --disable-macros to suppress macros in favor of functions
1410 AC_ARG_ENABLE(macros,
1411         [  --disable-macros        test: use functions rather than macros],
1412         [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS,1,[Define to 1 to use functions rather than macros])])
1413
1414 # Normally we only add trace() to the debug-library.  Allow this to be
1415 # extended to all models of the ncurses library:
1416 cf_all_traces=no
1417 case "$CFLAGS $CPPFLAGS" in
1418 (*-DTRACE*)
1419         cf_all_traces=yes
1420         ;;
1421 esac
1422
1423 AC_MSG_CHECKING(whether to add trace feature to all models)
1424 AC_ARG_WITH(trace,
1425 [  --with-trace            test: add trace() function to all models of ncurses],
1426 [cf_with_trace=$withval],
1427 [cf_with_trace=$cf_all_traces])
1428 AC_MSG_RESULT($cf_with_trace)
1429
1430 if test "x$cf_with_trace" = xyes ; then
1431         LIB_TRACING=all
1432         ADA_TRACE=TRUE
1433         CF_ADD_CFLAGS(-DTRACE)
1434 else
1435         LIB_TRACING=DEBUG
1436         ADA_TRACE=FALSE
1437 fi
1438
1439 AC_SUBST(ADA_TRACE)
1440
1441 CF_DISABLE_GNAT_PROJECTS
1442
1443 ###     Checks for libraries.
1444 case $cf_cv_system_name in
1445 (*mingw32*|*mingw64*)
1446         CPPFLAGS="$CPPFLAGS -DWINVER=0x0501"
1447         LIBS=" -lpsapi $LIBS"
1448         ;;
1449 (*)
1450 AC_CHECK_FUNC(gettimeofday,
1451         AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function]),[
1452
1453 AC_CHECK_LIB(bsd, gettimeofday,
1454         AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function])
1455         CF_ADD_LIB(bsd))])dnl CLIX: bzero, select, gettimeofday
1456         ;;
1457 esac
1458
1459 CF_MATH_LIB(MATH_LIB,pow(sin(x),x))
1460 AC_SUBST(MATH_LIB)
1461
1462 ###     Checks for header files.
1463 AC_STDC_HEADERS
1464 AC_HEADER_DIRENT
1465 AC_HEADER_TIME
1466 CF_REGEX
1467
1468 dnl These are some other potentially nonportable headers.
1469 AC_CHECK_HEADERS( \
1470 fcntl.h \
1471 getopt.h \
1472 limits.h \
1473 locale.h \
1474 math.h \
1475 poll.h \
1476 sys/bsdtypes.h \
1477 sys/ioctl.h \
1478 sys/param.h \
1479 sys/poll.h \
1480 sys/select.h \
1481 sys/time.h \
1482 sys/times.h \
1483 ttyent.h \
1484 unistd.h \
1485 wctype.h \
1486 )
1487
1488 CF_GETOPT_HEADER
1489
1490 # check for ISC (this may also define _POSIX_SOURCE)
1491 # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
1492 if test "x$ISC" = xyes ; then
1493         AC_CHECK_LIB(cposix,main)
1494         AC_CHECK_LIB(inet,bzero,CF_ADD_LIB(inet))dnl also 'select()'
1495 fi
1496
1497 CF_SYS_TIME_SELECT
1498
1499 ###     checks for compiler characteristics
1500 AC_LANG_C
1501 AC_C_CONST
1502 CF_C_INLINE(NCURSES_INLINE,1200)
1503 CF_SIG_ATOMIC_T
1504
1505 if test $NCURSES_CHTYPE = auto ; then
1506         CF_TYPEOF_CHTYPE
1507 else
1508         cf_cv_typeof_chtype=$NCURSES_CHTYPE
1509 fi
1510 test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
1511 AC_SUBST(cf_cv_typeof_chtype)
1512
1513 CF_UNSIGNED_LITERALS
1514 cf_cv_1UL="1"
1515 test ".$cf_cv_unsigned_literals" = .yes && cf_cv_1UL="${cf_cv_1UL}U"
1516 test ".$cf_cv_typeof_chtype"    = .long && cf_cv_1UL="${cf_cv_1UL}L"
1517 AC_SUBST(cf_cv_1UL)
1518
1519 if test $NCURSES_MMASK_T = auto ; then
1520         cf_cv_typeof_mmask_t=long
1521 else
1522         cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
1523 fi
1524 test "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t=""
1525 AC_SUBST(cf_cv_typeof_mmask_t)
1526
1527 ###     Checks for external-data
1528 CF_ERRNO
1529 CF_LINK_DATAONLY
1530
1531 ###     Checks for library functions.
1532 AC_CHECK_FUNCS( \
1533 getcwd \
1534 getegid \
1535 geteuid \
1536 getopt \
1537 getttynam \
1538 issetugid \
1539 poll \
1540 putenv \
1541 remove \
1542 select \
1543 setbuf \
1544 setbuffer \
1545 setenv \
1546 setvbuf \
1547 sigaction \
1548 sigvec \
1549 strdup \
1550 strstr \
1551 tcgetpgrp \
1552 times \
1553 vsnprintf \
1554 )
1555
1556 if test "x$ac_cv_func_getopt" = xno &&
1557    test "x$cf_with_progs$cf_with_tests" != xnono; then
1558         AC_MSG_ERROR(getopt is required for building programs)
1559 fi
1560
1561 if test "x$with_getcap" = "xyes" ; then
1562         CF_CGETENT
1563 fi
1564
1565 CF_ISASCII
1566 CF_STRUCT_SIGACTION
1567 CF_FUNC_NANOSLEEP
1568 CF_FUNC_TERMIOS
1569 CF_FUNC_VSSCANF
1570 CF_MKSTEMP
1571
1572 # setup for prototype of fallback for vsscanf()
1573 CF_SUBST_IF(["$cf_cv_func_vsscanf" = vsscanf], HAVE_VSSCANF, 1, 0)
1574
1575 dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
1576 if test "x$cross_compiling" = xyes ; then
1577         AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
1578 else
1579         AC_FUNC_SETVBUF_REVERSED
1580 fi
1581 AC_CHECK_TYPE(intptr_t, long)
1582 AC_CHECK_TYPE(ssize_t, int)
1583 CF_TYPE_SIGACTION
1584 CF_SIZECHANGE
1585 CF_FUNC_MEMMOVE
1586 CF_FUNC_POLL
1587 CF_VA_COPY
1588 AC_FUNC_VFORK
1589
1590 # special check for test/ditto.c
1591 CF_FUNC_OPENPTY
1592 if test "$cf_cv_func_openpty" != no ; then
1593         AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>,[Define to actual header for openpty function])
1594         AC_DEFINE(USE_XTERM_PTY,1,[Define to 1 if we should assume xterm pseudoterminal interface])
1595         if test "x$cf_cv_lib_util" = xyes ; then
1596                 CF_ADD_LIB(util,TEST_LIBS)
1597         fi
1598 fi
1599 AC_SUBST(TEST_LIBS)
1600 AC_SUBST(TEST_LIBS2)
1601
1602 if test "$with_hashed_db" != no ; then
1603         AC_DEFINE(USE_HASHED_DB,1,[Define to 1 if we should build terminfo in hashed database])
1604         CF_HASHED_DB($with_hashed_db)
1605 fi
1606
1607 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
1608 if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
1609         CF_STRIP_G_OPT(CFLAGS)
1610         CF_STRIP_G_OPT(CXXFLAGS)
1611 fi
1612
1613 # Just in case, check if the C compiler has a bool type.
1614 CF_BOOL_DECL(cf_cv_cc_bool_type)
1615
1616 # Check for C++ compiler characteristics (and ensure that it's there!)
1617 if test -n "$CXX" ; then
1618         AC_LANG_CPLUSPLUS
1619         CF_STDCPP_LIBRARY
1620         CF_PROG_CC_C_O(CXX)
1621
1622         case $GXX_VERSION in
1623         (1*|2.[0-6]*)
1624                 cf_cxx_library=yes
1625                 ;;
1626         (*-2.7*|2.7*)
1627                 CF_GPP_LIBRARY
1628                 ;;
1629         (*)
1630                 cf_cxx_library=no
1631                 ;;
1632         esac
1633
1634         AC_CHECK_HEADERS(typeinfo)
1635         CF_CXX_IOSTREAM_NAMESPACE
1636         CF_BOOL_DECL
1637         CF_BOOL_SIZE
1638         CF_ETIP_DEFINES
1639         CF_CPP_PARAM_INIT
1640         CF_CPP_STATIC_CAST
1641         CF_CXX_AR_FLAGS
1642 else
1643         cf_cxx_library=no
1644         cf_cv_builtin_bool=1
1645
1646         # Just because we are not configuring against C++ right now does not
1647         # mean that a user will not want to use C++.  Some distributors disable
1648         # the C++ portion of this configuration as a shortcut (or just to avoid
1649         # compiling the demo in the c++ directory).  So we need a reasonable
1650         # default for the 'bool' type.
1651         #
1652         # Caveat: since the storage of the bool type is not standardized, it
1653         # may change.
1654
1655         if test "$NCURSES_BOOL" != auto ; then
1656                 cf_cv_type_of_bool=$NCURSES_BOOL
1657                 cf_cv_header_stdbool_h=0
1658         else
1659                 if test "$cf_cv_header_stdbool_h" = 1 ; then
1660                         CF_BOOL_SIZE
1661                 else
1662                         AC_MSG_CHECKING(for fallback type of bool)
1663                         case "$host_cpu" in
1664                         (i?86)  cf_cv_type_of_bool=char ;;
1665                         (*)     cf_cv_type_of_bool=int  ;;
1666                         esac
1667                         AC_MSG_RESULT($cf_cv_type_of_bool)
1668                 fi
1669         fi
1670 fi
1671 AC_SUBST(CXXLIBS)
1672
1673 # If the C compiler did not declare bool, and we did not determine that the C++
1674 # compiler does not declare bool, turn on an ifdef in curses.h that makes the
1675 # ncurses library use the same type as C++ bool.  Note that this allows one to
1676 # specify the type of bool in a configure-script option and postpone
1677 # integration with the C++ compiler provided that the types are compatible.
1678 USE_CXX_BOOL=1
1679 if test $cf_cv_cc_bool_type = 1
1680 then
1681         # oops: C has a bool.  Unlikely, but C++ could differ.
1682         USE_CXX_BOOL=0
1683 elif test $cf_cv_builtin_bool = 0
1684 then
1685         # C++ has no bool
1686         USE_CXX_BOOL=0
1687 else
1688         # this is the normal case
1689         USE_CXX_BOOL='defined(__cplusplus)'
1690 fi
1691 AC_SUBST(USE_CXX_BOOL)
1692
1693 CF_HELP_MESSAGE(Ada95 Binding Options:)
1694
1695 dnl If the Ada95 source-tree is present, add that to the build unless it will
1696 dnl not work, or was not requested.
1697 if test -f "${srcdir}/Ada95/Makefile.in" ; then
1698
1699 dnl libtool does not know anything about GNAT, though a change made in 1998
1700 dnl provided for it "someday".  Disable the ada subtree if we are using
1701 dnl libtool -TD 20070714
1702         if test "$cf_with_ada" != "no" ; then
1703                 if test "$with_libtool" != "no"; then
1704                         AC_MSG_WARN(libtool does not support Ada - disabling feature)
1705                         cf_with_ada=no
1706                 fi
1707         fi
1708
1709 dnl Check for availability of GNU Ada Translator (GNAT).
1710 dnl At the moment we support no other Ada95 compiler.
1711         if test "$cf_with_ada" != "no" ; then
1712                 CF_PROG_GNAT
1713                 if test "x$cf_cv_prog_gnat_correct" = xyes; then
1714                         CF_ADD_ADAFLAGS(-gnatpn)
1715                         CF_FIXUP_ADAFLAGS
1716
1717                         CF_GNATPREP_OPT_T
1718
1719                         CF_GNAT_GENERICS
1720                         CF_GNAT_SIGINT
1721                         CF_GNAT_PROJECTS
1722
1723                         CF_WITH_ADA_COMPILER
1724
1725                         cf_ada_package=terminal_interface
1726                         AC_SUBST(cf_ada_package)
1727
1728                         CF_WITH_ADA_INCLUDE
1729                         CF_WITH_ADA_OBJECTS
1730                         CF_WITH_ADA_SHAREDLIB
1731                 fi
1732         fi
1733 else
1734         cf_with_ada=no
1735 fi
1736
1737 # do this "late" to avoid conflict with header-checks
1738 if test "x$with_widec" = xyes ; then
1739         AC_CHECK_SIZEOF(wchar_t)
1740 fi
1741
1742 ### Construct the ncurses library-subsets, if any, from this set of keywords:
1743 ###     none, base, ext_funcs, ext_tinfo, ticlib, termlib, widechar
1744 ###
1745 ### ticlib modules may be a separate library, otherwise contained in termlib.
1746 ### termlib modules may be a separate library, otherwise contained in ncurses.
1747 ###
1748 ### The of "+" or " " between the tokens controls the way the script
1749 ### chooses to split module lists into libraries.
1750 ###
1751 ### (see CF_LIB_RULES).
1752 AC_MSG_CHECKING(for library subsets)
1753 LIB_SUBSETS=
1754
1755 if test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != no; then
1756         LIB_SUBSETS="${LIB_SUBSETS}ticlib"
1757         if test "$with_ticlib" != no ; then
1758                 LIB_SUBSETS="${LIB_SUBSETS} "
1759         else
1760                 LIB_SUBSETS="${LIB_SUBSETS}+"
1761         fi
1762 fi
1763
1764 LIB_SUBSETS="${LIB_SUBSETS}termlib"
1765 test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
1766
1767 if test "$with_termlib" != no ; then
1768         LIB_SUBSETS="${LIB_SUBSETS} "
1769 else
1770         LIB_SUBSETS="${LIB_SUBSETS}+"
1771 fi
1772
1773 LIB_SUBSETS="${LIB_SUBSETS}base"
1774
1775 # Most term-driver calls are to tinfo, but some like init_pair are to the
1776 # base library (so it resides in base).
1777 if test "$with_term_driver" != no ; then
1778         LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
1779         case $cf_cv_system_name in
1780         (*mingw32*|*mingw64*)
1781                 LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
1782                 CPPFLAGS="$CPPFLAGS -DUSE_WIN32CON_DRIVER"
1783                 ;;
1784         (*)
1785                 LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
1786                 ;;
1787         esac
1788 fi
1789
1790 test "x$with_widec"     = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
1791 test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
1792
1793 AC_MSG_RESULT($LIB_SUBSETS)
1794
1795 ### Construct the list of include-directories to be generated
1796 CF_INCLUDE_DIRS
1797 CF_ADA_INCLUDE_DIRS
1798
1799 ### Build up pieces for makefile rules
1800 AC_MSG_CHECKING(default library suffix)
1801 CF_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl
1802 AC_SUBST(DFT_ARG_SUFFIX)dnl the string to append to "-lncurses" ("")
1803 AC_MSG_RESULT($DFT_ARG_SUFFIX)
1804
1805 AC_MSG_CHECKING(default library-dependency suffix)
1806 CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_LIB_SUFFIX,DFT_DEP_SUFFIX)dnl
1807 AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
1808 AC_MSG_RESULT($DFT_DEP_SUFFIX)
1809
1810 AC_MSG_CHECKING(default object directory)
1811 CF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
1812 AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
1813 AC_MSG_RESULT($DFT_OBJ_SUBDIR)
1814
1815 if test "x$cf_with_cxx" = xyes ; then
1816 AC_MSG_CHECKING(c++ library-dependency suffix)
1817 if test "$with_libtool" != "no"; then
1818         # libtool thinks it can make c++ shared libraries (perhaps only g++)
1819         CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
1820 elif test "$with_shared_cxx" != "no"; then
1821         # also for g++ users...
1822         CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
1823 else
1824         # we normally make a static library because C/C++ library rules differ
1825         CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)
1826 fi
1827 AC_MSG_RESULT($CXX_LIB_SUFFIX)
1828 AC_SUBST(CXX_LIB_SUFFIX)
1829 fi
1830
1831 # do not want -ldl in build except as needed for -lncurses dependency
1832 if test "x$with_dlsym" = xyes ; then
1833 if test $DFT_LWR_MODEL = shared || \
1834    test $DFT_LWR_MODEL = libtool ; then
1835         CF_REMOVE_LIB(LIBS,$LIBS,dl)
1836 fi
1837 fi
1838 ### Set up low-level terminfo dependencies for makefiles.
1839
1840 # TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
1841 # do not need libdl
1842 TICS_LIST=
1843 if test "x$with_dlsym" = xyes ; then
1844         CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
1845 fi
1846
1847 USE_ARG_SUFFIX="${DFT_ARG_SUFFIX}${EXTRA_SUFFIX}"
1848 USE_LIB_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}"
1849 USE_CFG_SUFFIX=${DFT_ARG_SUFFIX}${cf_cv_abi_version}
1850 if test -n "$EXTRA_SUFFIX" && test "x$EXTRA_SUFFIX" != "x${cf_cv_abi_version}"
1851 then
1852         USE_CFG_SUFFIX="${USE_CFG_SUFFIX}${EXTRA_SUFFIX}"
1853 fi
1854 AC_SUBST(USE_ARG_SUFFIX)
1855 AC_SUBST(USE_CFG_SUFFIX)
1856 AC_SUBST(USE_LIB_SUFFIX)
1857
1858 if test "$with_ticlib" != no ; then
1859
1860         if test "x$with_ticlib" != xyes ; then
1861                 TICS_NAME=$with_ticlib
1862                 TICS_ARG_SUFFIX="${with_ticlib}`echo ${USE_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
1863                 TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
1864                 TICS_LIB_SUFFIX="${with_ticlib}"
1865         else
1866                 TICS_ARG_SUFFIX="${TICS_NAME}${USE_ARG_SUFFIX}"
1867                 TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
1868                 TICS_LIB_SUFFIX="${TICS_NAME}${USE_LIB_SUFFIX}"
1869         fi
1870         TICS_LDFLAGS="-L${LIB_DIR}"
1871         TICS_LIBS="-l${TICS_LIB_SUFFIX}"
1872 else
1873         TICS_LDFLAGS="-L${LIB_DIR}"
1874         TICS_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX}"
1875 fi
1876 AC_SUBST(TICS_ARG_SUFFIX)
1877 AC_SUBST(TICS_DEP_SUFFIX)
1878 AC_SUBST(TICS_LIB_SUFFIX)
1879 AC_SUBST(TICS_LDFLAGS)
1880 AC_SUBST(TICS_LIBS)
1881
1882 if test "$with_termlib" != no ; then
1883
1884         if test "x$with_termlib" != xyes ; then
1885                 TINFO_NAME=$with_termlib
1886                 TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${USE_LIB_SUFFIX}//"`"
1887                 TINFO_ARG_SUFFIX="${with_termlib}`echo ${USE_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
1888                 TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
1889                 TINFO_LIB_SUFFIX="${with_termlib}"
1890         else
1891                 TINFO_SUFFIX=${DFT_LIB_SUFFIX}
1892                 TINFO_ARG_SUFFIX="${TINFO_NAME}${USE_ARG_SUFFIX}"
1893                 TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
1894                 TINFO_LIB_SUFFIX="${TINFO_NAME}${USE_LIB_SUFFIX}"
1895         fi
1896
1897         TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
1898         TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
1899         if test "$DFT_LWR_MODEL" = "libtool"; then
1900                 TEST_ARGS="${TEST_DEPS}"
1901                 TEST_ARG2="${TEST_DEP2}"
1902                 TINFO_LDFLAGS="-L${LIB_DIR}"
1903                 TINFO_LIBS="$TEST_ARGS"
1904                 TICS_LIST="$SHLIB_LIST $TEST_ARGS"
1905                 SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
1906         else
1907                 TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
1908                 TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
1909                 if test "x$with_term_driver" != xno ; then
1910                         TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${USE_ARG_SUFFIX}"
1911                         TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${USE_ARG_SUFFIX}"
1912                         TINFO_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX} $TEST_ARGS"
1913                 else
1914                         TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
1915                         TINFO_LIBS="$TEST_ARGS"
1916                 fi
1917                 TINFO_LDFLAGS="-L${LIB_DIR}"
1918                 SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
1919         fi
1920 else
1921         # the next lines are needed for linking libtic over libncurses
1922         TINFO_NAME=${LIB_NAME}
1923         TINFO_SUFFIX=${DFT_LIB_SUFFIX}
1924         TINFO_ARG_SUFFIX=${LIB_NAME}${USE_ARG_SUFFIX}
1925         if test "x$with_tic_depends" = xyes ; then
1926                 TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${USE_ARG_SUFFIX}"
1927         else
1928                 TICS_LIST="$SHLIB_LIST"
1929         fi
1930
1931         TINFO_LDFLAGS="-L${LIB_DIR}"
1932         TINFO_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX}"
1933 fi
1934
1935 if test "$DFT_LWR_MODEL" = shared ; then
1936         case $cf_cv_system_name in
1937         (cygwin*|msys*)
1938                 # "lib" files have ".dll.a" suffix, "cyg"or "msys-" files have ".dll"
1939                 TINFO_SUFFIX=.dll
1940                 ;;
1941         esac
1942 fi
1943
1944 AC_SUBST(TINFO_ARG_SUFFIX)
1945 AC_SUBST(TINFO_DEP_SUFFIX)
1946 AC_SUBST(TINFO_LIB_SUFFIX)
1947 AC_SUBST(TINFO_LDFLAGS)
1948 AC_SUBST(TINFO_LIBS)
1949
1950 if test "x$with_dlsym" = xyes ; then
1951         CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
1952 fi
1953
1954 if test "$DFT_LWR_MODEL" = "libtool"; then
1955         OBJEXT=lo
1956 fi
1957
1958 # needed for Ada95
1959 TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
1960 AC_SUBST(TINFO_LDFLAGS2)
1961
1962 case $DFT_LWR_MODEL in
1963 (normal|debug|profile)
1964         CF_LDFLAGS_STATIC
1965         ;;
1966 esac
1967
1968 AC_MSG_CHECKING(where we will install curses.h)
1969 AC_SUBST(includesubdir)
1970 includesubdir=
1971 if test "$with_overwrite" = no && \
1972  ( test "x$includedir" = 'x${prefix}/include' || \
1973    test "x$includedir" = "x${prefix}/include" )
1974 then
1975         includesubdir="/ncurses${USE_LIB_SUFFIX}"
1976 fi
1977 AC_MSG_RESULT(${includedir}${includesubdir})
1978
1979 ### Resolve a conflict between normal and wide-curses by forcing applications
1980 ### that will need libutf8 to add it to their configure script.
1981 if test "$with_overwrite" != no ; then
1982 if test "$NCURSES_LIBUTF8" = 1 ; then
1983         NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
1984         AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h)
1985 fi
1986 fi
1987 WITH_OVERWRITE=$with_overwrite
1988
1989 AC_SUBST(WITH_OVERWRITE)
1990 AC_SUBST(TICS_LIST)
1991 AC_SUBST(TINFO_LIST)
1992 AC_SUBST(SHLIB_LIST)
1993
1994 # used to separate tack out of the tree
1995 NCURSES_TREE=
1996 AC_SUBST(NCURSES_TREE)
1997
1998 ### predefined stuff for the test programs
1999 AC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs])
2000
2001 ### Construct the list of subdirectories for which we'll customize makefiles
2002 ### with the appropriate compile-rules.
2003
2004 CF_SRC_MODULES($modules_to_build)
2005
2006 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
2007    SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${USE_CFG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
2008    SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${USE_CFG_SUFFIX}-config.1:man/MKada_config.in"
2009 fi
2010
2011 CF_DIRS_TO_MAKE
2012
2013 # symbols that differ when compiling Ada95 by itself.
2014 NCURSES_SHLIB2=$SHELL' $(top_srcdir)/misc/shlib'
2015 AC_SUBST(NCURSES_SHLIB2)
2016
2017 # values to use as strings
2018 AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as library path-separator])
2019
2020 AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}",[Define to 1 if machine has ample memory for tic])
2021
2022 ### Now that we're done running tests, add the compiler-warnings, if any
2023 CF_ADD_CFLAGS($EXTRA_CFLAGS)
2024
2025 ### Define substitutions for header files to avoid name-pollution
2026 CF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0)
2027 CF_SUBST_IF(["x$ac_cv_header_stdint_h" = xyes], HAVE_STDINT_H, 1, 0)
2028 CF_SUBST_IF(["x$ac_cv_header_termio_h" = xyes], HAVE_TERMIO_H, 1, 0)
2029 CF_SUBST_IF(["x$ac_cv_header_termios_h" = xyes], HAVE_TERMIOS_H, 1, 0)
2030
2031 ################################################################################
2032 test "x$use_database" = xyes && \
2033 SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
2034
2035 SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
2036 SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${USE_CFG_SUFFIX}-config.1:man/MKncu_config.in"
2037
2038 if test "x$enable_pc_files" = xyes ; then \
2039 SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
2040 MAKE_PC_FILES=
2041 else
2042 MAKE_PC_FILES="#"
2043 fi
2044 AC_SUBST(MAKE_PC_FILES)
2045 AC_SUBST(cross_compiling)
2046
2047 AC_PATH_PROG(TIC_PATH,tic,unknown,$PATH:/usr/local/ncurses/bin)
2048 if test -n "$FALLBACK_LIST"
2049 then
2050         if test "$TIC_PATH" = unknown
2051         then
2052                 AC_MSG_WARN(no tic program found for fallbacks)
2053         fi
2054 fi
2055 AC_SUBST(TIC_PATH)
2056
2057 if test "x$cf_with_tests" != xno ; then
2058         MAKE_TESTS=
2059 else
2060         MAKE_TESTS="#"
2061 fi
2062 AC_SUBST(MAKE_TESTS)
2063
2064 ADAHTML_DIR=../../doc/html/ada
2065 AC_SUBST(ADAHTML_DIR)
2066
2067 # these could be configurable, but are not currently
2068 PANEL_NAME=panel
2069 MENU_NAME=menu
2070 FORM_NAME=form
2071 CXX_NAME=ncurses++
2072
2073 AC_SUBST(PANEL_NAME)
2074 AC_SUBST(MENU_NAME)
2075 AC_SUBST(FORM_NAME)
2076 AC_SUBST(CXX_NAME)
2077
2078 # workaround for g++ versus Solaris (20131116)
2079 case $cf_cv_system_name in
2080 (solaris2*)
2081         case "x$CPPFLAGS" in
2082         (*-D_XOPEN_SOURCE_EXTENDED*)
2083                 CF_VERBOSE(moving _XOPEN_SOURCE_EXTENDED to work around g++ problem)
2084                 CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
2085                 CPPFLAGS=`echo "x$CPPFLAGS" | sed -e  's/^.//' -e 's/-D_XOPEN_SOURCE_EXTENDED//'`
2086                 ;;
2087         esac
2088         ;;
2089 esac
2090
2091 # Help to automatically enable the extended curses features when using either
2092 # the *-config or the ".pc" files by adding defines.
2093 AC_MSG_CHECKING(for defines to add to ncurses${USE_CFG_SUFFIX}-config script)
2094 PKG_CFLAGS=
2095 for cf_loop1 in $CPPFLAGS_after_XOPEN
2096 do
2097         cf_found=no
2098         for cf_loop2 in $CPPFLAGS_before_XOPEN
2099         do
2100                 if test "x$cf_loop1" = "x$cf_loop2"
2101                 then
2102                         cf_found=yes
2103                         break
2104                 fi
2105         done
2106         test "$cf_found" = no && PKG_CFLAGS="$PKG_CFLAGS $cf_loop1"
2107 done
2108 AC_MSG_RESULT($PKG_CFLAGS)
2109 AC_SUBST(PKG_CFLAGS)
2110
2111 # AC_CHECK_SIZEOF demands a literal parameter, no variables.  So we do this.
2112 case "x$NCURSES_OSPEED" in
2113 (*short*)
2114         cf_compatible=1
2115         ;;
2116 (*)
2117         cf_compatible=0
2118         ;;
2119 esac
2120 AC_DEFINE_UNQUOTED(NCURSES_OSPEED_COMPAT,$cf_compatible,[Define to 1 if termcap variable ospeed is short])
2121
2122 case "x$cf_cv_typeof_chtype" in
2123 (xshort|xint|xlong)
2124         cf_cv_typeof_chtype="unsigned $cf_cv_typeof_chtype"
2125         ;;
2126 esac
2127
2128 case "x$cf_cv_typeof_mmask_t" in
2129 (xshort|xint|xlong)
2130         cf_cv_typeof_mmask_t="unsigned $cf_cv_typeof_mmask_t"
2131         ;;
2132 esac
2133
2134 # substitute into misc/Makefile to suppress
2135 # (un)install.data from the
2136 # (un)install rules.
2137 if test "x$cf_with_db_install" = "xno"; then
2138         MISC_INSTALL_DATA=
2139         MISC_UNINSTALL_DATA=
2140 else
2141         MISC_INSTALL_DATA=install.data
2142         MISC_UNINSTALL_DATA=uninstall.data
2143 fi
2144 AC_SUBST(MISC_INSTALL_DATA)
2145 AC_SUBST(MISC_UNINSTALL_DATA)
2146
2147 SUB_SCRIPTS=
2148
2149 dnl Override the package used for exported symbols
2150 if test -n "$PACKAGE"
2151 then
2152         PACKAGE="${PACKAGE}${DFT_ARG_SUFFIX}"
2153         export PACKAGE
2154         echo "package: $PACKAGE"
2155 fi
2156
2157 UNALTERED_SYMS=
2158 cf_filter_syms=no
2159
2160 if test -n "$RESULTING_SYMS"
2161 then
2162         cf_filter_syms=$cf_dft_filter_syms
2163         CF_VERBOSE(will map symbols to ABI=$cf_cv_abi_version)
2164 fi
2165
2166 if test "x$WILDCARD_SYMS" = xno
2167 then
2168         cf_filter_syms=yes
2169 fi
2170
2171 UNALTERED_SYMS=`echo "$RESULTING_SYMS" | sed -e 's/\\$/\\\\$/g'`
2172 if test $cf_filter_syms = yes
2173 then
2174         RESULTING_SYMS=resulting.map
2175 fi
2176 AC_SUBST(UNALTERED_SYMS)
2177
2178 if test "x$cross_compiling" = xyes ; then
2179         ADAGEN_LDFLAGS='$(CROSS_LDFLAGS)'
2180 else
2181         ADAGEN_LDFLAGS='$(NATIVE_LDFLAGS)'
2182 fi
2183 AC_SUBST(ADAGEN_LDFLAGS)
2184
2185 AC_OUTPUT( \
2186         include/MKterm.h.awk \
2187         include/curses.head:include/curses.h.in \
2188         include/ncurses_dll.h \
2189         include/termcap.h \
2190         include/unctrl.h \
2191         $SUB_SCRIPTS \
2192         $SUB_MAKEFILES \
2193         Makefile,[
2194 if test "x$cf_with_tests" != xno ; then
2195         CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LD"], test)
2196 fi
2197 CF_LIB_RULES($SRC_SUBDIRS)
2198
2199 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
2200 if test -z "$USE_OLD_MAKERULES" ; then
2201         $AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile
2202 fi
2203 fi
2204 ],[
2205 ### Special initialization commands, used to pass information from the
2206 ### configuration-run into config.status
2207
2208 AWK="$AWK"
2209 ALTERNATE_SYMS="$ALTERNATE_SYMS"
2210 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
2211 DFT_LWR_MODEL="$DFT_LWR_MODEL"
2212 ECHO_LD="$ECHO_LD"
2213 EXTRA_SUFFIX="$EXTRA_SUFFIX"
2214 LDCONFIG="$LDCONFIG"
2215 LIBTOOL_VERSION="$LIBTOOL_VERSION"
2216 LIB_NAME="$LIB_NAME"
2217 LIB_PREFIX="$LIB_PREFIX"
2218 LIB_SUBSETS="$LIB_SUBSETS"
2219 LIB_SUFFIX="$LIB_SUFFIX"
2220 LIB_TRACING="$LIB_TRACING"
2221 LN_S="$LN_S"
2222 MAKE_TERMINFO="$MAKE_TERMINFO"
2223 NCURSES_MAJOR="$NCURSES_MAJOR"
2224 NCURSES_MINOR="$NCURSES_MINOR"
2225 NCURSES_OSPEED="$NCURSES_OSPEED"
2226 NCURSES_PATCH="$NCURSES_PATCH"
2227 SRC_SUBDIRS="$SRC_SUBDIRS"
2228 TERMINFO="$TERMINFO"
2229 TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
2230 TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
2231 TICS_NAME="$TICS_NAME"
2232 TIC_PATH="$TIC_PATH"
2233 TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
2234 TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
2235 TINFO_NAME="$TINFO_NAME"
2236 TINFO_SUFFIX="$TINFO_SUFFIX"
2237 UNALTERED_SYMS="$UNALTERED_SYMS"
2238 USE_ARG_SUFFIX="$USE_ARG_SUFFIX"
2239 USE_CFG_SUFFIX="$USE_CFG_SUFFIX"
2240 USE_LIB_SUFFIX="$USE_LIB_SUFFIX"
2241 USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
2242 WILDCARD_SYMS="$WILDCARD_SYMS"
2243 WITH_CURSES_H="$with_curses_h"
2244 WITH_ECHO="${enable_echo:=yes}"
2245 WITH_OVERWRITE="$with_overwrite"
2246 cf_LIST_MODELS="$cf_list_models"
2247 cf_cv_abi_version="$cf_cv_abi_version"
2248 cf_cv_do_relink="$cf_cv_do_relink"
2249 cf_cv_do_symlinks="$cf_cv_do_symlinks"
2250 cf_cv_enable_lp64="$cf_cv_enable_lp64"
2251 cf_cv_enable_opaque="$cf_cv_enable_opaque"
2252 cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
2253 cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
2254 cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
2255 cf_cv_rel_version="$cf_cv_rel_version"
2256 cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
2257 cf_cv_shared_soname='$cf_cv_shared_soname'
2258 cf_cv_shlib_version="$cf_cv_shlib_version"
2259 cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
2260 cf_cv_system_name="$cf_cv_system_name"
2261 cf_cv_term_driver="$with_term_driver"
2262 cf_with_ada="$cf_with_ada"
2263 cf_with_cxx_binding="$cf_with_cxx_binding"
2264 cf_with_db_install="$cf_with_db_install"
2265 cf_with_manpages="$cf_with_manpages"
2266 cf_with_tests="$cf_with_tests"
2267 host="$host"
2268 target="$target"
2269 with_shared_cxx="$with_shared_cxx"
2270
2271 ],cat)dnl
2272 ${MAKE:-make} preinstall