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