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