]> ncurses.scripts.mit.edu Git - ncurses.git/blob - configure.in
ncurses 5.9 - patch 20150228
[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.599 2015/02/21 21:12:07 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.599 $)
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 AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
1080 AC_ARG_ENABLE(no-padding,
1081         [  --enable-no-padding     compile with $NCURSES_NO_PADDING code],
1082         [with_no_padding=$enableval],
1083         [with_no_padding=$with_ext_funcs])
1084 AC_MSG_RESULT($with_no_padding)
1085 test "x$with_no_padding" = xyes && AC_DEFINE(NCURSES_NO_PADDING,1,[Define to 1 to compile with $NCURSES_NO_PADDING code])
1086
1087 AC_CHECK_SIZEOF([signed char], 0)
1088 if test "$ac_cv_sizeof_signed_char" = 1 ; then
1089         NCURSES_SBOOL="signed char"
1090 else
1091         NCURSES_SBOOL="char"
1092 fi
1093 AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
1094 AC_ARG_ENABLE(signed-char,
1095         [  --enable-signed-char    compile using signed Boolean's in term.h],
1096         [with_signed_char=$enableval],
1097         [with_signed_char=no])
1098 AC_MSG_RESULT($with_signed_char)
1099 test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
1100 AC_SUBST(NCURSES_SBOOL)
1101
1102 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
1103 AC_MSG_CHECKING(if you want SIGWINCH handler)
1104 AC_ARG_ENABLE(sigwinch,
1105         [  --enable-sigwinch       compile with SIGWINCH handler],
1106         [with_sigwinch=$enableval],
1107         [with_sigwinch=$with_ext_funcs])
1108 AC_MSG_RESULT($with_sigwinch)
1109 test "x$with_sigwinch" = xyes && AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
1110
1111 ###   use option --enable-tcap-names to allow user to define new capabilities
1112 AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
1113 AC_ARG_ENABLE(tcap-names,
1114         [  --enable-tcap-names     compile with user-definable terminal capabilities],
1115         [with_tcap_names=$enableval],
1116         [with_tcap_names=$with_ext_funcs])
1117 AC_MSG_RESULT($with_tcap_names)
1118 NCURSES_XNAMES=0
1119 test "x$with_tcap_names" = xyes && NCURSES_XNAMES=1
1120 AC_SUBST(NCURSES_XNAMES)
1121
1122 ###############################################################################
1123 # These options are relatively safe to experiment with.
1124 CF_HELP_MESSAGE(Development Code:)
1125 AC_MSG_CHECKING(if you want all development code)
1126 AC_ARG_WITH(develop,
1127         [  --without-develop       disable development options],
1128         [with_develop=$withval],
1129         [with_develop=no])
1130 AC_MSG_RESULT($with_develop)
1131
1132 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
1133 AC_MSG_CHECKING(if you want hard-tabs code)
1134 AC_ARG_ENABLE(hard-tabs,
1135         [  --enable-hard-tabs      compile with hard-tabs code],,
1136         [enable_hard_tabs=$with_develop])
1137 AC_MSG_RESULT($enable_hard_tabs)
1138 test "x$enable_hard_tabs" = xyes && AC_DEFINE(USE_HARD_TABS,1,[Define to 1 to compile with hard-tabs code])
1139
1140 ###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
1141 AC_MSG_CHECKING(if you want limited support for xmc)
1142 AC_ARG_ENABLE(xmc-glitch,
1143         [  --enable-xmc-glitch     compile with support for xmc (magic-cookie)],,
1144         [enable_xmc_glitch=$with_develop])
1145 AC_MSG_RESULT($enable_xmc_glitch)
1146 test "x$enable_xmc_glitch" = xyes && AC_DEFINE(USE_XMC_SUPPORT,1,[Define to 1 to compile with support for xmc (magic-cookie)])
1147
1148 ###############################################################################
1149 # These are just experimental, probably should not be in a package:
1150 CF_HELP_MESSAGE(Experimental Code:)
1151
1152 AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
1153 AC_ARG_ENABLE(assumed-color,
1154         [  --disable-assumed-color do not assume anything about default-colors],
1155         [with_assumed_color=$enableval],
1156         [with_assumed_color=yes])
1157 AC_MSG_RESULT($with_assumed_color)
1158 test "x$with_assumed_color" = xyes && AC_DEFINE(USE_ASSUMED_COLOR,1,[Define to 1 to assume things about default-colors])
1159
1160 ###   use option --enable-hashmap to turn on use of hashmap scrolling logic
1161 AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
1162 AC_ARG_ENABLE(hashmap,
1163         [  --disable-hashmap       compile without hashmap scrolling-optimization],
1164         [with_hashmap=$enableval],
1165         [with_hashmap=yes])
1166 AC_MSG_RESULT($with_hashmap)
1167 test "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP,1,[Define to 1 to compile with hashmap scrolling-optimization])
1168
1169 ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
1170 AC_MSG_CHECKING(if you want colorfgbg code)
1171 AC_ARG_ENABLE(colorfgbg,
1172         [  --enable-colorfgbg      compile-in experimental $COLORFGBG code],
1173         [with_colorfgbg=$enableval],
1174         [with_colorfgbg=no])
1175 AC_MSG_RESULT($with_colorfgbg)
1176 test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code])
1177
1178 ###   use option --enable-interop to turn on use of bindings used for interop
1179 AC_MSG_CHECKING(if you want interop bindings)
1180 AC_ARG_ENABLE(interop,
1181         [  --enable-interop        compile-in experimental interop bindings],
1182         [with_exp_interop=$enableval],
1183         [with_exp_interop=no])
1184 AC_MSG_RESULT($with_exp_interop)
1185
1186 NCURSES_INTEROP_FUNCS=0
1187 test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
1188 AC_SUBST(NCURSES_INTEROP_FUNCS)
1189
1190 # This is still experimental (20080329), but should ultimately be moved to
1191 # the script-block --with-normal, etc.
1192 CF_WITH_PTHREAD
1193
1194 if test "x$with_pthread" != xno; then
1195         AC_CHECK_FUNC(pthread_kill,[
1196                 AC_MSG_CHECKING(if you want to allow EINTR in wgetch with pthreads)
1197                 AC_ARG_ENABLE(pthreads-eintr,
1198                         [  --enable-pthreads-eintr enable EINTR in wgetch with pthreads],
1199                         [use_pthreads_eintr=$enableval],
1200                         [use_pthreads_eintr=no])
1201                 AC_MSG_RESULT($use_pthreads_eintr)
1202                 if test "x$use_pthreads_eintr" = xyes ; then
1203                         AC_DEFINE(USE_PTHREADS_EINTR,1,[Define to 1 to enable EINTR in wgetch with pthreads])
1204                 fi])
1205
1206         AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
1207         AC_ARG_ENABLE(weak-symbols,
1208                 [  --enable-weak-symbols   enable weak-symbols for pthreads],
1209                 [use_weak_symbols=$enableval],
1210                 [use_weak_symbols=no])
1211         AC_MSG_RESULT($use_weak_symbols)
1212         if test "x$use_weak_symbols" = xyes ; then
1213                 CF_WEAK_SYMBOLS
1214         else
1215                 cf_cv_weak_symbols=no
1216         fi
1217
1218         if test "x$cf_cv_weak_symbols" = xyes ; then
1219                 AC_DEFINE(USE_WEAK_SYMBOLS,1,[Define to 1 to enable weak-symbols for pthreads])
1220         fi
1221 fi
1222
1223 PTHREAD=
1224 if test "x$with_pthread" = "xyes" ; then
1225     AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use pthreads feature])
1226     enable_reentrant=yes
1227     if test "x$cf_cv_weak_symbols" = xyes ; then
1228         PTHREAD=-lpthread
1229     fi
1230 fi
1231 AC_SUBST(PTHREAD)
1232
1233 # Reentrant code has to be opaque; there's little advantage to making ncurses
1234 # opaque outside of that, so there is no --enable-opaque option.  We can use
1235 # this option without --with-pthreads, but this will be always set for
1236 # pthreads.
1237 AC_MSG_CHECKING(if you want experimental reentrant code)
1238 AC_ARG_ENABLE(reentrant,
1239         [  --enable-reentrant      compile with experimental reentrant code],
1240         [with_reentrant=$enableval],
1241         [with_reentrant=no])
1242 AC_MSG_RESULT($with_reentrant)
1243 if test "x$with_reentrant" = xyes ; then
1244         cf_cv_enable_reentrant=1
1245         cf_cv_enable_opaque="NCURSES_INTERNALS"
1246         NCURSES_OPAQUE=1
1247         NCURSES_SIZE_T=int
1248         if test "x$cf_cv_weak_symbols" = xyes ; then
1249                 CF_REMOVE_LIB(LIBS,$LIBS,pthread)
1250                 CF_ADD_LIB(pthread,TEST_LIBS)
1251                 CF_ADD_LIB(pthread,TEST_LIBS2)
1252         else
1253                 # when not using weak symbols but with_reentrant,
1254                 # add 't' to the library suffix on all platforms
1255                 # except cygwin, where we only do that if ALSO
1256                 # compiling with full thread support.
1257                 case "$host" in
1258                 *cygwin* | *msys*) #(vi
1259                         if test "$with_pthread" = "yes" ; then
1260                                 if test "x$disable_lib_suffixes" = "xno" ; then
1261                                         LIB_SUFFIX="t${LIB_SUFFIX}"
1262                                 fi
1263                         fi ;;
1264                 *)
1265                         if test "x$disable_lib_suffixes" = "xno" ; then
1266                                 LIB_SUFFIX="t${LIB_SUFFIX}"
1267                         fi
1268                         ;;
1269                 esac
1270         fi
1271         AC_DEFINE(USE_REENTRANT,1,[Define to 1 to use experimental reentrant feature])
1272         CF_NCURSES_ABI_6
1273 else
1274         cf_cv_enable_reentrant=0
1275         cf_cv_enable_opaque="NCURSES_OPAQUE"
1276         NCURSES_OPAQUE=0
1277         NCURSES_SIZE_T=short
1278 fi
1279 AC_SUBST(cf_cv_enable_reentrant)
1280 AC_SUBST(cf_cv_enable_opaque)
1281 AC_SUBST(NCURSES_OPAQUE)
1282 AC_SUBST(NCURSES_SIZE_T)
1283
1284 ### Allow using a different wrap-prefix
1285 if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
1286         AC_MSG_CHECKING(for prefix used to wrap public variables)
1287         AC_ARG_WITH(wrap-prefix,
1288                 [  --with-wrap-prefix=XXX  override prefix used for public variables],
1289                 [NCURSES_WRAP_PREFIX=$withval],
1290                 [NCURSES_WRAP_PREFIX=_nc_])
1291         AC_MSG_RESULT($NCURSES_WRAP_PREFIX)
1292 else
1293         NCURSES_WRAP_PREFIX=_nc_
1294 fi
1295 AC_SUBST(NCURSES_WRAP_PREFIX)
1296 AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ prefix])
1297
1298 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
1299 AC_ARG_ENABLE(safe-sprintf,
1300         [  --enable-safe-sprintf   compile with experimental safe-sprintf code],
1301         [with_safe_sprintf=$enableval],
1302         [with_safe_sprintf=no])
1303 AC_MSG_RESULT($with_safe_sprintf)
1304 test "x$with_safe_sprintf" = xyes && AC_DEFINE(USE_SAFE_SPRINTF,1,[Define to 1 to compile with experimental safe-sprintf code])
1305
1306 ###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
1307 # when hashmap is used scroll hints are useless
1308 if test "$with_hashmap" = no ; then
1309 AC_MSG_CHECKING(if you want to experiment without scrolling-hints code)
1310 AC_ARG_ENABLE(scroll-hints,
1311         [  --disable-scroll-hints  compile without scroll-hints code],
1312         [with_scroll_hints=$enableval],
1313         [with_scroll_hints=yes])
1314 AC_MSG_RESULT($with_scroll_hints)
1315 test "x$with_scroll_hints" = xyes && AC_DEFINE(USE_SCROLL_HINTS,1,[Define to 1 to compile without scroll-hints code])
1316 fi
1317
1318 AC_MSG_CHECKING(if you want experimental wgetch-events code)
1319 AC_ARG_ENABLE(wgetch-events,
1320         [  --enable-wgetch-events  compile with experimental wgetch-events code],
1321         [with_wgetch_events=$enableval],
1322         [with_wgetch_events=no])
1323 AC_MSG_RESULT($with_wgetch_events)
1324 test "x$with_wgetch_events" = xyes && AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with experimental wgetch-events code])
1325
1326 ###############################################################################
1327 CF_HELP_MESSAGE(Testing/development Options:)
1328
1329 ###     use option --disable-echo to suppress full display compiling commands
1330 CF_DISABLE_ECHO
1331 if test "x$enable_echo" = xyes; then
1332         ECHO_LINK=
1333 else
1334         ECHO_LINK='@ echo linking $@ ... ;'
1335         test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
1336         test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
1337 fi
1338 AC_SUBST(ECHO_LINK)
1339
1340 ###     use option --enable-warnings to turn on all gcc warnings
1341 AC_MSG_CHECKING(if you want to see compiler warnings)
1342 AC_ARG_ENABLE(warnings,
1343         [  --enable-warnings       build: turn on GCC compiler warnings],
1344         [with_warnings=$enableval])
1345 AC_MSG_RESULT($with_warnings)
1346
1347 if test "x$with_warnings" = "xyes"; then
1348         CF_ADD_ADAFLAGS(-gnatg)
1349         CF_GCC_WARNINGS(Wno-unknown-pragmas Wswitch-enum)
1350         if test "x$cf_with_cxx" = xyes ; then
1351                 CF_GXX_WARNINGS(Wno-unused)
1352         fi
1353 fi
1354 CF_GCC_ATTRIBUTES
1355 CF_ENABLE_STRING_HACKS
1356
1357 ###     use option --enable-assertions to turn on generation of assertion code
1358 AC_MSG_CHECKING(if you want to enable runtime assertions)
1359 AC_ARG_ENABLE(assertions,
1360         [  --enable-assertions     test: turn on generation of assertion code],
1361         [with_assertions=$enableval],
1362         [with_assertions=no])
1363 AC_MSG_RESULT($with_assertions)
1364 if test -n "$GCC"
1365 then
1366         if test "$with_assertions" = no
1367         then
1368                 CPPFLAGS="$CPPFLAGS -DNDEBUG"
1369         else
1370                 CF_ADD_ADAFLAGS(-gnata)
1371         fi
1372 fi
1373
1374 ###     use option --disable-leaks to suppress "permanent" leaks, for testing
1375 CF_DISABLE_LEAKS
1376 AC_DEFINE(HAVE_NC_ALLOC_H,1,[Define to 1 if we have nc_alloc.h header])
1377
1378 ###     use option --enable-expanded to generate certain macros as functions
1379 AC_ARG_ENABLE(expanded,
1380         [  --enable-expanded       test: generate functions for certain macros],
1381         [test "x$enableval" = xyes && AC_DEFINE(NCURSES_EXPANDED,1,[Define to 1 to generate functions for certain macros])])
1382
1383 ###     use option --disable-macros to suppress macros in favor of functions
1384 AC_ARG_ENABLE(macros,
1385         [  --disable-macros        test: use functions rather than macros],
1386         [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS,1,[Define to 1 to use functions rather than macros])])
1387
1388 # Normally we only add trace() to the debug-library.  Allow this to be
1389 # extended to all models of the ncurses library:
1390 cf_all_traces=no
1391 case "$CFLAGS $CPPFLAGS" in
1392 *-DTRACE*)
1393         cf_all_traces=yes
1394         ;;
1395 esac
1396
1397 AC_MSG_CHECKING(whether to add trace feature to all models)
1398 AC_ARG_WITH(trace,
1399 [  --with-trace            test: add trace() function to all models of ncurses],
1400 [cf_with_trace=$withval],
1401 [cf_with_trace=$cf_all_traces])
1402 AC_MSG_RESULT($cf_with_trace)
1403
1404 if test "x$cf_with_trace" = xyes ; then
1405         LIB_TRACING=all
1406         ADA_TRACE=TRUE
1407         CF_ADD_CFLAGS(-DTRACE)
1408 else
1409         LIB_TRACING=DEBUG
1410         ADA_TRACE=FALSE
1411 fi
1412
1413 AC_SUBST(ADA_TRACE)
1414
1415 CF_DISABLE_GNAT_PROJECTS
1416
1417 ###     Checks for libraries.
1418 case $cf_cv_system_name in #(vi
1419 *mingw32*|*mingw64*) #(vi
1420         CPPFLAGS="$CPPFLAGS -DWINVER=0x0501"
1421         LIBS=" -lpsapi $LIBS"
1422         ;;
1423 *)
1424 AC_CHECK_FUNC(gettimeofday,
1425         AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function]),[
1426
1427 AC_CHECK_LIB(bsd, gettimeofday,
1428         AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function])
1429         CF_ADD_LIB(bsd))])dnl CLIX: bzero, select, gettimeofday
1430         ;;
1431 esac
1432
1433 CF_MATH_LIB(MATH_LIB,pow(sin(x),x))
1434 AC_SUBST(MATH_LIB)
1435
1436 ###     Checks for header files.
1437 AC_STDC_HEADERS
1438 AC_HEADER_DIRENT
1439 AC_HEADER_TIME
1440 CF_REGEX
1441
1442 dnl These are some other potentially nonportable headers.
1443 AC_CHECK_HEADERS( \
1444 fcntl.h \
1445 getopt.h \
1446 limits.h \
1447 locale.h \
1448 math.h \
1449 poll.h \
1450 sys/bsdtypes.h \
1451 sys/ioctl.h \
1452 sys/param.h \
1453 sys/poll.h \
1454 sys/select.h \
1455 sys/time.h \
1456 sys/times.h \
1457 ttyent.h \
1458 unistd.h \
1459 wctype.h \
1460 )
1461
1462 CF_GETOPT_HEADER
1463
1464 # check for ISC (this may also define _POSIX_SOURCE)
1465 # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
1466 if test "x$ISC" = xyes ; then
1467         AC_CHECK_LIB(cposix,main)
1468         AC_CHECK_LIB(inet,bzero,CF_ADD_LIB(inet))dnl also 'select()'
1469 fi
1470
1471 CF_SYS_TIME_SELECT
1472
1473 ###     checks for compiler characteristics
1474 AC_LANG_C
1475 AC_C_CONST
1476 CF_C_INLINE(NCURSES_INLINE,1200)
1477 CF_SIG_ATOMIC_T
1478
1479 if test $NCURSES_CHTYPE = auto ; then
1480         CF_TYPEOF_CHTYPE
1481 else
1482         cf_cv_typeof_chtype=$NCURSES_CHTYPE
1483 fi
1484 test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
1485 AC_SUBST(cf_cv_typeof_chtype)
1486
1487 CF_UNSIGNED_LITERALS
1488 cf_cv_1UL="1"
1489 test ".$cf_cv_unsigned_literals" = .yes && cf_cv_1UL="${cf_cv_1UL}U"
1490 test ".$cf_cv_typeof_chtype"    = .long && cf_cv_1UL="${cf_cv_1UL}L"
1491 AC_SUBST(cf_cv_1UL)
1492
1493 if test $NCURSES_MMASK_T = auto ; then
1494         cf_cv_typeof_mmask_t=long
1495 else
1496         cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
1497 fi
1498 test "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t=""
1499 AC_SUBST(cf_cv_typeof_mmask_t)
1500
1501 ###     Checks for external-data
1502 CF_ERRNO
1503 CF_LINK_DATAONLY
1504
1505 ###     Checks for library functions.
1506 AC_CHECK_FUNCS( \
1507 getcwd \
1508 getegid \
1509 geteuid \
1510 getopt \
1511 getttynam \
1512 issetugid \
1513 poll \
1514 putenv \
1515 remove \
1516 select \
1517 setbuf \
1518 setbuffer \
1519 setenv \
1520 setvbuf \
1521 sigaction \
1522 sigvec \
1523 strdup \
1524 strstr \
1525 tcgetpgrp \
1526 times \
1527 vsnprintf \
1528 )
1529
1530 if test "x$ac_cv_func_getopt" = xno &&
1531    test "x$cf_with_progs$cf_with_tests" != xnono; then
1532         AC_MSG_ERROR(getopt is required for building programs)
1533 fi
1534
1535 if test "x$with_getcap" = "xyes" ; then
1536         CF_CGETENT
1537 fi
1538
1539 CF_ISASCII
1540 CF_STRUCT_SIGACTION
1541 CF_FUNC_NANOSLEEP
1542 CF_FUNC_TERMIOS
1543 CF_FUNC_VSSCANF
1544 CF_MKSTEMP
1545
1546 # setup for prototype of fallback for vsscanf()
1547 CF_SUBST_IF(["$cf_cv_func_vsscanf" = vsscanf], HAVE_VSSCANF, 1, 0)
1548
1549 dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
1550 if test "x$cross_compiling" = xyes ; then
1551         AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
1552 else
1553         AC_FUNC_SETVBUF_REVERSED
1554 fi
1555 AC_CHECK_TYPE(intptr_t, long)
1556 AC_CHECK_TYPE(ssize_t, int)
1557 CF_TYPE_SIGACTION
1558 CF_SIZECHANGE
1559 CF_FUNC_MEMMOVE
1560 CF_FUNC_POLL
1561 CF_VA_COPY
1562 AC_FUNC_VFORK
1563
1564 # special check for test/ditto.c
1565 CF_FUNC_OPENPTY
1566 if test "$cf_cv_func_openpty" != no ; then
1567     AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>,[Define to actual header for openpty function])
1568     AC_DEFINE(USE_XTERM_PTY,1,[Define to 1 if we should assume xterm pseudoterminal interface])
1569     if test "x$cf_cv_lib_util" = xyes ; then
1570         CF_ADD_LIB(util,TEST_LIBS)
1571     fi
1572 fi
1573 AC_SUBST(TEST_LIBS)
1574 AC_SUBST(TEST_LIBS2)
1575
1576 if test "$with_hashed_db" != no ; then
1577         AC_DEFINE(USE_HASHED_DB,1,[Define to 1 if we should build terminfo in hashed database])
1578         CF_HASHED_DB($with_hashed_db)
1579 fi
1580
1581 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
1582 if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
1583         CF_STRIP_G_OPT(CFLAGS)
1584         CF_STRIP_G_OPT(CXXFLAGS)
1585 fi
1586
1587 # Just in case, check if the C compiler has a bool type.
1588 CF_BOOL_DECL(cf_cv_cc_bool_type)
1589
1590 # Check for C++ compiler characteristics (and ensure that it's there!)
1591 if test -n "$CXX" ; then
1592         AC_LANG_CPLUSPLUS
1593         CF_STDCPP_LIBRARY
1594         CF_PROG_CC_C_O(CXX)
1595
1596         case $GXX_VERSION in
1597         1*|2.[0-6]*)
1598                 cf_cxx_library=yes
1599                 ;;
1600         *-2.7*|2.7*)
1601                 CF_GPP_LIBRARY
1602                 ;;
1603         *)
1604                 cf_cxx_library=no
1605                 ;;
1606         esac
1607
1608         AC_CHECK_HEADERS(typeinfo)
1609         CF_CXX_IOSTREAM_NAMESPACE
1610         CF_BOOL_DECL
1611         CF_BOOL_SIZE
1612         CF_ETIP_DEFINES
1613         CF_CPP_PARAM_INIT
1614         CF_CPP_STATIC_CAST
1615         CF_CXX_AR_FLAGS
1616 else
1617         cf_cxx_library=no
1618         cf_cv_builtin_bool=1
1619
1620         # Just because we are not configuring against C++ right now does not
1621         # mean that a user will not want to use C++.  Some distributors disable
1622         # the C++ portion of this configuration as a shortcut (or just to avoid
1623         # compiling the demo in the c++ directory).  So we need a reasonable
1624         # default for the 'bool' type.
1625         #
1626         # Caveat: since the storage of the bool type is not standardized, it
1627         # may change.
1628
1629         if test "$NCURSES_BOOL" != auto ; then
1630                 cf_cv_type_of_bool=$NCURSES_BOOL
1631                 cf_cv_header_stdbool_h=0
1632         else
1633                 if test "$cf_cv_header_stdbool_h" = 1 ; then
1634                         CF_BOOL_SIZE
1635                 else
1636                         AC_MSG_CHECKING(for fallback type of bool)
1637                         case "$host_cpu" in #(vi
1638                         i?86)   cf_cv_type_of_bool=char ;; #(vi
1639                         *)      cf_cv_type_of_bool=int  ;;
1640                         esac
1641                         AC_MSG_RESULT($cf_cv_type_of_bool)
1642                 fi
1643         fi
1644 fi
1645 AC_SUBST(CXXLIBS)
1646
1647 # If the C compiler did not declare bool, and we did not determine that the C++
1648 # compiler does not declare bool, turn on an ifdef in curses.h that makes the
1649 # ncurses library use the same type as C++ bool.  Note that this allows one to
1650 # specify the type of bool in a configure-script option and postpone
1651 # integration with the C++ compiler provided that the types are compatible.
1652 USE_CXX_BOOL=1
1653 if test $cf_cv_cc_bool_type = 1
1654 then
1655         # oops: C has a bool.  Unlikely, but C++ could differ.
1656         USE_CXX_BOOL=0
1657 elif test $cf_cv_builtin_bool = 0
1658 then
1659         # C++ has no bool
1660         USE_CXX_BOOL=0
1661 else
1662         # this is the normal case
1663         USE_CXX_BOOL='defined(__cplusplus)'
1664 fi
1665 AC_SUBST(USE_CXX_BOOL)
1666
1667 CF_HELP_MESSAGE(Ada95 Binding Options:)
1668
1669 dnl If the Ada95 source-tree is present, add that to the build unless it will
1670 dnl not work, or was not requested.
1671 if test -f "${srcdir}/Ada95/Makefile.in" ; then
1672
1673 dnl libtool does not know anything about GNAT, though a change made in 1998
1674 dnl provided for it "someday".  Disable the ada subtree if we are using
1675 dnl libtool -TD 20070714
1676         if test "$cf_with_ada" != "no" ; then
1677                 if test "$with_libtool" != "no"; then
1678                         AC_MSG_WARN(libtool does not support Ada - disabling feature)
1679                         cf_with_ada=no
1680                 fi
1681         fi
1682
1683 dnl Check for availability of GNU Ada Translator (GNAT).
1684 dnl At the moment we support no other Ada95 compiler.
1685         if test "$cf_with_ada" != "no" ; then
1686                 CF_PROG_GNAT
1687                 if test "x$cf_cv_prog_gnat_correct" = xyes; then
1688                         CF_ADD_ADAFLAGS(-gnatpn)
1689                         CF_FIXUP_ADAFLAGS
1690
1691                         CF_GNATPREP_OPT_T
1692
1693                         CF_GNAT_GENERICS
1694                         CF_GNAT_SIGINT
1695                         CF_GNAT_PROJECTS
1696
1697                         CF_WITH_ADA_COMPILER
1698
1699                         cf_ada_package=terminal_interface
1700                         AC_SUBST(cf_ada_package)
1701
1702                         CF_WITH_ADA_INCLUDE
1703                         CF_WITH_ADA_OBJECTS
1704                         CF_WITH_ADA_SHAREDLIB
1705                 fi
1706         fi
1707 else
1708         cf_with_ada=no
1709 fi
1710
1711 # do this "late" to avoid conflict with header-checks
1712 if test "x$with_widec" = xyes ; then
1713         AC_CHECK_SIZEOF(wchar_t)
1714 fi
1715
1716 ### Construct the ncurses library-subsets, if any, from this set of keywords:
1717 ###     none, base, ext_funcs, ext_tinfo, ticlib, termlib, widechar
1718 ###
1719 ### ticlib modules may be a separate library, otherwise contained in termlib.
1720 ### termlib modules may be a separate library, otherwise contained in ncurses.
1721 ###
1722 ### The of "+" or " " between the tokens controls the way the script
1723 ### chooses to split module lists into libraries.
1724 ###
1725 ### (see CF_LIB_RULES).
1726 AC_MSG_CHECKING(for library subsets)
1727 LIB_SUBSETS=
1728
1729 if test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != no; then
1730         LIB_SUBSETS="${LIB_SUBSETS}ticlib"
1731         if test "$with_ticlib" != no ; then
1732                 LIB_SUBSETS="${LIB_SUBSETS} "
1733         else
1734                 LIB_SUBSETS="${LIB_SUBSETS}+"
1735         fi
1736 fi
1737
1738 LIB_SUBSETS="${LIB_SUBSETS}termlib"
1739 test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
1740
1741 if test "$with_termlib" != no ; then
1742         LIB_SUBSETS="${LIB_SUBSETS} "
1743 else
1744         LIB_SUBSETS="${LIB_SUBSETS}+"
1745 fi
1746
1747 LIB_SUBSETS="${LIB_SUBSETS}base"
1748
1749 # Most term-driver calls are to tinfo, but some like init_pair are to the
1750 # base library (so it resides in base).
1751 if test "$with_term_driver" != no ; then
1752         LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
1753         case $cf_cv_system_name in #(vi
1754         *mingw32*|*mingw64*) #(vi
1755                 LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
1756                 CPPFLAGS="$CPPFLAGS -DUSE_WIN32CON_DRIVER"
1757                 ;;
1758         *) #(vi
1759                 LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
1760                 ;;
1761         esac
1762 fi
1763
1764 test "x$with_widec"     = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
1765 test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
1766
1767 AC_MSG_RESULT($LIB_SUBSETS)
1768
1769 ### Construct the list of include-directories to be generated
1770 CF_INCLUDE_DIRS
1771 CF_ADA_INCLUDE_DIRS
1772
1773 ### Build up pieces for makefile rules
1774 AC_MSG_CHECKING(default library suffix)
1775 CF_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl
1776 AC_SUBST(DFT_ARG_SUFFIX)dnl the string to append to "-lncurses" ("")
1777 AC_MSG_RESULT($DFT_ARG_SUFFIX)
1778
1779 AC_MSG_CHECKING(default library-dependency suffix)
1780 CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_LIB_SUFFIX,DFT_DEP_SUFFIX)dnl
1781 AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
1782 AC_MSG_RESULT($DFT_DEP_SUFFIX)
1783
1784 AC_MSG_CHECKING(default object directory)
1785 CF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
1786 AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
1787 AC_MSG_RESULT($DFT_OBJ_SUBDIR)
1788
1789 if test "x$cf_with_cxx" = xyes ; then
1790 AC_MSG_CHECKING(c++ library-dependency suffix)
1791 if test "$with_libtool" != "no"; then
1792         # libtool thinks it can make c++ shared libraries (perhaps only g++)
1793         CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
1794 elif test "$with_shared_cxx" != "no"; then
1795         # also for g++ users...
1796         CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
1797 else
1798         # we normally make a static library because C/C++ library rules differ
1799         CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)
1800 fi
1801 AC_MSG_RESULT($CXX_LIB_SUFFIX)
1802 AC_SUBST(CXX_LIB_SUFFIX)
1803 fi
1804
1805 # do not want -ldl in build except as needed for -lncurses dependency
1806 if test "x$with_dlsym" = xyes ; then
1807 if test $DFT_LWR_MODEL = shared || \
1808    test $DFT_LWR_MODEL = libtool ; then
1809         CF_REMOVE_LIB(LIBS,$LIBS,dl)
1810 fi
1811 fi
1812 ### Set up low-level terminfo dependencies for makefiles.
1813
1814 # TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
1815 # do not need libdl
1816 TICS_LIST=
1817 if test "x$with_dlsym" = xyes ; then
1818         CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
1819 fi
1820
1821 if test "$with_ticlib" != no ; then
1822
1823         if test "x$with_ticlib" != xyes ; then
1824                 TICS_NAME=$with_ticlib
1825                 TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
1826                 TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
1827                 TICS_LIB_SUFFIX="${with_ticlib}"
1828         else
1829                 TICS_ARG_SUFFIX="${TICS_NAME}${DFT_ARG_SUFFIX}"
1830                 TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
1831                 TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
1832         fi
1833         TICS_LDFLAGS="-L${LIB_DIR}"
1834         TICS_LIBS="-l${TICS_LIB_SUFFIX}"
1835 else
1836         TICS_LDFLAGS="-L${LIB_DIR}"
1837         TICS_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
1838 fi
1839 AC_SUBST(TICS_ARG_SUFFIX)
1840 AC_SUBST(TICS_DEP_SUFFIX)
1841 AC_SUBST(TICS_LIB_SUFFIX)
1842 AC_SUBST(TICS_LDFLAGS)
1843 AC_SUBST(TICS_LIBS)
1844
1845 if test "$with_termlib" != no ; then
1846
1847         if test "x$with_termlib" != xyes ; then
1848                 TINFO_NAME=$with_termlib
1849                 TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
1850                 TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
1851                 TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
1852                 TINFO_LIB_SUFFIX="${with_termlib}"
1853         else
1854                 TINFO_SUFFIX=${DFT_LIB_SUFFIX}
1855                 TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}"
1856                 TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
1857                 TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}"
1858         fi
1859
1860         TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
1861         TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
1862         if test "$DFT_LWR_MODEL" = "libtool"; then
1863                 TEST_ARGS="${TEST_DEPS}"
1864                 TEST_ARG2="${TEST_DEP2}"
1865                 TINFO_LDFLAGS="-L${LIB_DIR}"
1866                 TINFO_LIBS="$TEST_ARGS"
1867                 TICS_LIST="$SHLIB_LIST $TEST_ARGS"
1868                 SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
1869         else
1870                 TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
1871                 TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
1872                 if test "x$with_term_driver" != xno ; then
1873                         TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
1874                         TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${DFT_ARG_SUFFIX}"
1875                         TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
1876                 else
1877                         TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
1878                         TINFO_LIBS="$TEST_ARGS"
1879                 fi
1880                 TINFO_LDFLAGS="-L${LIB_DIR}"
1881                 SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
1882         fi
1883 else
1884         # the next lines are needed for linking libtic over libncurses
1885         TINFO_NAME=${LIB_NAME}
1886         TINFO_SUFFIX=${DFT_LIB_SUFFIX}
1887         TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
1888         if test "x$with_tic_depends" = xyes ; then
1889                 TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
1890         else
1891                 TICS_LIST="$SHLIB_LIST"
1892         fi
1893
1894         TINFO_LDFLAGS="-L${LIB_DIR}"
1895         TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
1896 fi
1897
1898 if test "$DFT_LWR_MODEL" = shared ; then
1899         case $cf_cv_system_name in #(vi
1900         cygwin*|msys*)
1901                 # "lib" files have ".dll.a" suffix, "cyg"or "msys-" files have ".dll"
1902                 TINFO_SUFFIX=.dll
1903                 ;;
1904         esac
1905 fi
1906
1907 AC_SUBST(TINFO_ARG_SUFFIX)
1908 AC_SUBST(TINFO_DEP_SUFFIX)
1909 AC_SUBST(TINFO_LIB_SUFFIX)
1910 AC_SUBST(TINFO_LDFLAGS)
1911 AC_SUBST(TINFO_LIBS)
1912
1913 if test "x$with_dlsym" = xyes ; then
1914         CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
1915 fi
1916
1917 if test "$DFT_LWR_MODEL" = "libtool"; then
1918     OBJEXT=lo
1919 fi
1920
1921 # needed for Ada95
1922 TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
1923 AC_SUBST(TINFO_LDFLAGS2)
1924
1925 case $DFT_LWR_MODEL in
1926 normal|debug|profile)
1927         CF_LDFLAGS_STATIC
1928         ;;
1929 esac
1930
1931 AC_MSG_CHECKING(where we will install curses.h)
1932 AC_SUBST(includesubdir)
1933 includesubdir=
1934 if test "$with_overwrite" = no && \
1935  ( test "x$includedir" = 'x${prefix}/include' || \
1936    test "x$includedir" = "x${prefix}/include" )
1937 then
1938         includesubdir="/ncurses${LIB_SUFFIX}"
1939 fi
1940 AC_MSG_RESULT(${includedir}${includesubdir})
1941
1942 ### Resolve a conflict between normal and wide-curses by forcing applications
1943 ### that will need libutf8 to add it to their configure script.
1944 if test "$with_overwrite" != no ; then
1945 if test "$NCURSES_LIBUTF8" = 1 ; then
1946         NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
1947         AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h)
1948 fi
1949 fi
1950 WITH_OVERWRITE=$with_overwrite
1951
1952 AC_SUBST(WITH_OVERWRITE)
1953 AC_SUBST(TICS_LIST)
1954 AC_SUBST(TINFO_LIST)
1955 AC_SUBST(SHLIB_LIST)
1956
1957 # used to separate tack out of the tree
1958 NCURSES_TREE=
1959 AC_SUBST(NCURSES_TREE)
1960
1961 ### predefined stuff for the test programs
1962 AC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs])
1963
1964 ### Construct the list of subdirectories for which we'll customize makefiles
1965 ### with the appropriate compile-rules.
1966
1967 CF_SRC_MODULES($modules_to_build)
1968
1969 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
1970    SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
1971    SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${DFT_ARG_SUFFIX}-config.1:man/MKada_config.in"
1972 fi
1973
1974 CF_DIRS_TO_MAKE
1975
1976 # symbols that differ when compiling Ada95 by itself.
1977 NCURSES_SHLIB2='sh $(top_srcdir)/misc/shlib'
1978 AC_SUBST(NCURSES_SHLIB2)
1979
1980 # values to use as strings
1981 AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as library path-separator])
1982
1983 AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}",[Define to 1 if machine has ample memory for tic])
1984
1985 ### Now that we're done running tests, add the compiler-warnings, if any
1986 CF_ADD_CFLAGS($EXTRA_CFLAGS)
1987
1988 ### Define substitutions for header files to avoid name-pollution
1989 CF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0)
1990 CF_SUBST_IF(["x$ac_cv_header_stdint_h" = xyes], HAVE_STDINT_H, 1, 0)
1991 CF_SUBST_IF(["x$ac_cv_header_termio_h" = xyes], HAVE_TERMIO_H, 1, 0)
1992 CF_SUBST_IF(["x$ac_cv_header_termios_h" = xyes], HAVE_TERMIOS_H, 1, 0)
1993
1994 ################################################################################
1995 test "x$use_database" = xyes && \
1996 SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
1997
1998 SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
1999 SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
2000
2001 if test "x$enable_pc_files" = xyes ; then \
2002 SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
2003 MAKE_PC_FILES=
2004 else
2005 MAKE_PC_FILES="#"
2006 fi
2007 AC_SUBST(MAKE_PC_FILES)
2008 AC_SUBST(cross_compiling)
2009
2010 AC_PATH_PROG(TIC_PATH,tic,unknown,$PATH:/usr/local/ncurses/bin)
2011 if test -n "$FALLBACK_LIST"
2012 then
2013         if test "$TIC_PATH" = unknown
2014         then
2015                 AC_MSG_WARN(no tic program found for fallbacks)
2016         fi
2017 fi
2018 AC_SUBST(TIC_PATH)
2019
2020 if test "x$cf_with_tests" != xno ; then
2021         MAKE_TESTS=
2022 else
2023         MAKE_TESTS="#"
2024 fi
2025 AC_SUBST(MAKE_TESTS)
2026
2027 ADAHTML_DIR=../../doc/html/ada
2028 AC_SUBST(ADAHTML_DIR)
2029
2030 # these could be configurable, but are not currently
2031 PANEL_NAME=panel
2032 MENU_NAME=menu
2033 FORM_NAME=form
2034 CXX_NAME=ncurses++
2035
2036 AC_SUBST(PANEL_NAME)
2037 AC_SUBST(MENU_NAME)
2038 AC_SUBST(FORM_NAME)
2039 AC_SUBST(CXX_NAME)
2040
2041 # workaround for g++ versus Solaris (20131116)
2042 case $cf_cv_system_name in #(vi
2043 solaris2*)
2044         case "x$CPPFLAGS" in #(vi
2045         *-D_XOPEN_SOURCE_EXTENDED*)
2046                 CF_VERBOSE(moving _XOPEN_SOURCE_EXTENDED to work around g++ problem)
2047                 CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
2048                 CPPFLAGS=`echo "x$CPPFLAGS" | sed -e  's/^.//' -e 's/-D_XOPEN_SOURCE_EXTENDED//'`
2049                 ;;
2050         esac
2051         ;;
2052 esac
2053
2054 # Help to automatically enable the extended curses features when using either
2055 # the *-config or the ".pc" files by adding defines.
2056 AC_MSG_CHECKING(for defines to add to ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config script)
2057 PKG_CFLAGS=
2058 for cf_loop1 in $CPPFLAGS_after_XOPEN
2059 do
2060         cf_found=no
2061         for cf_loop2 in $CPPFLAGS_before_XOPEN
2062         do
2063                 if test "x$cf_loop1" = "x$cf_loop2"
2064                 then
2065                         cf_found=yes
2066                         break
2067                 fi
2068         done
2069         test "$cf_found" = no && PKG_CFLAGS="$PKG_CFLAGS $cf_loop1"
2070 done
2071 AC_MSG_RESULT($PKG_CFLAGS)
2072 AC_SUBST(PKG_CFLAGS)
2073
2074 # AC_CHECK_SIZEOF demands a literal parameter, no variables.  So we do this.
2075 case "x$NCURSES_OSPEED" in #(vi
2076 *short*) #(vi
2077         cf_compatible=1
2078         ;;
2079 *)
2080         cf_compatible=0
2081         ;;
2082 esac
2083 AC_DEFINE_UNQUOTED(NCURSES_OSPEED_COMPAT,$cf_compatible,[Define to 1 if termcap variable ospeed is short])
2084
2085 case "x$cf_cv_typeof_chtype" in
2086 xshort|xint|xlong)
2087         cf_cv_typeof_chtype="unsigned $cf_cv_typeof_chtype"
2088         ;;
2089 esac
2090
2091 case "x$cf_cv_typeof_mmask_t" in
2092 xshort|xint|xlong)
2093         cf_cv_typeof_mmask_t="unsigned $cf_cv_typeof_mmask_t"
2094         ;;
2095 esac
2096
2097 # substitute into misc/Makefile to suppress
2098 # (un)install.data from the
2099 # (un)install rules.
2100 if test "x$cf_with_db_install" = "xno"; then
2101         MISC_INSTALL_DATA=
2102         MISC_UNINSTALL_DATA=
2103 else
2104         MISC_INSTALL_DATA=install.data
2105         MISC_UNINSTALL_DATA=uninstall.data
2106 fi
2107 AC_SUBST(MISC_INSTALL_DATA)
2108 AC_SUBST(MISC_UNINSTALL_DATA)
2109
2110 SUB_SCRIPTS=
2111
2112 dnl Override the package used for exported symbols
2113 if test -n "$PACKAGE"
2114 then
2115         PACKAGE="${PACKAGE}${DFT_ARG_SUFFIX}"
2116         export PACKAGE
2117         echo "package: $PACKAGE"
2118 fi
2119
2120 UNALTERED_SYMS=
2121 cf_filter_syms=no
2122
2123 if test -n "$RESULTING_SYMS"
2124 then
2125         case $cf_cv_abi_version in
2126         [[6789]])
2127                 CF_VERBOSE(will map symbols to ABI=$cf_cv_abi_version)
2128                 cf_filter_syms=yes
2129                 ;;
2130         *)
2131                 CF_VERBOSE(will map symbols to default ABI)
2132                 ;;
2133         esac
2134 fi
2135
2136 if test "x$WILDCARD_SYMS" = xno
2137 then
2138         cf_filter_syms=yes
2139 fi
2140
2141 UNALTERED_SYMS=`echo "$RESULTING_SYMS" | sed -e 's/\\$/\\\\$/g'`
2142 if test $cf_filter_syms = yes
2143 then
2144         RESULTING_SYMS=resulting.map
2145 fi
2146 AC_SUBST(UNALTERED_SYMS)
2147
2148 AC_OUTPUT( \
2149         include/MKterm.h.awk \
2150         include/curses.head:include/curses.h.in \
2151         include/ncurses_dll.h \
2152         include/termcap.h \
2153         include/unctrl.h \
2154         $SUB_SCRIPTS \
2155         $SUB_MAKEFILES \
2156         Makefile,[
2157 if test "x$cf_with_tests" != xno ; then
2158         CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LD"], test)
2159 fi
2160 CF_LIB_RULES($SRC_SUBDIRS)
2161
2162 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
2163 if test -z "$USE_OLD_MAKERULES" ; then
2164         $AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile
2165 fi
2166 fi
2167 ],[
2168 ### Special initialization commands, used to pass information from the
2169 ### configuration-run into config.status
2170
2171 AWK="$AWK"
2172 ALTERNATE_SYMS="$ALTERNATE_SYMS"
2173 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
2174 DFT_LWR_MODEL="$DFT_LWR_MODEL"
2175 ECHO_LD="$ECHO_LD"
2176 LDCONFIG="$LDCONFIG"
2177 LIBTOOL_VERSION="$LIBTOOL_VERSION"
2178 LIB_NAME="$LIB_NAME"
2179 LIB_PREFIX="$LIB_PREFIX"
2180 LIB_SUBSETS="$LIB_SUBSETS"
2181 LIB_SUFFIX="$LIB_SUFFIX"
2182 LIB_TRACING="$LIB_TRACING"
2183 LN_S="$LN_S"
2184 MAKE_TERMINFO="$MAKE_TERMINFO"
2185 NCURSES_MAJOR="$NCURSES_MAJOR"
2186 NCURSES_MINOR="$NCURSES_MINOR"
2187 NCURSES_OSPEED="$NCURSES_OSPEED"
2188 NCURSES_PATCH="$NCURSES_PATCH"
2189 SRC_SUBDIRS="$SRC_SUBDIRS"
2190 TERMINFO="$TERMINFO"
2191 TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
2192 TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
2193 TICS_NAME="$TICS_NAME"
2194 TIC_PATH="$TIC_PATH"
2195 TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
2196 TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
2197 TINFO_NAME="$TINFO_NAME"
2198 TINFO_SUFFIX="$TINFO_SUFFIX"
2199 UNALTERED_SYMS="$UNALTERED_SYMS"
2200 USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
2201 WILDCARD_SYMS="$WILDCARD_SYMS"
2202 WITH_CURSES_H="$with_curses_h"
2203 WITH_ECHO="${enable_echo:=yes}"
2204 WITH_OVERWRITE="$with_overwrite"
2205 cf_LIST_MODELS="$cf_list_models"
2206 cf_cv_abi_version="$cf_cv_abi_version"
2207 cf_cv_do_relink="$cf_cv_do_relink"
2208 cf_cv_do_symlinks="$cf_cv_do_symlinks"
2209 cf_cv_enable_lp64="$cf_cv_enable_lp64"
2210 cf_cv_enable_opaque="$cf_cv_enable_opaque"
2211 cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
2212 cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
2213 cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
2214 cf_cv_rel_version="$cf_cv_rel_version"
2215 cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
2216 cf_cv_shared_soname='$cf_cv_shared_soname'
2217 cf_cv_shlib_version="$cf_cv_shlib_version"
2218 cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
2219 cf_cv_system_name="$cf_cv_system_name"
2220 cf_cv_term_driver="$with_term_driver"
2221 cf_with_ada="$cf_with_ada"
2222 cf_with_cxx_binding="$cf_with_cxx_binding"
2223 cf_with_db_install="$cf_with_db_install"
2224 cf_with_manpages="$cf_with_manpages"
2225 cf_with_tests="$cf_with_tests"
2226 host="$host"
2227 target="$target"
2228 with_shared_cxx="$with_shared_cxx"
2229
2230 ],cat)dnl
2231 ${MAKE:-make} preinstall