1 dnl***************************************************************************
2 dnl Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
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: *
12 dnl The above copyright notice and this permission notice shall be included *
13 dnl in all copies or substantial portions of the Software. *
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. *
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 *
27 dnl***************************************************************************
29 dnl Author: Thomas E. Dickey 1995-on
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.
34 dnl See http://invisible-island.net/autoconf/ for additional information.
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)
43 CF_SUBST_NCURSES_VERSION
45 CF_WITH_REL_VERSION(NCURSES)
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])
54 ### Save the given $CFLAGS to allow user-override.
55 cf_user_CFLAGS="$CFLAGS"
57 ### Default install-location
60 ### Checks for programs.
65 AC_PROG_GCC_TRADITIONAL
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++)
77 [ --without-cxx do not adjust ncurses bool to match C++],
78 [cf_with_cxx=$withval],
80 AC_MSG_RESULT($cf_with_cxx)
81 if test "X$cf_with_cxx" = Xno ; then
85 # with autoconf 2.13, we can change the error to a warning:
86 pushdef([AC_MSG_ERROR],
88 AC_MSG_WARN([You don't have any C++ compiler, too bad])
89 cf_with_cxx=no; CXX=""; GXX="";])dnl
91 popdef([AC_MSG_ERROR])dnl
92 # autoconf 2.5x removed the error - by hardcoding it to g++.
93 if test "$CXX" = "g++" ; then
96 if test "$CXX" = "g++" ; then
97 AC_MSG_WARN(ignoring hardcoded g++)
98 cf_with_cxx=no; CXX=""; GXX="";
105 # GXX=""; CXX=""; ac_cv_prog_gxx=no
107 AC_MSG_WARN(templates do not work)
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)
118 AC_MSG_CHECKING(if you want to build with Ada95)
120 [ --without-ada suppress check for Ada95, don't build demo],
121 [cf_with_ada=$withval],
123 AC_MSG_RESULT($cf_with_ada)
125 AC_MSG_CHECKING(if you want to build programs such as tic)
127 [ --without-progs suppress build with programs (e.g., tic)],
128 [cf_with_progs=$withval],
130 AC_MSG_RESULT($cf_with_progs)
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],
137 AC_MSG_RESULT($with_curses_h)
139 modules_to_build="ncurses"
140 if test "X$cf_with_progs" != Xno ; then
141 modules_to_build="$modules_to_build progs tack"
143 modules_to_build="$modules_to_build panel menu form"
157 AC_SYS_LONG_FILE_NAMES
158 CF_MIXEDCASE_FILENAMES
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)
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
175 *) DESTDIR="$withval"
178 AC_MSG_RESULT($DESTDIR)
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.
188 ###############################################################################
189 CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
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.
195 AC_SUBST(cf_list_models)dnl the complete list of models ("normal debug")
198 if test "$with_libtool" != "no" ; then
200 cf_list_models="$cf_list_models libtool"
204 AC_MSG_CHECKING(if you want to build shared libraries)
206 [ --with-shared generate shared-libraries],
207 [with_shared=$withval],
209 AC_MSG_RESULT($with_shared)
210 test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
212 AC_MSG_CHECKING(if you want to build static libraries)
214 [ --with-normal generate normal-libraries (default)],
215 [with_normal=$withval],
217 AC_MSG_RESULT($with_normal)
218 test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
220 AC_MSG_CHECKING(if you want to build debug libraries)
222 [ --with-debug generate debug-libraries (default)],
223 [with_debug=$withval],
225 AC_MSG_RESULT($with_debug)
226 test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
228 AC_MSG_CHECKING(if you want to build profiling libraries)
230 [ --with-profile generate profile-libraries],
231 [with_profile=$withval],
233 AC_MSG_RESULT($with_profile)
234 test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
238 ###############################################################################
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
244 test "$with_libtool" != "no" && cf_list_models=libtool
245 AC_MSG_RESULT($cf_list_models)
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)
253 CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
255 AC_SUBST(DFT_LWR_MODEL)dnl the default model ("normal")
256 AC_SUBST(DFT_UPR_MODEL)dnl the default model ("NORMAL")
270 CF_LIB_PREFIX(cf_prefix)
271 LIB_PREFIX=$cf_prefix
277 ###############################################################################
279 AC_MSG_CHECKING(if you want to build a separate terminfo library)
281 [ --with-termlib generate separate terminfo library],
282 [with_termlib=$withval],
284 AC_MSG_RESULT($with_termlib)
286 AC_MSG_CHECKING(if you want to build a separate tic library)
288 [ --with-ticlib generate separate tic library],
289 [with_ticlib=$withval],
291 AC_MSG_RESULT($with_ticlib)
293 ### Checks for special libraries, must be done up-front.
296 if test "$with_gpm" != no ; then
297 AC_MSG_CHECKING(if you want to load GPM dynamically)
299 [ --without-dlsym do not use dlsym() to load GPM dynamically],
300 [with_dlsym=$withval],
302 AC_MSG_RESULT($with_dlsym)
303 if test "$with_dlsym" = yes ; then
305 if test "$with_gpm" != yes ; then
306 CF_VERBOSE(assuming soname for gpm is $with_gpm)
307 cf_cv_gpm_soname="$with_gpm"
309 CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
311 test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname")
312 SHLIB_LIST="-ldl $SHLIB_LIST"
314 SHLIB_LIST="-lgpm $SHLIB_LIST"
316 AC_DEFINE(HAVE_LIBGPM)
322 dnl Not all ports of gcc support the -g option
324 if test X"$CC_G_OPT" = X"" ; then
326 test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
330 if test X"$CXX_G_OPT" = X"" ; then
332 test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
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='' ;;
344 AC_SUBST(LD_MODEL)dnl the type of link (e.g., -g or -pg)
345 AC_MSG_RESULT($LD_MODEL)
347 case $DFT_LWR_MODEL in
349 AC_MSG_CHECKING(if rpath option should be used)
351 [ --enable-rpath use rpath option when generating shared libraries],
352 [cf_cv_ld_rpath=$enableval],
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)
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)
373 ###############################################################################
374 CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
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)
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],
389 AC_MSG_RESULT($use_database)
391 case $host_os in #(vi
393 TERMINFO_SRC='${top_srcdir}/misc/emx.src'
396 TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
399 AC_SUBST(TERMINFO_SRC)
402 if test "$use_database" != no ; then
403 AC_DEFINE(USE_DATABASE)
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)
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],,
415 AC_MSG_RESULT($with_hashed_db)
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],
423 AC_MSG_RESULT($with_fallback)
424 FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
425 AC_SUBST(FALLBACK_LIST)
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;;
436 AC_MSG_RESULT($with_xterm_new)
437 WHICH_XTERM=$with_xterm_new
438 AC_SUBST(WHICH_XTERM)
441 if test "$use_database" = no ; then
442 TERMINFO="${datadir}/terminfo"
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],
452 AC_MSG_RESULT($TERMINFO_DIRS)
453 test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS")
455 AC_MSG_CHECKING(for default terminfo directory)
456 CF_WITH_PATH(default-terminfo-dir,
457 [ --with-default-terminfo-dir=DIR default terminfo directory],
461 AC_MSG_RESULT($TERMINFO)
462 AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO")
467 AC_SUBST(MAKE_TERMINFO)
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],
479 unsigned long n = 6000000L;
483 ${cf_cv_main_return:-return}(s == 0);
487 [with_big_core=no])])
488 AC_MSG_RESULT($with_big_core)
489 test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
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)
501 test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1
502 AC_SUBST(USE_BIG_STRINGS)
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],
510 AC_MSG_RESULT($with_termcap)
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)
518 AC_DEFINE(PURE_TERMINFO)
521 if test "$with_ticlib" != no ; then
522 AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
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],
530 /etc/termcap:/usr/share/misc/termcap)
531 AC_MSG_RESULT($TERMPATH)
532 test -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH")
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],
540 AC_MSG_RESULT($with_getcap)
541 test "$with_getcap" = "yes" && AC_DEFINE(USE_GETCAP)
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)
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)
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)
570 ### Use option --enable-symlinks to make tic use symlinks, not hard links
571 ### to reduce storage requirements for the terminfo database.
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],
585 AC_MSG_RESULT($with_symlinks)
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
597 AC_MSG_RESULT($with_links)
600 test "$with_links" = yes && AC_DEFINE(USE_LINKS)
601 test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
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)
612 if test "$with_broken_linker" = yes ; then
613 AC_DEFINE(BROKEN_LINKER)
615 elif test "$DFT_LWR_MODEL" = shared ; then
616 case $cf_cv_system_name in #(vi
618 AC_DEFINE(BROKEN_LINKER)
620 CF_VERBOSE(cygwin linker is broken anyway)
624 AC_SUBST(BROKEN_LINKER)
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],
632 AC_MSG_RESULT($with_bsdpad)
633 test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
635 ### use option --enable-widec to turn on use of wide-character support
644 # Check to define _XOPEN_SOURCE "automatically"
647 # Work around breakage on OS X
650 # Checks for CODESET support.
653 # use these variables to work around a defect in gcc's fixincludes.
657 AC_MSG_CHECKING(if you want wide-character code)
659 [ --enable-widec compile with wide-char/UTF-8 code],
660 [with_widec=$enableval],
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)
669 AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc)
670 if test "$ac_cv_func_putwc" != yes ; then
672 if test "$cf_cv_libutf8" = yes ; then
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)
680 if test "$NCURSES_MBSTATE_T" != 0; then
681 AC_DEFINE(NEED_MBSTATE_T_DEF)
684 AC_SUBST(NCURSES_CH_T)
685 AC_SUBST(NCURSES_LIBUTF8)
687 AC_SUBST(NEED_WCHAR_H)
688 AC_SUBST(NCURSES_MBSTATE_T)
689 AC_SUBST(NCURSES_WCHAR_T)
690 AC_SUBST(NCURSES_WINT_T)
692 AC_SUBST(NCURSES_OK_WCHAR_T)
693 AC_SUBST(NCURSES_OK_WINT_T)
695 ### use option --disable-lp64 to allow long chtype
696 case $cf_cv_abi_version in
701 default_with_lp64=yes
705 AC_MSG_CHECKING(whether to enable _LP64 definition in curses.h)
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)
712 if test "$with_lp64" = yes ; then
717 AC_SUBST(cf_cv_enable_lp64)
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)
732 ### use option --with-bool to override bool's type
733 AC_MSG_CHECKING(for type of bool)
735 [ --with-bool=TYPE override fallback type of bool variable],
736 [NCURSES_BOOL="$withval"],
738 AC_MSG_RESULT($NCURSES_BOOL)
739 AC_SUBST(NCURSES_BOOL)
741 AC_MSG_CHECKING(for alternate terminal capabilities file)
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)
750 ### use option --with-chtype to override chtype's type
751 AC_MSG_CHECKING(for type of chtype)
753 [ --with-chtype=TYPE override type of chtype],
754 [NCURSES_CHTYPE="$withval"],
755 [NCURSES_CHTYPE=auto])
756 AC_MSG_RESULT($NCURSES_CHTYPE)
758 ### use option --with-ospeed to override ospeed's type
759 AC_MSG_CHECKING(for type of 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)
767 ### use option --with-mmask-t to override mmask_t's type
768 AC_MSG_CHECKING(for type of 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)
775 ### Enable compiling-in rcs id's
776 AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
778 [ --with-rcs-ids compile-in RCS identifiers],
779 [with_rcs_ids=$withval],
781 AC_MSG_RESULT($with_rcs_ids)
782 test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
784 ###############################################################################
785 CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
787 ###############################################################################
788 CF_HELP_MESSAGE(Extensions:)
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
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)
809 AC_SUBST(NCURSES_EXT_FUNCS)
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)
814 [ --enable-const compile with extra/non-standard const],
815 [with_ext_const=$enableval],
817 AC_MSG_RESULT($with_ext_const)
818 NCURSES_CONST='/*nothing*/'
819 if test "$with_ext_const" = yes ; then
822 AC_SUBST(NCURSES_CONST)
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)
832 AC_CHECK_SIZEOF([signed char], 0)
833 if test "$ac_cv_sizeof_signed_char" = 1 ; then
834 NCURSES_SBOOL="signed char"
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)
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)
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)
864 test "$with_tcap_names" = yes && NCURSES_XNAMES=1
865 AC_SUBST(NCURSES_XNAMES)
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)
872 [ --without-develop disable development options],
873 [with_develop=$withval],
875 AC_MSG_RESULT($with_develop)
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)
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)
893 ###############################################################################
894 # These are just experimental, probably should not be in a package:
895 CF_HELP_MESSAGE(Experimental Code:)
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)
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],
911 AC_MSG_RESULT($with_hashmap)
912 test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
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],
920 AC_MSG_RESULT($with_colorfgbg)
921 test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
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)
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)
935 # cannot be ABI 5 since it changes sizeof(cchar_t)
939 AC_DEFINE(NCURSES_EXT_COLORS)
941 AC_SUBST(NCURSES_EXT_COLORS)
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],
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
955 AC_SUBST(NCURSES_MOUSE_VERSION)
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],
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"
970 LIB_SUFFIX="t${LIB_SUFFIX}"
971 AC_DEFINE(USE_REENTRANT)
974 cf_cv_enable_reentrant=0
975 cf_cv_enable_opaque="NCURSES_OPAQUE"
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)
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)
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)
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)
1012 ###############################################################################
1013 CF_HELP_MESSAGE(Testing/development Options:)
1015 ### use option --disable-echo to suppress full display compiling commands
1016 AC_MSG_CHECKING(if you want to display full commands during build)
1018 [ --enable-echo build: display "compiling" commands (default)],
1019 [with_echo=$enableval],
1021 if test "$with_echo" = yes; then
1024 ECHO_LINK='@ echo linking $@ ... ;'
1025 test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
1026 test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
1028 AC_MSG_RESULT($with_echo)
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)
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)
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)
1056 if test "$with_assertions" = no
1059 CPPFLAGS="$CPPFLAGS -DNDEBUG"
1061 ADAFLAGS="$ADAFLAGS -gnata"
1065 ### use option --disable-leaks to suppress "permanent" leaks, for testing
1067 AC_DEFINE(HAVE_NC_ALLOC_H)
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)])
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)])
1079 # Normally we only add trace() to the debug-library. Allow this to be
1080 # extended to all models of the ncurses library:
1082 case "$CFLAGS $CPPFLAGS" in
1088 AC_MSG_CHECKING(whether to add trace feature to all models)
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)
1095 if test "$cf_with_trace" = yes ; then
1098 CF_ADD_CFLAGS(-DTRACE)
1106 ### Checks for libraries.
1107 AC_CHECK_FUNC(gettimeofday,
1108 AC_DEFINE(HAVE_GETTIMEOFDAY),[
1110 AC_CHECK_LIB(bsd, gettimeofday,
1111 AC_DEFINE(HAVE_GETTIMEOFDAY)
1112 LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
1114 CF_MATH_LIB(MATH_LIB,sin(x))
1117 ### Checks for header files.
1123 dnl These are some other potentially nonportable headers.
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()'
1151 ### checks for compiler characteristics
1154 CF_C_INLINE(NCURSES_INLINE,1200)
1157 if test $NCURSES_CHTYPE = auto ; then
1160 cf_cv_typeof_chtype=$NCURSES_CHTYPE
1162 test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
1163 AC_SUBST(cf_cv_typeof_chtype)
1165 CF_UNSIGNED_LITERALS
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"
1171 if test $NCURSES_MMASK_T = auto ; then
1172 cf_cv_typeof_mmask_t=long
1174 cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
1176 test "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t=""
1177 AC_SUBST(cf_cv_typeof_mmask_t)
1179 ### Checks for external-data
1183 ### Checks for library functions.
1204 if test "$with_getcap" = "yes" ; then
1215 # setup for prototype of fallback for vsscanf()
1216 CF_SUBST_IF(["$cf_cv_func_vsscanf" = vsscanf], HAVE_VSSCANF, 1, 0)
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)
1222 AC_FUNC_SETVBUF_REVERSED
1230 if test "$with_hashed_db" != no ; then
1231 AC_DEFINE(USE_HASHED_DB)
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)
1241 # Just in case, check if the C compiler has a bool type.
1242 CF_BOOL_DECL(cf_cv_cc_bool_type)
1244 # Check for C++ compiler characteristics (and ensure that it's there!)
1245 if test -n "$CXX" ; then
1250 case $GXX_VERSION in
1262 AC_CHECK_HEADERS(iostream typeinfo)
1271 CXX_AR_OPTS='$(AR_OPTS)'
1272 case $cf_cv_system_name in #(vi
1274 if test "$GXX" != yes ; then
1276 CXX_AR_OPTS='-ar -o'
1280 CXXLDFLAGS="-u main"
1283 if test "$GXX" != yes ; then
1285 CXX_AR_OPTS='-xar -o'
1289 AC_SUBST(CXXLDFLAGS)
1291 AC_SUBST(CXX_AR_OPTS)
1294 cf_cv_builtin_bool=1
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.
1302 # Caveat: since the storage of the bool type is not standardized, it
1305 if test "$NCURSES_BOOL" != auto ; then
1306 cf_cv_type_of_bool=$NCURSES_BOOL
1307 cf_cv_header_stdbool_h=0
1309 if test "$cf_cv_header_stdbool_h" = 1 ; then
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 ;;
1317 AC_MSG_RESULT($cf_cv_type_of_bool)
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.
1329 if test $cf_cv_cc_bool_type = 1
1331 # oops: C has a bool. Unlikely, but C++ could differ.
1333 elif test $cf_cv_builtin_bool = 0
1338 # this is the normal case
1339 USE_CXX_BOOL='defined(__cplusplus)'
1341 AC_SUBST(USE_CXX_BOOL)
1343 CF_HELP_MESSAGE(Ada95 Binding Options:)
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
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)
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
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.
1373 if test "$cf_cv_prog_gnat_correct" = yes; then
1374 AC_MSG_CHECKING(if GNAT works)
1375 CF_GNAT_TRY_RUN([procedure conftest;],
1378 procedure conftest is
1380 Text_IO.Put ("Hello World");
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)
1387 if test "$cf_cv_prog_gnat_correct" = yes; then
1388 ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
1390 AC_MSG_CHECKING(if GNAT pragma Unreferenced works)
1391 CF_GNAT_TRY_LINK([procedure conftest;],
1394 procedure conftest is
1396 pragma Unreferenced (test);
1399 Text_IO.Put ("Hello World");
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)
1405 # if the pragma is supported, use it (needed in the Trace code).
1406 if test $cf_cv_pragma_unreferenced = yes ; then
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])
1417 cf_ada_package=terminal_interface
1419 AC_SUBST(cf_ada_make)
1420 AC_SUBST(cf_ada_compiler)
1421 AC_SUBST(cf_ada_package)
1423 AC_SUBST(cf_compile_generics)
1424 AC_SUBST(cf_generic_objects)
1425 AC_SUBST(PRAGMA_UNREF)
1427 CF_WITH_PATH(ada-include,
1428 [ --with-ada-include=DIR Ada includes are in DIR],
1430 PREFIX/lib/ada/adainclude,
1431 [$]prefix/lib/ada/adainclude)
1432 AC_SUBST(ADA_INCLUDE)
1434 CF_WITH_PATH(ada-objects,
1435 [ --with-ada-objects=DIR Ada objects are in DIR],
1437 PREFIX/lib/ada/adalib,
1438 [$]prefix/lib/ada/adalib)
1439 AC_SUBST(ADA_OBJECTS)
1447 ### Construct the ncurses library-subsets, if any, from this set of keywords:
1448 ### none, base, ext_funcs, ext_tinfo, ticlib, termlib, widechar
1450 ### ticlib modules may be a separate library, otherwise contained in termlib.
1451 ### termlib modules may be a separate library, otherwise contained in ncurses.
1453 ### The of "+" or " " between the tokens controls the way the script
1454 ### chooses to split module lists into libraries.
1456 ### (see CF_LIB_RULES).
1457 AC_MSG_CHECKING(for library subsets)
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} "
1465 LIB_SUBSETS="${LIB_SUBSETS}+"
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} "
1474 LIB_SUBSETS="${LIB_SUBSETS}+"
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"
1481 AC_MSG_RESULT($LIB_SUBSETS)
1483 ### Construct the list of include-directories to be generated
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)
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
1499 DFT_DEP_SUFFIX=".dll.a"
1500 DFT_LIB_SUFFIX=".dll"
1504 AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
1505 AC_MSG_RESULT($DFT_DEP_SUFFIX)
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)
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
1518 CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library
1520 AC_MSG_RESULT($CXX_LIB_SUFFIX)
1521 AC_SUBST(CXX_LIB_SUFFIX)
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)
1531 ### Set up low-level terminfo dependencies for makefiles.
1533 # TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
1536 if test "$with_dlsym" = yes ; then
1537 CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
1540 if test "$with_ticlib" != no ; then
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}"
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}"
1552 TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}"
1554 TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
1556 AC_SUBST(TICS_ARG_SUFFIX)
1557 AC_SUBST(TICS_DEP_SUFFIX)
1558 AC_SUBST(TICS_LIB_SUFFIX)
1561 if test "$with_termlib" != no ; then
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}"
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}"
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"
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}"
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}"
1596 TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
1599 if test "$DFT_LWR_MODEL" = shared ; then
1600 case $cf_cv_system_name in #(vi
1602 # "lib" files have ".dll.a" suffix, "cyg" files have ".dll"
1608 AC_SUBST(TINFO_ARG_SUFFIX)
1609 AC_SUBST(TINFO_DEP_SUFFIX)
1610 AC_SUBST(TINFO_LIB_SUFFIX)
1611 AC_SUBST(TINFO_ARGS)
1613 if test "$with_dlsym" = yes ; then
1614 CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
1618 TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
1619 AC_SUBST(TINFO_ARGS2)
1621 case $DFT_LWR_MODEL in
1622 normal|debug|profile)
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)
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)
1642 AC_SUBST(WITH_OVERWRITE)
1644 AC_SUBST(TINFO_LIST)
1645 AC_SUBST(SHLIB_LIST)
1647 # used to separate tack out of the tree
1649 AC_SUBST(NCURSES_TREE)
1651 ### predefined stuff for the test programs
1652 AC_DEFINE(HAVE_SLK_COLOR)
1654 ### Construct the list of subdirectories for which we'll customize makefiles
1655 ### with the appropriate compile-rules.
1657 CF_SRC_MODULES($modules_to_build)
1659 if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
1660 SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses-config"
1665 AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
1667 AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
1669 ### Now that we're done running tests, add the compiler-warnings, if any
1670 CF_ADD_CFLAGS($EXTRA_CFLAGS)
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)
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"
1681 include/MKterm.h.awk \
1682 include/curses.head:include/curses.h.in \
1687 CF_PRG_RULES([$srcdir/test/mk-test.awk ECHO_LINK="$ECHO_LINK"], test)
1688 CF_LIB_RULES($SRC_SUBDIRS)
1690 ### Special initialization commands, used to pass information from the
1691 ### configuration-run into config.status
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"
1737 ${MAKE-make} preinstall