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