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