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