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