ncursesw-morphos/configure.in
Thomas E. Dickey 96e4e128ae ncurses 6.0 - patch 20151107
+ modify tset's assignment to TERM in its output to reflect the name by
  which the terminal description is found, rather than the primary
  name.  That was an unnecessary part from the initial conversion of
  tset from termcap to terminfo.  The termcap program in 4.3BSD did
  this to avoid using the short 2-character name (report by Rich
  Burridge).
+ minor fix to configure script to ensure that rules for resulting.map
  are only generated when needed (cf: 20151101).
+ modify configure script to handle the case where tic-library is
  renamed, but the --with-debug option is used by itself without
  normal or shared libraries (prompted by comment in Debian #803482).
2015-11-08 02:34:05 +00:00

2284 lines
69 KiB
Plaintext

dnl***************************************************************************
dnl Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
dnl copy of this software and associated documentation files (the *
dnl "Software"), to deal in the Software without restriction, including *
dnl without limitation the rights to use, copy, modify, merge, publish, *
dnl distribute, distribute with modifications, sublicense, and/or sell *
dnl copies of the Software, and to permit persons to whom the Software is *
dnl furnished to do so, subject to the following conditions: *
dnl *
dnl The above copyright notice and this permission notice shall be included *
dnl in all copies or substantial portions of the Software. *
dnl *
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
dnl *
dnl Except as contained in this notice, the name(s) of the above copyright *
dnl holders shall not be used in advertising or otherwise to promote the *
dnl sale, use or other dealings in this Software without prior written *
dnl authorization. *
dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: configure.in,v 1.623 2015/11/07 22:41:37 tom Exp $
dnl Process this file with autoconf to produce a configure script.
dnl
dnl See http://invisible-island.net/autoconf/ for additional information.
dnl
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.52.20030208)
AC_REVISION($Revision: 1.623 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
CF_TOP_BUILDDIR
CF_SUBST_NCURSES_VERSION
CF_VERSION_INFO(NCURSES,ncurses)
CF_WITH_REL_VERSION(NCURSES)
CF_NCURSES_WITH_ABI_VERSION
CF_WITH_SYSTYPE
### Save the given $CFLAGS to allow user-override.
cf_user_CFLAGS="$CFLAGS"
### Default install-location
CF_CFG_DEFAULTS
### Defaults for ncurses ABI
CF_ABI_DEFAULTS
### Checks for programs.
AC_ARG_WITH(ada,
[ --without-ada suppress check for Ada95, don't build demo],
[cf_with_ada=$withval],
[cf_with_ada=yes])
if test "x$cf_with_ada" = xyes
then
cf_PROG_CC="gnatgcc gcc cc"
else
cf_PROG_CC="gcc cc"
fi
CF_PROG_CC($cf_PROG_CC)
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
CF_PROG_CC_C_O(CC)
CF_PROG_LDCONFIG
dnl DEFECT in autoconf 2.12: an attempt to set policy, this breaks the
dnl configure script by not letting us test if C++
dnl is present, making this option necessary.
AC_MSG_CHECKING(if you want to ensure bool is consistent with C++)
AC_ARG_WITH(cxx,
[ --without-cxx do not adjust ncurses bool to match C++],
[cf_with_cxx=$withval],
[cf_with_cxx=yes])
AC_MSG_RESULT($cf_with_cxx)
if test "X$cf_with_cxx" = Xno ; then
CXX=""
GXX=""
else
# with autoconf 2.13, we can change the error to a warning:
pushdef([AC_MSG_ERROR],
[AC_MSG_RESULT(no)
AC_MSG_WARN([You don't have any C++ compiler, too bad])
cf_with_cxx=no; CXX=""; GXX="";])dnl
AC_PROG_CXX
popdef([AC_MSG_ERROR])dnl
AC_LANG_PUSH(C++)
if test "x$cf_with_cxx" != xno
then
# Several of the C++ configurations do not work, particularly when
# cross-compiling (20140913 -TD)
AC_MSG_CHECKING(if $CXX works)
save_CPPFLAGS="$CPPFLAGS"
eval cf_includedir=${includedir}
CPPFLAGS="$CPPFLAGS -I${cf_includedir}"
AC_TRY_COMPILE([
#include <stdlib.h>
#include <stdio.h>
],
[
printf("Hello world!\n")
],
[cf_cxx_works=yes],
[cf_cxx_works=no])
CPPFLAGS="$save_CPPFLAGS"
AC_MSG_RESULT($cf_cxx_works)
if test "x$cf_cxx_works" = xno
then
AC_MSG_WARN([Ignore $CXX, since it cannot compile hello-world.])
cf_with_cxx=no; CXX=""; GXX="";
fi
fi
AC_LANG_POP
# autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
if test "$CXX" = "g++" ; then
AC_PATH_PROG(CXX,g++)
fi
case "x$CXX" in
(x|xg++)
AC_MSG_WARN([You don't have any C++ compiler, too bad])
cf_with_cxx=no; CXX=""; GXX="";
;;
esac
fi
CF_GXX_VERSION
case $GXX_VERSION in
(1*|2.[[0-6]]*)
# GXX=""; CXX=""; ac_cv_prog_gxx=no
# cf_cxx_library=no
AC_MSG_WARN(templates do not work)
;;
esac
AC_MSG_CHECKING(if you want to build C++ binding and demo)
AC_ARG_WITH(cxx-binding,
[ --without-cxx-binding do not build C++ binding and demo],
[cf_with_cxx_binding=$withval],
[cf_with_cxx_binding=$cf_with_cxx])
AC_MSG_RESULT($cf_with_cxx_binding)
AC_MSG_CHECKING(if you want to build with Ada95)
AC_MSG_RESULT($cf_with_ada)
AC_MSG_CHECKING(if you want to install terminal database)
AC_ARG_ENABLE(db-install,
[ --disable-db-install suppress install of terminal database],
[cf_with_db_install=$enableval],
[cf_with_db_install=yes])
AC_MSG_RESULT($cf_with_db_install)
AC_MSG_CHECKING(if you want to install manpages)
AC_ARG_WITH(manpages,
[ --without-manpages suppress install of manpages],
[cf_with_manpages=$withval],
[cf_with_manpages=yes])
AC_MSG_RESULT($cf_with_manpages)
AC_MSG_CHECKING(if you want to build programs such as tic)
AC_ARG_WITH(progs,
[ --without-progs suppress build/install with programs (e.g., tic)],
[cf_with_progs=$withval],
[cf_with_progs=yes])
AC_MSG_RESULT($cf_with_progs)
AC_MSG_CHECKING(if you want to build test-programs)
AC_ARG_WITH(tests,
[ --without-tests suppress build/install with test-programs],
[cf_with_tests=$withval],
[cf_with_tests=yes])
AC_MSG_RESULT($cf_with_tests)
AC_MSG_CHECKING(if you wish to install curses.h)
AC_ARG_WITH(curses-h,
[ --without-curses-h install curses.h as ncurses.h only],
[with_curses_h=$withval],
[with_curses_h=yes])
AC_MSG_RESULT($with_curses_h)
modules_to_build="ncurses"
if test "X$cf_with_progs" != Xno ; then
modules_to_build="$modules_to_build progs tack"
fi
modules_to_build="$modules_to_build panel menu form"
AC_ARG_PROGRAM
CF_PROG_AWK
CF_PROG_EGREP
CF_PROG_INSTALL
CF_PROG_LINT
CF_PROG_LN_S
AC_SYS_LONG_FILE_NAMES
# if we find pkg-config, check if we should install the ".pc" files.
CF_PKG_CONFIG
CF_WITH_PKG_CONFIG_LIBDIR
CF_ENABLE_PC_FILES
if test -z "$MAKE_PC_FILES"
then
AC_MSG_CHECKING(for suffix to add to pc-files)
AC_ARG_WITH(pc-suffix,
[ --with-pc-suffix suffixes pc-files],
[case "x$withval" in
(xyes|xno)
PC_MODULE_SUFFIX=
;;
(*) PC_MODULE_SUFFIX="$withval"
;;
esac])
test -z "$PC_MODULE_SUFFIX" && PC_MODULE_SUFFIX=none
AC_MSG_RESULT($PC_MODULE_SUFFIX)
test "$PC_MODULE_SUFFIX" = none && PC_MODULE_SUFFIX=
AC_SUBST(PC_MODULE_SUFFIX)
fi
AC_MSG_CHECKING(if we should assume mixed-case filenames)
AC_ARG_ENABLE(mixed-case,
[ --enable-mixed-case tic should assume mixed-case filenames],
[enable_mixedcase=$enableval],
[enable_mixedcase=auto])
AC_MSG_RESULT($enable_mixedcase)
if test "$enable_mixedcase" = "auto" ; then
CF_MIXEDCASE_FILENAMES
else
cf_cv_mixedcase=$enable_mixedcase
if test "x$enable_mixedcase" = "xyes" ; then
AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if tic should assume mixed-case filenames])
fi
fi
# do this after mixed-case option (tags/TAGS is not as important as tic).
AC_PROG_MAKE_SET
CF_MAKE_TAGS
CF_MAKEFLAGS
dnl These are standard among *NIX systems, but not when cross-compiling
AC_CHECK_TOOL(RANLIB, ranlib, ':')
AC_CHECK_TOOL(LD, ld, ld)
AC_CHECK_TOOL(AR, ar, ar)
AC_CHECK_TOOL(NM, nm, nm)
CF_AR_FLAGS
dnl Special option for use by system-builders: the install-prefix is used to
dnl adjust the location into which the actual install is done, so that an
dnl archive can be built without modifying the host system's configuration.
AC_MSG_CHECKING(if you have specified an install-prefix)
AC_ARG_WITH(install-prefix,
[ --with-install-prefix prefixes actual install-location ($DESTDIR)],
[case "x$withval" in
(xyes|xno)
;;
(*) DESTDIR="$withval"
;;
esac])
AC_MSG_RESULT($DESTDIR)
AC_SUBST(DESTDIR)
###############################################################################
CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:)
# If we're cross-compiling, allow the user to override the tools and their
# options. The configure script is oriented toward identifying the host
# compiler, etc., but we need a build compiler to generate parts of the source.
CF_BUILD_CC
###############################################################################
CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
### Options to allow the user to specify the set of libraries which are used.
### Use "--without-normal --with-shared" to allow the default model to be
### shared, for example.
cf_list_models=""
AC_SUBST(cf_list_models)dnl the complete list of models ("normal debug")
CF_WITH_LIBTOOL
if test "$with_libtool" != "no" ; then
cf_list_models="$cf_list_models libtool"
else
AC_MSG_CHECKING(if you want to build shared libraries)
AC_ARG_WITH(shared,
[ --with-shared generate shared-libraries],
[with_shared=$withval],
[with_shared=no])
AC_MSG_RESULT($with_shared)
test "x$with_shared" = "xyes" && cf_list_models="$cf_list_models shared"
AC_MSG_CHECKING(if you want to build static libraries)
AC_ARG_WITH(normal,
[ --with-normal generate normal-libraries (default)],
[with_normal=$withval],
[with_normal=yes])
AC_MSG_RESULT($with_normal)
test "x$with_normal" = "xyes" && cf_list_models="$cf_list_models normal"
AC_MSG_CHECKING(if you want to build debug libraries)
AC_ARG_WITH(debug,
[ --with-debug generate debug-libraries (default)],
[with_debug=$withval],
[with_debug=yes])
AC_MSG_RESULT($with_debug)
test "x$with_debug" = "xyes" && cf_list_models="$cf_list_models debug"
AC_MSG_CHECKING(if you want to build profiling libraries)
AC_ARG_WITH(profile,
[ --with-profile generate profile-libraries],
[with_profile=$withval],
[with_profile=no])
AC_MSG_RESULT($with_profile)
test "x$with_profile" = "xyes" && cf_list_models="$cf_list_models profile"
fi
if test "X$cf_with_cxx_binding" != Xno; then
if test "x$with_shared" = "xyes"; then
AC_MSG_CHECKING(if you want to build C++ shared libraries)
AC_ARG_WITH(cxx-shared,
[ --with-cxx-shared generate C++ shared-libraries],
[with_shared_cxx=$withval],
[with_shared_cxx=no])
AC_MSG_RESULT($with_shared_cxx)
fi
fi
###############################################################################
AC_MSG_CHECKING(for specified models)
test -z "$cf_list_models" && cf_list_models=normal
dnl If we use libtool to generate libraries, then it must be the only
dnl specified model.
test "$with_libtool" != "no" && cf_list_models=libtool
AC_MSG_RESULT($cf_list_models)
### Use the first model as the default, and save its suffix for use in building
### up test-applications.
AC_MSG_CHECKING(for default model)
DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
AC_MSG_RESULT($DFT_LWR_MODEL)
CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
AC_SUBST(DFT_LWR_MODEL)dnl the default model ("normal")
AC_SUBST(DFT_UPR_MODEL)dnl the default model ("NORMAL")
TICS_NAME=tic
AC_SUBST(TICS_NAME)
TINFO_NAME=tinfo
AC_SUBST(TINFO_NAME)
LIB_NAME=ncurses
AC_SUBST(LIB_NAME)
LIB_DIR=../lib
LIB_2ND=../../lib
CF_WITH_LIB_PREFIX(cf_prefix)
LIB_SUFFIX=
AC_SUBST(LIB_SUFFIX)
CF_PATHSEP
###############################################################################
AC_MSG_CHECKING(if you want to build a separate terminfo library)
AC_ARG_WITH(termlib,
[ --with-termlib generate separate terminfo library],
[with_termlib=$withval],
[with_termlib=no])
AC_MSG_RESULT($with_termlib)
AC_MSG_CHECKING(if you want to build a separate tic library)
AC_ARG_WITH(ticlib,
[ --with-ticlib generate separate tic library],
[with_ticlib=$withval],
[with_ticlib=no])
AC_MSG_RESULT($with_ticlib)
### Checks for special libraries, must be done up-front.
SHLIB_LIST=""
CF_WITH_GPM
if test "$with_gpm" != no ; then
AC_MSG_CHECKING(if you want to load GPM dynamically)
AC_ARG_WITH(dlsym,
[ --without-dlsym do not use dlsym() to load GPM dynamically],
[with_dlsym=$withval],
[with_dlsym=yes])
AC_MSG_RESULT($with_dlsym)
if test "x$with_dlsym" = xyes ; then
CF_FUNC_DLSYM
if test "x$with_gpm" != xyes ; then
CF_VERBOSE(assuming soname for gpm is $with_gpm)
cf_cv_gpm_soname="$with_gpm"
else
CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
fi
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])
SHLIB_LIST="-ldl $SHLIB_LIST"
else
SHLIB_LIST="-lgpm $SHLIB_LIST"
CF_ADD_LIB(gpm,TEST_LIBS)
fi
AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
CF_CHECK_GPM_WGETCH
fi
CF_WITH_SYSMOUSE
dnl Not all ports of gcc support the -g option
if test X"$CC_G_OPT" = X"" ; then
CC_G_OPT='-g'
test -n "$GCC" && test "x${ac_cv_prog_cc_g}" != xyes && CC_G_OPT=''
fi
AC_SUBST(CC_G_OPT)
if test X"$CXX_G_OPT" = X"" ; then
CXX_G_OPT='-g'
test -n "$GXX" && test "x${ac_cv_prog_cxx_g}" != xyes && CXX_G_OPT=''
fi
AC_SUBST(CXX_G_OPT)
AC_MSG_CHECKING(for default loader flags)
case $DFT_LWR_MODEL in
(libtool) LD_MODEL='' ;;
(normal) LD_MODEL='' ;;
(debug) LD_MODEL=$CC_G_OPT ;;
(profile) LD_MODEL='-pg';;
(shared) LD_MODEL='' ;;
esac
AC_SUBST(LD_MODEL)dnl the type of link (e.g., -g or -pg)
AC_MSG_RESULT($LD_MODEL)
case $DFT_LWR_MODEL in
(shared)
CF_ENABLE_RPATH
AC_MSG_CHECKING(if shared libraries should be relinked during install)
AC_ARG_ENABLE(relink,
[ --disable-relink relink shared libraries during install],
[cf_cv_do_relink=$enableval],
[cf_cv_do_relink=yes])
AC_MSG_RESULT($cf_cv_do_relink)
;;
esac
# we will build libraries one-level down.
rel_builddir=..
CF_SHARED_OPTS
for model in $cf_list_models; do
case $model in
(libtool)
CF_WITH_LIBTOOL_OPTS
CF_WITH_EXPORT_SYMS
;;
(shared)
if test "$CC_SHARED_OPTS" = "unknown"; then
AC_ERROR(Shared libraries are not supported in this version)
fi
CF_WITH_VERSIONED_SYMS
;;
esac
done
# pretend that ncurses==ncursesw==ncursest
AC_MSG_CHECKING(if you want to disable library suffixes)
CF_ARG_DISABLE(lib-suffixes,
[ --disable-lib-suffixes disable library suffixes],
[disable_lib_suffixes=yes],
[disable_lib_suffixes=no],
no)
AC_MSG_RESULT($disable_lib_suffixes)
### If we're building with rpath, try to link non-standard libs that way too.
if test "$DFT_LWR_MODEL" = "shared"; then
CF_DISABLE_RPATH_HACK
fi
###############################################################################
CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
### use option --with-extra-suffix to append suffix to headers and libraries
AC_MSG_CHECKING(if you wish to append extra suffix to header/library paths)
EXTRA_SUFFIX=
AC_ARG_WITH(extra-suffix,
[ --with-extra-suffix=X append extra suffix to header/library paths],
[case x$withval in
(no)
;;
(xyes|x)
EXTRA_SUFFIX=$cf_cv_abi_version
;;
(*)
EXTRA_SUFFIX=$withval
;;
esac
])
AC_MSG_RESULT($EXTRA_SUFFIX)
AC_SUBST(EXTRA_SUFFIX)
### use option --disable-overwrite to leave out the link to -lcurses
AC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
AC_ARG_ENABLE(overwrite,
[ --disable-overwrite put headers in subdir, omit link to -lcurses],
[with_overwrite=$enableval],
[if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi])
AC_MSG_RESULT($with_overwrite)
AC_MSG_CHECKING(if external terminfo-database is used)
AC_ARG_ENABLE(database,
[ --disable-database do not use terminfo, only fallbacks/termcap],
[use_database=$enableval],
[use_database=yes])
AC_MSG_RESULT($use_database)
case $host_os in
(os2*)
TERMINFO_SRC='${top_srcdir}/misc/emx.src'
;;
(*)
TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
;;
esac
AC_SUBST(TERMINFO_SRC)
NCURSES_USE_DATABASE=0
if test "$use_database" != no ; then
NCURSES_USE_DATABASE=1
AC_MSG_CHECKING(which terminfo source-file will be installed)
AC_ARG_WITH(database,
[ --with-database=XXX specify terminfo source to install],
[TERMINFO_SRC=$withval])
AC_MSG_RESULT($TERMINFO_SRC)
AC_MSG_CHECKING(whether to use hashed database instead of directory/tree)
AC_ARG_WITH(hashed-db,
[ --with-hashed-db specify hashed-database library],,
[with_hashed_db=no])
AC_MSG_RESULT($with_hashed_db)
else
with_hashed_db=no
fi
AC_SUBST(NCURSES_USE_DATABASE)
AC_MSG_CHECKING(for list of fallback descriptions)
AC_ARG_WITH(fallbacks,
[ --with-fallbacks=XXX specify list of fallback terminal descriptions],
[with_fallback=$withval],
[with_fallback=])
AC_MSG_RESULT($with_fallback)
FALLBACK_LIST=`test "$with_fallback" != no && echo "$with_fallback" | sed -e 's/,/ /g'`
AC_SUBST(FALLBACK_LIST)
AC_MSG_CHECKING(if you want modern xterm or antique)
AC_ARG_WITH(xterm-new,
[ --without-xterm-new specify if xterm terminfo should be old version],
[with_xterm_new=$withval],
[with_xterm_new=yes])
case $with_xterm_new in
(no) with_xterm_new=xterm-old;;
(*) with_xterm_new=xterm-new;;
esac
AC_MSG_RESULT($with_xterm_new)
WHICH_XTERM=$with_xterm_new
AC_SUBST(WHICH_XTERM)
AC_MSG_CHECKING(if xterm backspace sends BS or DEL)
AC_ARG_WITH(xterm-kbs,
[ --with-xterm-kbs=XXX specify if xterm backspace sends BS or DEL],
[with_xterm_kbs=$withval],
[with_xterm_kbs=BS])
case x$with_xterm_kbs in
(xyes|xno|xBS|xbs|x8)
with_xterm_kbs=BS
;;
(xDEL|xdel|x127)
with_xterm_kbs=DEL
;;
(*)
with_xterm_kbs=$withval
;;
esac
AC_MSG_RESULT($with_xterm_kbs)
XTERM_KBS=$with_xterm_kbs
AC_SUBST(XTERM_KBS)
MAKE_TERMINFO=
if test "$use_database" = no ; then
TERMINFO="${datadir}/terminfo"
MAKE_TERMINFO="#"
else
AC_MSG_CHECKING(for list of terminfo directories)
CF_WITH_PATHLIST(terminfo-dirs,
[ --with-terminfo-dirs=XXX specify list of terminfo directories],
TERMINFO_DIRS,
DATADIR/terminfo,
${datadir}/terminfo)
AC_MSG_RESULT($TERMINFO_DIRS)
test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS",[Define as needed to predefine the TERMINFO_DIR searchlist])
AC_MSG_CHECKING(for default terminfo directory)
CF_WITH_PATH(default-terminfo-dir,
[ --with-default-terminfo-dir=DIR default terminfo directory],
TERMINFO,
DATADIR/terminfo,
${datadir}/terminfo)
AC_MSG_RESULT($TERMINFO)
AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO",[Define to set the default terminal database path])
fi
AC_SUBST(TERMINFO)
AC_SUBST(MAKE_TERMINFO)
### use option --disable-big-core to make tic run on small machines
### We need 4Mb, check if we can allocate 50% more than that.
AC_MSG_CHECKING(if big-core option selected)
AC_ARG_ENABLE(big-core,
[ --disable-big-core assume machine has little memory],
[with_big_core=$enableval],
[AC_TRY_RUN([
#include <stdlib.h>
#include <string.h>
int main() {
unsigned long n = 6000000L;
char *s = malloc(n);
if (s != 0)
s[0] = s[n-1] = 0;
${cf_cv_main_return:-return}(s == 0);
}],
[with_big_core=yes],
[with_big_core=no],
[with_big_core=no])])
AC_MSG_RESULT($with_big_core)
test "x$with_big_core" = "xyes" && AC_DEFINE(HAVE_BIG_CORE,1,[Define to 1 if machine has ample memory for tic])
### ISO C only guarantees 512-char strings, we have tables which load faster
### when constructed using "big" strings. More than the C compiler, the awk
### program is a limit on most vendor UNIX systems. Check that we can build.
AC_MSG_CHECKING(if big-strings option selected)
AC_ARG_ENABLE(big-strings,
[ --disable-big-strings assume compiler has only standard-size strings],
[with_big_strings=$enableval],
[CF_AWK_BIG_PRINTF(12000,with_big_strings)])
AC_MSG_RESULT($with_big_strings)
USE_BIG_STRINGS=0
test "x$with_big_strings" = "xyes" && USE_BIG_STRINGS=1
AC_SUBST(USE_BIG_STRINGS)
### use option --enable-termcap to compile in the termcap fallback support
AC_MSG_CHECKING(if you want termcap-fallback support)
AC_ARG_ENABLE(termcap,
[ --enable-termcap compile in termcap fallback support],
[with_termcap=$enableval],
[with_termcap=no])
AC_MSG_RESULT($with_termcap)
NCURSES_USE_TERMCAP=0
if test "x$with_termcap" != "xyes" ; then
if test "$use_database" = no ; then
if test -z "$with_fallback" ; then
AC_ERROR(You have disabled the database w/o specifying fallbacks)
fi
fi
AC_DEFINE(PURE_TERMINFO,1,[Define to 1 if we should support only terminfo])
else
if test "$with_ticlib" != no ; then
AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
fi
NCURSES_USE_TERMCAP=1
AC_MSG_CHECKING(for list of termcap files)
CF_WITH_PATHLIST(termpath,
[ --with-termpath=XXX specify list of termcap files],
TERMPATH,
/etc/termcap:/usr/share/misc/termcap)
AC_MSG_RESULT($TERMPATH)
test -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH",[Define to set the termcap searchlist])
### use option --enable-getcap to use a hacked getcap for reading termcaps
AC_MSG_CHECKING(if fast termcap-loader is needed)
AC_ARG_ENABLE(getcap,
[ --enable-getcap fast termcap load, no xrefs to terminfo],
[with_getcap=$enableval],
[with_getcap=no])
AC_MSG_RESULT($with_getcap)
test "x$with_getcap" = "xyes" && AC_DEFINE(USE_GETCAP,1,[Define to 1 to use fast termcap-loader])
AC_MSG_CHECKING(if translated termcaps will be cached in ~/.terminfo)
AC_ARG_ENABLE(getcap-cache,
[ --enable-getcap-cache cache translated termcaps in ~/.terminfo],
[with_getcap_cache=$enableval],
[with_getcap_cache=no])
AC_MSG_RESULT($with_getcap_cache)
test "x$with_getcap_cache" = "xyes" && AC_DEFINE(USE_GETCAP_CACHE,1,[Define to 1 if translated termcap should be stored in $HOME/.terminfo])
fi
AC_SUBST(NCURSES_USE_TERMCAP)
### Use option --disable-home-terminfo to completely remove ~/.terminfo
AC_MSG_CHECKING(if ~/.terminfo is wanted)
AC_ARG_ENABLE(home-terminfo,
[ --disable-home-terminfo drop ~/.terminfo from terminfo search-path],
[with_home_terminfo=$enableval],
[with_home_terminfo=yes])
AC_MSG_RESULT($with_home_terminfo)
test "x$with_home_terminfo" = "xyes" && AC_DEFINE(USE_HOME_TERMINFO,1,[Define to 1 if $HOME/.terminfo feature is wanted])
AC_MSG_CHECKING(if you want to use restricted environment when running as root)
AC_ARG_ENABLE(root-environ,
[ --disable-root-environ restrict environment when running as root],
[with_root_environ=$enableval],
[with_root_environ=yes])
AC_MSG_RESULT($with_root_environ)
test "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON,1,[Define to 1 if environment should be restricted for root user])
### Use option --enable-symlinks to make tic use symlinks, not hard links
### to reduce storage requirements for the terminfo database.
CF_LINK_FUNCS
with_links=no
with_symlinks=no
# soft links (symbolic links) are useful for some systems where hard links do
# not work, or to make it simpler to copy terminfo trees around.
if test "x$ac_cv_func_symlink" = xyes ; then
AC_MSG_CHECKING(if tic should use symbolic links)
AC_ARG_ENABLE(symlinks,
[ --enable-symlinks make tic use symbolic links not hard links],
[with_symlinks=$enableval],
[with_symlinks=no])
AC_MSG_RESULT($with_symlinks)
fi
# If we have hard links and did not choose to use soft links instead, there is
# no reason to make this choice optional - use the hard links.
if test "$with_symlinks" = no ; then
AC_MSG_CHECKING(if tic should use hard links)
if test "x$ac_cv_func_link" = xyes ; then
with_links=yes
else
with_links=no
fi
AC_MSG_RESULT($with_links)
fi
test "x$with_links" = xyes && AC_DEFINE(USE_LINKS,1,[Define to 1 if hardlinks should be used in terminfo database])
test "x$with_symlinks" = xyes && AC_DEFINE(USE_SYMLINKS,1,[Define to 1 if symbolic links should be used in terminfo database])
### use option --enable-broken-linker to force on use of broken-linker support
AC_MSG_CHECKING(if you want broken-linker support code)
AC_ARG_ENABLE(broken_linker,
[ --enable-broken_linker compile with broken-linker support code],
[with_broken_linker=$enableval],
[with_broken_linker=${BROKEN_LINKER:-no}])
AC_MSG_RESULT($with_broken_linker)
BROKEN_LINKER=0
if test "x$with_broken_linker" = xyes ; then
AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
BROKEN_LINKER=1
elif test "$DFT_LWR_MODEL" = shared ; then
case $cf_cv_system_name in
(cygwin*)
AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
BROKEN_LINKER=1
CF_VERBOSE(cygwin linker is broken anyway)
;;
esac
fi
AC_SUBST(BROKEN_LINKER)
### use option --enable-bsdpad to have tputs process BSD-style prefix padding
AC_MSG_CHECKING(if tputs should process BSD-style prefix padding)
AC_ARG_ENABLE(bsdpad,
[ --enable-bsdpad recognize BSD-style prefix padding],
[with_bsdpad=$enableval],
[with_bsdpad=no])
AC_MSG_RESULT($with_bsdpad)
test "x$with_bsdpad" = xyes && AC_DEFINE(BSD_TPUTS,1,[Define to 1 to recognize BSD-style prefix padding])
### use option --enable-widec to turn on use of wide-character support
NCURSES_CH_T=chtype
NCURSES_LIBUTF8=0
NEED_WCHAR_H=0
NCURSES_MBSTATE_T=0
NCURSES_WCHAR_T=0
NCURSES_WINT_T=0
# Check to define _XOPEN_SOURCE "automatically"
CPPFLAGS_before_XOPEN="$CPPFLAGS"
CF_XOPEN_SOURCE(500)
CPPFLAGS_after_XOPEN="$CPPFLAGS"
# Work around breakage on OS X
CF_SIGWINCH
# Checks for CODESET support.
AM_LANGINFO_CODESET
# use these variables to work around a defect in gcc's fixincludes.
NCURSES_OK_WCHAR_T=
NCURSES_OK_WINT_T=
AC_MSG_CHECKING(if you want wide-character code)
AC_ARG_ENABLE(widec,
[ --enable-widec compile with wide-char/UTF-8 code],
[with_widec=$enableval],
[with_widec=no])
AC_MSG_RESULT($with_widec)
if test "x$with_widec" = xyes ; then
if test "x$disable_lib_suffixes" = xno ; then
LIB_SUFFIX="w${LIB_SUFFIX}"
fi
AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to compile with wide-char/UTF-8 code])
AC_DEFINE(NCURSES_WIDECHAR,1,[Define to 1 to compile with wide-char/UTF-8 code])
CF_CHECK_WCHAR_H
# with_overwrite=no
NCURSES_CH_T=cchar_t
AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
if test "x$ac_cv_func_putwc" != xyes ; then
CF_UTF8_LIB
if test "$cf_cv_utf8_lib" != no ; then
NCURSES_LIBUTF8=1
fi
fi
CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T)
CF_WCHAR_TYPE(wchar_t, NCURSES_WCHAR_T, NCURSES_OK_WCHAR_T)
CF_WCHAR_TYPE(wint_t, NCURSES_WINT_T, NCURSES_OK_WINT_T)
if test "$NCURSES_MBSTATE_T" != 0; then
AC_DEFINE(NEED_MBSTATE_T_DEF,1,[Define to 1 if we must declare mbstate_t])
fi
fi
AC_SUBST(NCURSES_CH_T)
AC_SUBST(NCURSES_LIBUTF8)
AC_SUBST(NEED_WCHAR_H)
AC_SUBST(NCURSES_MBSTATE_T)
AC_SUBST(NCURSES_WCHAR_T)
AC_SUBST(NCURSES_WINT_T)
AC_SUBST(NCURSES_OK_WCHAR_T)
AC_SUBST(NCURSES_OK_WINT_T)
### use option --disable-lp64 to allow long chtype
AC_MSG_CHECKING(whether to enable _LP64 definition in curses.h)
AC_ARG_ENABLE(lp64,
[ --disable-lp64 allow chtype to be long (ignore _LP64)],
[with_lp64=$enableval],
[with_lp64=$cf_dft_with_lp64])
AC_MSG_RESULT($with_lp64)
if test "x$with_lp64" = xyes ; then
cf_cv_enable_lp64=1
else
cf_cv_enable_lp64=0
fi
AC_SUBST(cf_cv_enable_lp64)
CF_LARGEFILE
### use option --disable-tparm-varargs to make tparm() conform to X/Open
AC_MSG_CHECKING(if you want tparm not to use X/Open fixed-parameter list)
AC_ARG_ENABLE(tparm-varargs,
[ --disable-tparm-varargs compile tparm() without varargs interface],
[with_tparm_varargs=$enableval],
[with_tparm_varargs=yes])
AC_MSG_RESULT($with_tparm_varargs)
NCURSES_TPARM_VARARGS=0
test "x$with_tparm_varargs" = xyes && NCURSES_TPARM_VARARGS=1
AC_SUBST(NCURSES_TPARM_VARARGS)
### use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
if test "$with_ticlib" != no ; then
AC_MSG_CHECKING(if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library)
AC_ARG_ENABLE(tic-depends,
[ --disable-tic-depends link tic library without explicit dependency on ncurses library],
[with_tic_depends=$enableval],
[with_tic_depends=yes])
AC_MSG_RESULT($with_tic_depends)
else
with_tic_depends=no
fi
### use option --with-bool to override bool's type
AC_MSG_CHECKING(for type of bool)
AC_ARG_WITH(bool,
[ --with-bool=TYPE override fallback type of bool variable],
[NCURSES_BOOL="$withval"],
[NCURSES_BOOL=auto])
AC_MSG_RESULT($NCURSES_BOOL)
AC_SUBST(NCURSES_BOOL)
AC_MSG_CHECKING(for alternate terminal capabilities file)
AC_ARG_WITH(caps,
[ --with-caps=alt compile with alternate Caps file],
[TERMINFO_CAPS=Caps.$withval],
[TERMINFO_CAPS=Caps])
test -f "${srcdir}/include/${TERMINFO_CAPS}" || TERMINFO_CAPS=Caps
AC_MSG_RESULT($TERMINFO_CAPS)
AC_SUBST(TERMINFO_CAPS)
### use option --with-chtype to override chtype's type
AC_MSG_CHECKING(for type of chtype)
AC_ARG_WITH(chtype,
[ --with-chtype=TYPE override type of chtype],
[NCURSES_CHTYPE="$withval"],
[NCURSES_CHTYPE=$cf_dft_chtype])
AC_MSG_RESULT($NCURSES_CHTYPE)
### use option --with-ospeed to override ospeed's type
AC_MSG_CHECKING(for type of ospeed)
AC_ARG_WITH(ospeed,
[ --with-ospeed=TYPE override type of ospeed variable],
[NCURSES_OSPEED="$withval"],
[NCURSES_OSPEED=short])
AC_MSG_RESULT($NCURSES_OSPEED)
AC_SUBST(NCURSES_OSPEED)
### use option --with-mmask-t to override mmask_t's type
AC_MSG_CHECKING(for type of mmask_t)
AC_ARG_WITH(mmask-t,
[ --with-mmask-t=TYPE override type of mmask_t],
[NCURSES_MMASK_T="$withval"],
[NCURSES_MMASK_T=$cf_dft_mmask_t])
AC_MSG_RESULT($NCURSES_MMASK_T)
### use option --with-ccharw-max to override CCHARW_MAX size
AC_MSG_CHECKING(for size CCHARW_MAX)
AC_ARG_WITH(ccharw-max,
[ --with-ccharw-max=XXX override size CCHARW_MAX],
[NCURSES_CCHARW_MAX="$withval"],
[NCURSES_CCHARW_MAX=5])
AC_MSG_RESULT($NCURSES_CCHARW_MAX)
AC_SUBST(NCURSES_CCHARW_MAX)
### use option --with-tparm-arg to override tparm's argument type
AC_MSG_CHECKING(for type of tparm args)
AC_ARG_WITH(tparm-arg,
[ --with-tparm-arg=TYPE override parameter type of tparm],
[NCURSES_TPARM_ARG="$withval"],
[NCURSES_TPARM_ARG=$cf_dft_tparm_arg])
AC_MSG_RESULT($NCURSES_TPARM_ARG)
AC_SUBST(NCURSES_TPARM_ARG)
### Enable compiling-in rcs id's
AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
AC_ARG_WITH(rcs-ids,
[ --with-rcs-ids compile-in RCS identifiers],
[with_rcs_ids=$withval],
[with_rcs_ids=no])
AC_MSG_RESULT($with_rcs_ids)
test "x$with_rcs_ids" = xyes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 to compile-in RCS identifiers])
###############################################################################
CF_MAN_PAGES([ captoinfo clear infocmp infotocap tabs tic toe tput tset ])
###############################################################################
CF_HELP_MESSAGE(Extensions:)
### Note that some functions (such as const) are normally disabled anyway.
AC_MSG_CHECKING(if you want to build with function extensions)
AC_ARG_ENABLE(ext-funcs,
[ --disable-ext-funcs disable function-extensions],
[with_ext_funcs=$enableval],
[with_ext_funcs=yes])
AC_MSG_RESULT($with_ext_funcs)
if test "x$with_ext_funcs" = xyes ; then
NCURSES_EXT_FUNCS=1
AC_DEFINE(HAVE_ASSUME_DEFAULT_COLORS,1,[Define to 1 to enable assume_default_colors() function])
AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 to enable curses_version() function])
AC_DEFINE(HAVE_HAS_KEY,1,[Define to 1 to enable has_key() function])
AC_DEFINE(HAVE_RESIZETERM,1,[Define to 1 to enable resizeterm() function])
AC_DEFINE(HAVE_RESIZE_TERM,1,[Define to 1 to enable resize_term() function])
AC_DEFINE(HAVE_TERM_ENTRY_H,1,[Define to 1 to enable term_entry() function])
AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 to enable use_default_colors() function])
AC_DEFINE(HAVE_USE_SCREEN,1,[Define to 1 to enable use_screen() function])
AC_DEFINE(HAVE_USE_WINDOW,1,[Define to 1 to enable use_window() function])
AC_DEFINE(HAVE_WRESIZE,1,[Define to 1 to enable wresize() function])
AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 to enable ncurses extended functions])
GENERATED_EXT_FUNCS=generated
else
NCURSES_EXT_FUNCS=0
GENERATED_EXT_FUNCS=
fi
AC_SUBST(NCURSES_EXT_FUNCS)
AC_SUBST(GENERATED_EXT_FUNCS)
AC_MSG_CHECKING(if you want to build with SCREEN extensions)
AC_ARG_ENABLE(sp-funcs,
[ --enable-sp-funcs enable SCREEN-extensions],
[with_sp_funcs=$enableval],
[with_sp_funcs=$cf_dft_ext_spfuncs])
AC_MSG_RESULT($with_sp_funcs)
if test "x$with_sp_funcs" = xyes ; then
NCURSES_SP_FUNCS=1
AC_DEFINE(NCURSES_SP_FUNCS,1,[Define to 1 to enable SCREEN-extensions])
GENERATED_SP_FUNCS=generated
else
NCURSES_SP_FUNCS=0
GENERATED_SP_FUNCS=
fi
AC_SUBST(NCURSES_SP_FUNCS)
AC_SUBST(GENERATED_SP_FUNCS)
AC_MSG_CHECKING(if you want to build with terminal-driver)
AC_ARG_ENABLE(term-driver,
[ --enable-term-driver enable terminal-driver],
[with_term_driver=$enableval],
[with_term_driver=no])
AC_MSG_RESULT($with_term_driver)
if test "x$with_term_driver" = xyes ; then
AC_DEFINE(USE_TERM_DRIVER,1,[Define to 1 to enable terminal-driver])
if test "x$with_termlib" != xno ; then
AC_MSG_ERROR(The term-driver option conflicts with the termlib option)
fi
if test "x$with_sp_funcs" != xyes ; then
AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
fi
fi
### use option --enable-const to turn on use of const beyond that in XSI.
AC_MSG_CHECKING(for extended use of const keyword)
AC_ARG_ENABLE(const,
[ --enable-const compile with extra/non-standard const],
[with_ext_const=$enableval],
[with_ext_const=$cf_dft_ext_const])
AC_MSG_RESULT($with_ext_const)
NCURSES_CONST='/*nothing*/'
if test "x$with_ext_const" = xyes ; then
NCURSES_CONST=const
fi
AC_SUBST(NCURSES_CONST)
### use option --enable-ext-colors to turn on use of colors beyond 16.
AC_MSG_CHECKING(if you want to use extended colors)
AC_ARG_ENABLE(ext-colors,
[ --enable-ext-colors compile for 256-color support],
[with_ext_colors=$enableval],
[with_ext_colors=$cf_dft_ext_colors])
AC_MSG_RESULT($with_ext_colors)
NCURSES_EXT_COLORS=0
if test "x$with_ext_colors" = xyes ; then
if test "x$with_widec" != xyes ; then
AC_MSG_WARN(This option applies only to wide-character library)
else
# cannot be ABI 5 since it changes sizeof(cchar_t)
CF_NCURSES_ABI_6
NCURSES_EXT_COLORS=1
AC_DEFINE(NCURSES_EXT_COLORS,1,[Define to 1 to compile for 256-color support])
fi
fi
AC_SUBST(NCURSES_EXT_COLORS)
### use option --enable-ext-mouse to modify coding to support 5-button mice
AC_MSG_CHECKING(if you want to use extended mouse encoding)
AC_ARG_ENABLE(ext-mouse,
[ --enable-ext-mouse compile for extended mouse-encoding],
[with_ext_mouse=$enableval],
[with_ext_mouse=$cf_dft_ext_mouse])
AC_MSG_RESULT($with_ext_mouse)
NCURSES_MOUSE_VERSION=1
if test "x$with_ext_mouse" = xyes ; then
NCURSES_MOUSE_VERSION=2
CF_NCURSES_ABI_6
fi
AC_SUBST(NCURSES_MOUSE_VERSION)
### use option --enable-ext-putwin to turn on extended screendumps
AC_MSG_CHECKING(if you want to use extended putwin/screendump)
AC_ARG_ENABLE(ext-putwin,
[ --enable-ext-putwin compile with extended putwin/screendump],
[with_ext_putwin=$enableval],
[with_ext_putwin=$cf_dft_ext_putwin])
AC_MSG_RESULT($with_ext_putwin)
if test "x$with_ext_putwin" = xyes ; then
AC_DEFINE(NCURSES_EXT_PUTWIN,1,[Define to 1 to compile with extended putwin/screendump])
fi
AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
AC_ARG_ENABLE(no-padding,
[ --enable-no-padding compile with $NCURSES_NO_PADDING code],
[with_no_padding=$enableval],
[with_no_padding=$with_ext_funcs])
AC_MSG_RESULT($with_no_padding)
test "x$with_no_padding" = xyes && AC_DEFINE(NCURSES_NO_PADDING,1,[Define to 1 to compile with $NCURSES_NO_PADDING code])
AC_CHECK_SIZEOF([signed char], 0)
if test "$ac_cv_sizeof_signed_char" = 1 ; then
NCURSES_SBOOL="signed char"
else
NCURSES_SBOOL="char"
fi
AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
AC_ARG_ENABLE(signed-char,
[ --enable-signed-char compile using signed Boolean's in term.h],
[with_signed_char=$enableval],
[with_signed_char=no])
AC_MSG_RESULT($with_signed_char)
test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
AC_SUBST(NCURSES_SBOOL)
### use option --enable-sigwinch to turn on use of SIGWINCH logic
AC_MSG_CHECKING(if you want SIGWINCH handler)
AC_ARG_ENABLE(sigwinch,
[ --enable-sigwinch compile with SIGWINCH handler],
[with_sigwinch=$enableval],
[with_sigwinch=$with_ext_funcs])
AC_MSG_RESULT($with_sigwinch)
test "x$with_sigwinch" = xyes && AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
### use option --enable-tcap-names to allow user to define new capabilities
AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
AC_ARG_ENABLE(tcap-names,
[ --enable-tcap-names compile with user-definable terminal capabilities],
[with_tcap_names=$enableval],
[with_tcap_names=$with_ext_funcs])
AC_MSG_RESULT($with_tcap_names)
NCURSES_XNAMES=0
test "x$with_tcap_names" = xyes && NCURSES_XNAMES=1
AC_SUBST(NCURSES_XNAMES)
###############################################################################
# These options are relatively safe to experiment with.
CF_HELP_MESSAGE(Development Code:)
AC_MSG_CHECKING(if you want all development code)
AC_ARG_WITH(develop,
[ --without-develop disable development options],
[with_develop=$withval],
[with_develop=no])
AC_MSG_RESULT($with_develop)
### use option --enable-hard-tabs to turn on use of hard-tabs optimize
AC_MSG_CHECKING(if you want hard-tabs code)
AC_ARG_ENABLE(hard-tabs,
[ --enable-hard-tabs compile with hard-tabs code],,
[enable_hard_tabs=$with_develop])
AC_MSG_RESULT($enable_hard_tabs)
test "x$enable_hard_tabs" = xyes && AC_DEFINE(USE_HARD_TABS,1,[Define to 1 to compile with hard-tabs code])
### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
AC_MSG_CHECKING(if you want limited support for xmc)
AC_ARG_ENABLE(xmc-glitch,
[ --enable-xmc-glitch compile with support for xmc (magic-cookie)],,
[enable_xmc_glitch=$with_develop])
AC_MSG_RESULT($enable_xmc_glitch)
test "x$enable_xmc_glitch" = xyes && AC_DEFINE(USE_XMC_SUPPORT,1,[Define to 1 to compile with support for xmc (magic-cookie)])
###############################################################################
# These are just experimental, probably should not be in a package:
CF_HELP_MESSAGE(Experimental Code:)
AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
AC_ARG_ENABLE(assumed-color,
[ --disable-assumed-color do not assume anything about default-colors],
[with_assumed_color=$enableval],
[with_assumed_color=yes])
AC_MSG_RESULT($with_assumed_color)
test "x$with_assumed_color" = xyes && AC_DEFINE(USE_ASSUMED_COLOR,1,[Define to 1 to assume things about default-colors])
### use option --enable-hashmap to turn on use of hashmap scrolling logic
AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
AC_ARG_ENABLE(hashmap,
[ --disable-hashmap compile without hashmap scrolling-optimization],
[with_hashmap=$enableval],
[with_hashmap=yes])
AC_MSG_RESULT($with_hashmap)
test "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP,1,[Define to 1 to compile with hashmap scrolling-optimization])
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
AC_MSG_CHECKING(if you want colorfgbg code)
AC_ARG_ENABLE(colorfgbg,
[ --enable-colorfgbg compile-in experimental $COLORFGBG code],
[with_colorfgbg=$enableval],
[with_colorfgbg=no])
AC_MSG_RESULT($with_colorfgbg)
test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code])
### use option --enable-interop to turn on use of bindings used for interop
AC_MSG_CHECKING(if you want interop bindings)
AC_ARG_ENABLE(interop,
[ --enable-interop compile-in interop bindings],
[with_exp_interop=$enableval],
[with_exp_interop=$cf_dft_interop])
AC_MSG_RESULT($with_exp_interop)
NCURSES_INTEROP_FUNCS=0
test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
AC_SUBST(NCURSES_INTEROP_FUNCS)
# This is still experimental (20080329), but should ultimately be moved to
# the script-block --with-normal, etc.
CF_WITH_PTHREAD
if test "x$with_pthread" != xno; then
AC_CHECK_FUNC(pthread_kill,[
AC_MSG_CHECKING(if you want to allow EINTR in wgetch with pthreads)
AC_ARG_ENABLE(pthreads-eintr,
[ --enable-pthreads-eintr enable EINTR in wgetch with pthreads],
[use_pthreads_eintr=$enableval],
[use_pthreads_eintr=no])
AC_MSG_RESULT($use_pthreads_eintr)
if test "x$use_pthreads_eintr" = xyes ; then
AC_DEFINE(USE_PTHREADS_EINTR,1,[Define to 1 to enable EINTR in wgetch with pthreads])
fi])
AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
AC_ARG_ENABLE(weak-symbols,
[ --enable-weak-symbols enable weak-symbols for pthreads],
[use_weak_symbols=$enableval],
[use_weak_symbols=no])
AC_MSG_RESULT($use_weak_symbols)
if test "x$use_weak_symbols" = xyes ; then
CF_WEAK_SYMBOLS
else
cf_cv_weak_symbols=no
fi
if test "x$cf_cv_weak_symbols" = xyes ; then
AC_DEFINE(USE_WEAK_SYMBOLS,1,[Define to 1 to enable weak-symbols for pthreads])
fi
fi
PTHREAD=
if test "x$with_pthread" = "xyes" ; then
AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use pthreads feature])
enable_reentrant=yes
if test "x$cf_cv_weak_symbols" = xyes ; then
PTHREAD=-lpthread
fi
fi
AC_SUBST(PTHREAD)
# Reentrant code has to be opaque; there's little advantage to making ncurses
# opaque outside of that, so there is no --enable-opaque option. We can use
# this option without --with-pthreads, but this will be always set for
# pthreads.
AC_MSG_CHECKING(if you want reentrant code)
AC_ARG_ENABLE(reentrant,
[ --enable-reentrant compile with reentrant code],
[with_reentrant=$enableval],
[with_reentrant=no])
AC_MSG_RESULT($with_reentrant)
if test "x$with_reentrant" = xyes ; then
cf_cv_enable_reentrant=1
cf_cv_enable_opaque="NCURSES_INTERNALS"
NCURSES_OPAQUE=1
NCURSES_SIZE_T=int
if test "x$cf_cv_weak_symbols" = xyes ; then
CF_REMOVE_LIB(LIBS,$LIBS,pthread)
CF_ADD_LIB(pthread,TEST_LIBS)
CF_ADD_LIB(pthread,TEST_LIBS2)
else
# when not using weak symbols but with_reentrant,
# add 't' to the library suffix on all platforms
# except cygwin, where we only do that if ALSO
# compiling with full thread support.
case "$host" in
(*cygwin* | *msys*)
if test "$with_pthread" = "yes" ; then
if test "x$disable_lib_suffixes" = "xno" ; then
LIB_SUFFIX="t${LIB_SUFFIX}"
fi
fi ;;
(*)
if test "x$disable_lib_suffixes" = "xno" ; then
LIB_SUFFIX="t${LIB_SUFFIX}"
fi
;;
esac
fi
AC_DEFINE(USE_REENTRANT,1,[Define to 1 to use reentrant feature])
CF_NCURSES_ABI_6
else
cf_cv_enable_reentrant=0
cf_cv_enable_opaque="NCURSES_OPAQUE"
NCURSES_OPAQUE=0
NCURSES_SIZE_T=short
fi
AC_SUBST(cf_cv_enable_reentrant)
AC_SUBST(cf_cv_enable_opaque)
AC_SUBST(NCURSES_OPAQUE)
AC_SUBST(NCURSES_SIZE_T)
### Allow using a different wrap-prefix
if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
AC_MSG_CHECKING(for prefix used to wrap public variables)
AC_ARG_WITH(wrap-prefix,
[ --with-wrap-prefix=XXX override prefix used for public variables],
[NCURSES_WRAP_PREFIX=$withval],
[NCURSES_WRAP_PREFIX=_nc_])
AC_MSG_RESULT($NCURSES_WRAP_PREFIX)
else
NCURSES_WRAP_PREFIX=_nc_
fi
AC_SUBST(NCURSES_WRAP_PREFIX)
AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ prefix])
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
AC_ARG_ENABLE(safe-sprintf,
[ --enable-safe-sprintf compile with experimental safe-sprintf code],
[with_safe_sprintf=$enableval],
[with_safe_sprintf=no])
AC_MSG_RESULT($with_safe_sprintf)
test "x$with_safe_sprintf" = xyes && AC_DEFINE(USE_SAFE_SPRINTF,1,[Define to 1 to compile with experimental safe-sprintf code])
### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
# when hashmap is used scroll hints are useless
if test "$with_hashmap" = no ; then
AC_MSG_CHECKING(if you want to experiment without scrolling-hints code)
AC_ARG_ENABLE(scroll-hints,
[ --disable-scroll-hints compile without scroll-hints code],
[with_scroll_hints=$enableval],
[with_scroll_hints=yes])
AC_MSG_RESULT($with_scroll_hints)
test "x$with_scroll_hints" = xyes && AC_DEFINE(USE_SCROLL_HINTS,1,[Define to 1 to compile without scroll-hints code])
fi
AC_MSG_CHECKING(if you want wgetch-events code)
AC_ARG_ENABLE(wgetch-events,
[ --enable-wgetch-events compile with wgetch-events code],
[with_wgetch_events=$enableval],
[with_wgetch_events=no])
AC_MSG_RESULT($with_wgetch_events)
test "x$with_wgetch_events" = xyes && AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with wgetch-events code])
###############################################################################
CF_HELP_MESSAGE(Testing/development Options:)
### use option --disable-echo to suppress full display compiling commands
CF_DISABLE_ECHO
if test "x$enable_echo" = xyes; then
ECHO_LINK=
else
ECHO_LINK='@ echo linking $@ ... ;'
test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
fi
AC_SUBST(ECHO_LINK)
### use option --enable-warnings to turn on all gcc warnings
AC_MSG_CHECKING(if you want to see compiler warnings)
AC_ARG_ENABLE(warnings,
[ --enable-warnings build: turn on GCC compiler warnings],
[with_warnings=$enableval])
AC_MSG_RESULT($with_warnings)
if test "x$with_warnings" = "xyes"; then
CF_ADD_ADAFLAGS(-gnatg)
CF_GCC_WARNINGS(Wno-unknown-pragmas Wswitch-enum)
if test "x$cf_with_cxx" = xyes ; then
CF_GXX_WARNINGS(Wno-unused)
fi
fi
CF_GCC_ATTRIBUTES
CF_ENABLE_STRING_HACKS
### use option --enable-assertions to turn on generation of assertion code
AC_MSG_CHECKING(if you want to enable runtime assertions)
AC_ARG_ENABLE(assertions,
[ --enable-assertions test: turn on generation of assertion code],
[with_assertions=$enableval],
[with_assertions=no])
AC_MSG_RESULT($with_assertions)
if test -n "$GCC"
then
if test "$with_assertions" = no
then
CPPFLAGS="$CPPFLAGS -DNDEBUG"
else
CF_ADD_ADAFLAGS(-gnata)
fi
fi
### use option --disable-leaks to suppress "permanent" leaks, for testing
CF_DISABLE_LEAKS
AC_DEFINE(HAVE_NC_ALLOC_H,1,[Define to 1 if we have nc_alloc.h header])
### use option --enable-expanded to generate certain macros as functions
AC_ARG_ENABLE(expanded,
[ --enable-expanded test: generate functions for certain macros],
[test "x$enableval" = xyes && AC_DEFINE(NCURSES_EXPANDED,1,[Define to 1 to generate functions for certain macros])])
### use option --disable-macros to suppress macros in favor of functions
AC_ARG_ENABLE(macros,
[ --disable-macros test: use functions rather than macros],
[test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS,1,[Define to 1 to use functions rather than macros])])
# Normally we only add trace() to the debug-library. Allow this to be
# extended to all models of the ncurses library:
cf_all_traces=no
case "$CFLAGS $CPPFLAGS" in
(*-DTRACE*)
cf_all_traces=yes
;;
esac
AC_MSG_CHECKING(whether to add trace feature to all models)
AC_ARG_WITH(trace,
[ --with-trace test: add trace() function to all models of ncurses],
[cf_with_trace=$withval],
[cf_with_trace=$cf_all_traces])
AC_MSG_RESULT($cf_with_trace)
if test "x$cf_with_trace" = xyes ; then
LIB_TRACING=all
ADA_TRACE=TRUE
CF_ADD_CFLAGS(-DTRACE)
else
LIB_TRACING=DEBUG
ADA_TRACE=FALSE
fi
AC_SUBST(ADA_TRACE)
CF_DISABLE_GNAT_PROJECTS
### Checks for libraries.
case $cf_cv_system_name in
(*mingw32*|*mingw64*)
CPPFLAGS="$CPPFLAGS -DWINVER=0x0501"
LIBS=" -lpsapi $LIBS"
;;
(*)
AC_CHECK_FUNC(gettimeofday,
AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function]),[
AC_CHECK_LIB(bsd, gettimeofday,
AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function])
CF_ADD_LIB(bsd))])dnl CLIX: bzero, select, gettimeofday
;;
esac
CF_MATH_LIB(MATH_LIB,pow(sin(x),x))
AC_SUBST(MATH_LIB)
### Checks for header files.
AC_STDC_HEADERS
AC_HEADER_DIRENT
AC_HEADER_TIME
CF_REGEX
dnl These are some other potentially nonportable headers.
AC_CHECK_HEADERS( \
fcntl.h \
getopt.h \
limits.h \
locale.h \
math.h \
poll.h \
sys/bsdtypes.h \
sys/ioctl.h \
sys/param.h \
sys/poll.h \
sys/select.h \
sys/time.h \
sys/times.h \
ttyent.h \
unistd.h \
wctype.h \
)
CF_GETOPT_HEADER
# check for ISC (this may also define _POSIX_SOURCE)
# Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
if test "x$ISC" = xyes ; then
AC_CHECK_LIB(cposix,main)
AC_CHECK_LIB(inet,bzero,CF_ADD_LIB(inet))dnl also 'select()'
fi
CF_SYS_TIME_SELECT
### checks for compiler characteristics
AC_LANG_C
AC_C_CONST
CF_C_INLINE(NCURSES_INLINE,1200)
CF_SIG_ATOMIC_T
if test $NCURSES_CHTYPE = auto ; then
CF_TYPEOF_CHTYPE
else
cf_cv_typeof_chtype=$NCURSES_CHTYPE
fi
test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
AC_SUBST(cf_cv_typeof_chtype)
CF_UNSIGNED_LITERALS
cf_cv_1UL="1"
test ".$cf_cv_unsigned_literals" = .yes && cf_cv_1UL="${cf_cv_1UL}U"
test ".$cf_cv_typeof_chtype" = .long && cf_cv_1UL="${cf_cv_1UL}L"
AC_SUBST(cf_cv_1UL)
if test $NCURSES_MMASK_T = auto ; then
cf_cv_typeof_mmask_t=long
else
cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
fi
test "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t=""
AC_SUBST(cf_cv_typeof_mmask_t)
### Checks for external-data
CF_ERRNO
CF_LINK_DATAONLY
### Checks for library functions.
AC_CHECK_FUNCS( \
getcwd \
getegid \
geteuid \
getopt \
getttynam \
issetugid \
poll \
putenv \
remove \
select \
setbuf \
setbuffer \
setenv \
setvbuf \
sigaction \
sigvec \
strdup \
strstr \
tcgetpgrp \
times \
vsnprintf \
)
if test "x$ac_cv_func_getopt" = xno &&
test "x$cf_with_progs$cf_with_tests" != xnono; then
AC_MSG_ERROR(getopt is required for building programs)
fi
if test "x$with_getcap" = "xyes" ; then
CF_CGETENT
fi
CF_ISASCII
CF_STRUCT_SIGACTION
CF_FUNC_NANOSLEEP
CF_FUNC_TERMIOS
CF_FUNC_VSSCANF
CF_MKSTEMP
# setup for prototype of fallback for vsscanf()
CF_SUBST_IF(["$cf_cv_func_vsscanf" = vsscanf], HAVE_VSSCANF, 1, 0)
dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
if test "x$cross_compiling" = xyes ; then
AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
else
AC_FUNC_SETVBUF_REVERSED
fi
AC_CHECK_TYPE(intptr_t, long)
AC_CHECK_TYPE(ssize_t, int)
CF_TYPE_SIGACTION
CF_SIZECHANGE
CF_FUNC_MEMMOVE
CF_FUNC_POLL
CF_VA_COPY
AC_FUNC_VFORK
# special check for test/ditto.c
CF_FUNC_OPENPTY
if test "$cf_cv_func_openpty" != no ; then
AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>,[Define to actual header for openpty function])
AC_DEFINE(USE_XTERM_PTY,1,[Define to 1 if we should assume xterm pseudoterminal interface])
if test "x$cf_cv_lib_util" = xyes ; then
CF_ADD_LIB(util,TEST_LIBS)
fi
fi
AC_SUBST(TEST_LIBS)
AC_SUBST(TEST_LIBS2)
if test "$with_hashed_db" != no ; then
AC_DEFINE(USE_HASHED_DB,1,[Define to 1 if we should build terminfo in hashed database])
CF_HASHED_DB($with_hashed_db)
fi
dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
CF_STRIP_G_OPT(CFLAGS)
CF_STRIP_G_OPT(CXXFLAGS)
fi
# Just in case, check if the C compiler has a bool type.
CF_BOOL_DECL(cf_cv_cc_bool_type)
# Check for C++ compiler characteristics (and ensure that it's there!)
if test -n "$CXX" ; then
AC_LANG_CPLUSPLUS
CF_STDCPP_LIBRARY
CF_PROG_CC_C_O(CXX)
case $GXX_VERSION in
(1*|2.[0-6]*)
cf_cxx_library=yes
;;
(*-2.7*|2.7*)
CF_GPP_LIBRARY
;;
(*)
cf_cxx_library=no
;;
esac
AC_CHECK_HEADERS(typeinfo)
CF_CXX_IOSTREAM_NAMESPACE
CF_BOOL_DECL
CF_BOOL_SIZE
CF_ETIP_DEFINES
CF_CPP_PARAM_INIT
CF_CPP_STATIC_CAST
CF_CXX_AR_FLAGS
else
cf_cxx_library=no
cf_cv_builtin_bool=1
# Just because we are not configuring against C++ right now does not
# mean that a user will not want to use C++. Some distributors disable
# the C++ portion of this configuration as a shortcut (or just to avoid
# compiling the demo in the c++ directory). So we need a reasonable
# default for the 'bool' type.
#
# Caveat: since the storage of the bool type is not standardized, it
# may change.
if test "$NCURSES_BOOL" != auto ; then
cf_cv_type_of_bool=$NCURSES_BOOL
cf_cv_header_stdbool_h=0
else
if test "$cf_cv_header_stdbool_h" = 1 ; then
CF_BOOL_SIZE
else
AC_MSG_CHECKING(for fallback type of bool)
case "$host_cpu" in
(i?86) cf_cv_type_of_bool=char ;;
(*) cf_cv_type_of_bool=int ;;
esac
AC_MSG_RESULT($cf_cv_type_of_bool)
fi
fi
fi
AC_SUBST(CXXLIBS)
# If the C compiler did not declare bool, and we did not determine that the C++
# compiler does not declare bool, turn on an ifdef in curses.h that makes the
# ncurses library use the same type as C++ bool. Note that this allows one to
# specify the type of bool in a configure-script option and postpone
# integration with the C++ compiler provided that the types are compatible.
USE_CXX_BOOL=1
if test $cf_cv_cc_bool_type = 1
then
# oops: C has a bool. Unlikely, but C++ could differ.
USE_CXX_BOOL=0
elif test $cf_cv_builtin_bool = 0
then
# C++ has no bool
USE_CXX_BOOL=0
else
# this is the normal case
USE_CXX_BOOL='defined(__cplusplus)'
fi
AC_SUBST(USE_CXX_BOOL)
CF_HELP_MESSAGE(Ada95 Binding Options:)
dnl If the Ada95 source-tree is present, add that to the build unless it will
dnl not work, or was not requested.
if test -f "${srcdir}/Ada95/Makefile.in" ; then
dnl libtool does not know anything about GNAT, though a change made in 1998
dnl provided for it "someday". Disable the ada subtree if we are using
dnl libtool -TD 20070714
if test "$cf_with_ada" != "no" ; then
if test "$with_libtool" != "no"; then
AC_MSG_WARN(libtool does not support Ada - disabling feature)
cf_with_ada=no
fi
fi
dnl Check for availability of GNU Ada Translator (GNAT).
dnl At the moment we support no other Ada95 compiler.
if test "$cf_with_ada" != "no" ; then
CF_PROG_GNAT
if test "x$cf_cv_prog_gnat_correct" = xyes; then
CF_ADD_ADAFLAGS(-gnatpn)
CF_FIXUP_ADAFLAGS
CF_GNATPREP_OPT_T
CF_GNAT_GENERICS
CF_GNAT_SIGINT
CF_GNAT_PROJECTS
CF_WITH_ADA_COMPILER
cf_ada_package=terminal_interface
AC_SUBST(cf_ada_package)
CF_WITH_ADA_INCLUDE
CF_WITH_ADA_OBJECTS
CF_WITH_ADA_SHAREDLIB
fi
fi
else
cf_with_ada=no
fi
# do this "late" to avoid conflict with header-checks
if test "x$with_widec" = xyes ; then
AC_CHECK_SIZEOF(wchar_t)
fi
### Construct the ncurses library-subsets, if any, from this set of keywords:
### none, base, ext_funcs, ext_tinfo, ticlib, termlib, widechar
###
### ticlib modules may be a separate library, otherwise contained in termlib.
### termlib modules may be a separate library, otherwise contained in ncurses.
###
### The of "+" or " " between the tokens controls the way the script
### chooses to split module lists into libraries.
###
### (see CF_LIB_RULES).
AC_MSG_CHECKING(for library subsets)
LIB_SUBSETS=
if test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != no; then
LIB_SUBSETS="${LIB_SUBSETS}ticlib"
if test "$with_ticlib" != no ; then
LIB_SUBSETS="${LIB_SUBSETS} "
else
LIB_SUBSETS="${LIB_SUBSETS}+"
fi
fi
LIB_SUBSETS="${LIB_SUBSETS}termlib"
test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
if test "$with_termlib" != no ; then
LIB_SUBSETS="${LIB_SUBSETS} "
else
LIB_SUBSETS="${LIB_SUBSETS}+"
fi
LIB_SUBSETS="${LIB_SUBSETS}base"
# Most term-driver calls are to tinfo, but some like init_pair are to the
# base library (so it resides in base).
if test "$with_term_driver" != no ; then
LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
case $cf_cv_system_name in
(*mingw32*|*mingw64*)
LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
CPPFLAGS="$CPPFLAGS -DUSE_WIN32CON_DRIVER"
;;
(*)
LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
;;
esac
fi
test "x$with_widec" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
AC_MSG_RESULT($LIB_SUBSETS)
### Construct the list of include-directories to be generated
CF_INCLUDE_DIRS
CF_ADA_INCLUDE_DIRS
### Build up pieces for makefile rules
AC_MSG_CHECKING(default library suffix)
CF_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl
AC_SUBST(DFT_ARG_SUFFIX)dnl the string to append to "-lncurses" ("")
AC_MSG_RESULT($DFT_ARG_SUFFIX)
AC_MSG_CHECKING(default library-dependency suffix)
CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_LIB_SUFFIX,DFT_DEP_SUFFIX)dnl
AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
AC_MSG_RESULT($DFT_DEP_SUFFIX)
AC_MSG_CHECKING(default object directory)
CF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
AC_MSG_RESULT($DFT_OBJ_SUBDIR)
if test "x$cf_with_cxx" = xyes ; then
AC_MSG_CHECKING(c++ library-dependency suffix)
if test "$with_libtool" != "no"; then
# libtool thinks it can make c++ shared libraries (perhaps only g++)
CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
elif test "$with_shared_cxx" != "no"; then
# also for g++ users...
CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
else
# we normally make a static library because C/C++ library rules differ
CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)
fi
AC_MSG_RESULT($CXX_LIB_SUFFIX)
AC_SUBST(CXX_LIB_SUFFIX)
fi
# do not want -ldl in build except as needed for -lncurses dependency
if test "x$with_dlsym" = xyes ; then
if test $DFT_LWR_MODEL = shared || \
test $DFT_LWR_MODEL = libtool ; then
CF_REMOVE_LIB(LIBS,$LIBS,dl)
fi
fi
### Set up low-level terminfo dependencies for makefiles.
# TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
# do not need libdl
TICS_LIST=
if test "x$with_dlsym" = xyes ; then
CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
fi
USE_ARG_SUFFIX="${DFT_ARG_SUFFIX}${EXTRA_SUFFIX}"
USE_LIB_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}"
USE_CFG_SUFFIX=${DFT_ARG_SUFFIX}${cf_cv_abi_version}
if test -n "$EXTRA_SUFFIX" && test "x$EXTRA_SUFFIX" != "x${cf_cv_abi_version}"
then
USE_CFG_SUFFIX="${USE_CFG_SUFFIX}${EXTRA_SUFFIX}"
fi
AC_SUBST(USE_ARG_SUFFIX)
AC_SUBST(USE_CFG_SUFFIX)
AC_SUBST(USE_LIB_SUFFIX)
if test "$with_ticlib" != no ; then
if test "x$with_ticlib" != xyes ; then
TICS_NAME=$with_ticlib
TICS_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${USE_LIB_SUFFIX}//"`"
TICS_ARG_SUFFIX="${with_ticlib}`echo ${USE_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
TICS_LIB_SUFFIX="${with_ticlib}"
else
TICS_SUFFIX=${DFT_LIB_SUFFIX}
TICS_ARG_SUFFIX="${TICS_NAME}${USE_ARG_SUFFIX}"
TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
TICS_LIB_SUFFIX="${TICS_NAME}${USE_LIB_SUFFIX}"
fi
TICS_LDFLAGS="-L${LIB_DIR}"
TICS_LIBS="-l${TICS_ARG_SUFFIX}"
else
TICS_SUFFIX=${DFT_LIB_SUFFIX}
TICS_LDFLAGS="-L${LIB_DIR}"
TICS_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX}"
fi
AC_SUBST(TICS_ARG_SUFFIX)
AC_SUBST(TICS_DEP_SUFFIX)
AC_SUBST(TICS_LIB_SUFFIX)
AC_SUBST(TICS_LDFLAGS)
AC_SUBST(TICS_LIBS)
if test "$with_termlib" != no ; then
if test "x$with_termlib" != xyes ; then
TINFO_NAME=$with_termlib
TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${USE_LIB_SUFFIX}//"`"
TINFO_ARG_SUFFIX="${with_termlib}`echo ${USE_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
TINFO_LIB_SUFFIX="${with_termlib}"
else
TINFO_SUFFIX=${DFT_LIB_SUFFIX}
TINFO_ARG_SUFFIX="${TINFO_NAME}${USE_ARG_SUFFIX}"
TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
TINFO_LIB_SUFFIX="${TINFO_NAME}${USE_LIB_SUFFIX}"
fi
TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
if test "$DFT_LWR_MODEL" = "libtool"; then
TEST_ARGS="${TEST_DEPS}"
TEST_ARG2="${TEST_DEP2}"
TINFO_LDFLAGS="-L${LIB_DIR}"
TINFO_LIBS="$TEST_ARGS"
TICS_LIST="$SHLIB_LIST $TEST_ARGS"
SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
else
TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
if test "x$with_term_driver" != xno ; then
TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${USE_ARG_SUFFIX}"
TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${USE_ARG_SUFFIX}"
TINFO_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX} $TEST_ARGS"
else
TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
TINFO_LIBS="$TEST_ARGS"
fi
TINFO_LDFLAGS="-L${LIB_DIR}"
SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
fi
else
# the next lines are needed for linking libtic over libncurses
TINFO_NAME=${LIB_NAME}
TINFO_SUFFIX=${DFT_LIB_SUFFIX}
TINFO_ARG_SUFFIX=${LIB_NAME}${USE_ARG_SUFFIX}
if test "x$with_tic_depends" = xyes ; then
TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${USE_ARG_SUFFIX}"
else
TICS_LIST="$SHLIB_LIST"
fi
TINFO_LDFLAGS="-L${LIB_DIR}"
TINFO_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX}"
fi
if test "$DFT_LWR_MODEL" = shared ; then
case $cf_cv_system_name in
(cygwin*|msys*)
# "lib" files have ".dll.a" suffix, "cyg"or "msys-" files have ".dll"
TINFO_SUFFIX=.dll
;;
esac
fi
AC_SUBST(TINFO_ARG_SUFFIX)
AC_SUBST(TINFO_DEP_SUFFIX)
AC_SUBST(TINFO_LIB_SUFFIX)
AC_SUBST(TINFO_LDFLAGS)
AC_SUBST(TINFO_LIBS)
if test "x$with_dlsym" = xyes ; then
CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
fi
if test "$DFT_LWR_MODEL" = "libtool"; then
OBJEXT=lo
fi
# needed for Ada95
TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
AC_SUBST(TINFO_LDFLAGS2)
case $DFT_LWR_MODEL in
(normal|debug|profile)
CF_LDFLAGS_STATIC
;;
esac
AC_MSG_CHECKING(where we will install curses.h)
AC_SUBST(includesubdir)
includesubdir=
if test "$with_overwrite" = no && \
( test "x$includedir" = 'x${prefix}/include' || \
test "x$includedir" = "x${prefix}/include" )
then
includesubdir="/ncurses${USE_LIB_SUFFIX}"
fi
AC_MSG_RESULT(${includedir}${includesubdir})
### Resolve a conflict between normal and wide-curses by forcing applications
### that will need libutf8 to add it to their configure script.
if test "$with_overwrite" != no ; then
if test "$NCURSES_LIBUTF8" = 1 ; then
NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h)
fi
fi
WITH_OVERWRITE=$with_overwrite
AC_SUBST(WITH_OVERWRITE)
AC_SUBST(TICS_LIST)
AC_SUBST(TINFO_LIST)
AC_SUBST(SHLIB_LIST)
# used to separate tack out of the tree
NCURSES_TREE=
AC_SUBST(NCURSES_TREE)
### predefined stuff for the test programs
AC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs])
### Construct the list of subdirectories for which we'll customize makefiles
### with the appropriate compile-rules.
CF_SRC_MODULES($modules_to_build)
if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${USE_CFG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${USE_CFG_SUFFIX}-config.1:man/MKada_config.in"
fi
CF_DIRS_TO_MAKE
# symbols that differ when compiling Ada95 by itself.
NCURSES_SHLIB2=$SHELL' $(top_srcdir)/misc/shlib'
AC_SUBST(NCURSES_SHLIB2)
# values to use as strings
AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as library path-separator])
AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}",[Define to 1 if machine has ample memory for tic])
### Now that we're done running tests, add the compiler-warnings, if any
CF_ADD_CFLAGS($EXTRA_CFLAGS)
### Define substitutions for header files to avoid name-pollution
CF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0)
CF_SUBST_IF(["x$ac_cv_header_stdint_h" = xyes], HAVE_STDINT_H, 1, 0)
CF_SUBST_IF(["x$ac_cv_header_termio_h" = xyes], HAVE_TERMIO_H, 1, 0)
CF_SUBST_IF(["x$ac_cv_header_termios_h" = xyes], HAVE_TERMIOS_H, 1, 0)
################################################################################
test "x$use_database" = xyes && \
SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${USE_CFG_SUFFIX}-config.1:man/MKncu_config.in"
if test "x$enable_pc_files" = xyes && test -z "$MAKE_PC_FILES" ; then
SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
fi
AC_SUBST(cross_compiling)
AC_PATH_PROG(TIC_PATH,tic,unknown,$PATH:/usr/local/ncurses/bin)
if test -n "$FALLBACK_LIST"
then
if test "$TIC_PATH" = unknown
then
AC_MSG_WARN(no tic program found for fallbacks)
fi
fi
AC_SUBST(TIC_PATH)
if test "x$cf_with_tests" != xno ; then
MAKE_TESTS=
else
MAKE_TESTS="#"
fi
AC_SUBST(MAKE_TESTS)
ADAHTML_DIR=../../doc/html/ada
AC_SUBST(ADAHTML_DIR)
# these could be configurable, but are not currently
PANEL_NAME=panel
MENU_NAME=menu
FORM_NAME=form
CXX_NAME=ncurses++
AC_SUBST(PANEL_NAME)
AC_SUBST(MENU_NAME)
AC_SUBST(FORM_NAME)
AC_SUBST(CXX_NAME)
# workaround for OS/2 (20151017)
case $cf_cv_system_name in
(os2*)
LIBTOOL_OPTS_CXX="-os2dllname ncurs++"
;;
(*)
LIBTOOL_OPTS_CXX=
;;
esac
AC_SUBST(LIBTOOL_OPTS_CXX)
# workaround for g++ versus Solaris (20131116)
case $cf_cv_system_name in
(solaris2*)
case "x$CPPFLAGS" in
(*-D_XOPEN_SOURCE_EXTENDED*)
CF_VERBOSE(moving _XOPEN_SOURCE_EXTENDED to work around g++ problem)
CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
CPPFLAGS=`echo "x$CPPFLAGS" | sed -e 's/^.//' -e 's/-D_XOPEN_SOURCE_EXTENDED//'`
;;
esac
;;
esac
# Help to automatically enable the extended curses features when using either
# the *-config or the ".pc" files by adding defines.
AC_MSG_CHECKING(for defines to add to ncurses${USE_CFG_SUFFIX}-config script)
PKG_CFLAGS=
for cf_loop1 in $CPPFLAGS_after_XOPEN
do
cf_found=no
for cf_loop2 in $CPPFLAGS_before_XOPEN
do
if test "x$cf_loop1" = "x$cf_loop2"
then
cf_found=yes
break
fi
done
test "$cf_found" = no && PKG_CFLAGS="$PKG_CFLAGS $cf_loop1"
done
AC_MSG_RESULT($PKG_CFLAGS)
AC_SUBST(PKG_CFLAGS)
# AC_CHECK_SIZEOF demands a literal parameter, no variables. So we do this.
case "x$NCURSES_OSPEED" in
(*short*)
cf_compatible=1
;;
(*)
cf_compatible=0
;;
esac
AC_DEFINE_UNQUOTED(NCURSES_OSPEED_COMPAT,$cf_compatible,[Define to 1 if termcap variable ospeed is short])
case "x$cf_cv_typeof_chtype" in
(xshort|xint|xlong)
cf_cv_typeof_chtype="unsigned $cf_cv_typeof_chtype"
;;
esac
case "x$cf_cv_typeof_mmask_t" in
(xshort|xint|xlong)
cf_cv_typeof_mmask_t="unsigned $cf_cv_typeof_mmask_t"
;;
esac
# substitute into misc/Makefile to suppress
# (un)install.data from the
# (un)install rules.
if test "x$cf_with_db_install" = "xno"; then
MISC_INSTALL_DATA=
MISC_UNINSTALL_DATA=
else
MISC_INSTALL_DATA=install.data
MISC_UNINSTALL_DATA=uninstall.data
fi
AC_SUBST(MISC_INSTALL_DATA)
AC_SUBST(MISC_UNINSTALL_DATA)
SUB_SCRIPTS=
dnl Override the package used for exported symbols
if test -n "$PACKAGE"
then
PACKAGE="${PACKAGE}${DFT_ARG_SUFFIX}"
export PACKAGE
echo "package: $PACKAGE"
fi
UNALTERED_SYMS=
cf_filter_syms=no
if test -n "$RESULTING_SYMS"
then
cf_filter_syms=$cf_dft_filter_syms
CF_VERBOSE(will map symbols to ABI=$cf_cv_abi_version)
fi
if test "x$WILDCARD_SYMS" = xno
then
cf_filter_syms=yes
fi
UNALTERED_SYMS=`echo "$RESULTING_SYMS" | sed -e 's/\\$/\\\\$/g'`
if test $cf_filter_syms = yes
then
RESULTING_SYMS=resulting.map
fi
AC_SUBST(UNALTERED_SYMS)
if test "x$cross_compiling" = xyes ; then
ADAGEN_LDFLAGS='$(CROSS_LDFLAGS)'
else
ADAGEN_LDFLAGS='$(NATIVE_LDFLAGS)'
fi
AC_SUBST(ADAGEN_LDFLAGS)
AC_OUTPUT( \
include/MKterm.h.awk \
include/curses.head:include/curses.h.in \
include/ncurses_dll.h \
include/termcap.h \
include/unctrl.h \
$SUB_SCRIPTS \
$SUB_MAKEFILES \
Makefile,[
if test "x$cf_with_tests" != xno ; then
CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LD"], test)
fi
CF_LIB_RULES($SRC_SUBDIRS)
if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
if test -z "$USE_OLD_MAKERULES" ; then
$AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile
fi
fi
],[
### Special initialization commands, used to pass information from the
### configuration-run into config.status
AWK="$AWK"
ALTERNATE_SYMS="$ALTERNATE_SYMS"
DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
DFT_LWR_MODEL="$DFT_LWR_MODEL"
ECHO_LD="$ECHO_LD"
EXTRA_SUFFIX="$EXTRA_SUFFIX"
LDCONFIG="$LDCONFIG"
LIBTOOL_VERSION="$LIBTOOL_VERSION"
LIB_NAME="$LIB_NAME"
LIB_PREFIX="$LIB_PREFIX"
LIB_SUBSETS="$LIB_SUBSETS"
LIB_SUFFIX="$LIB_SUFFIX"
LIB_TRACING="$LIB_TRACING"
LN_S="$LN_S"
MAKE_TERMINFO="$MAKE_TERMINFO"
NCURSES_MAJOR="$NCURSES_MAJOR"
NCURSES_MINOR="$NCURSES_MINOR"
NCURSES_OSPEED="$NCURSES_OSPEED"
NCURSES_PATCH="$NCURSES_PATCH"
SRC_SUBDIRS="$SRC_SUBDIRS"
TERMINFO="$TERMINFO"
TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
TICS_NAME="$TICS_NAME"
TICS_SUFFIX="$TICS_SUFFIX"
TIC_PATH="$TIC_PATH"
TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
TINFO_NAME="$TINFO_NAME"
TINFO_SUFFIX="$TINFO_SUFFIX"
UNALTERED_SYMS="$UNALTERED_SYMS"
USE_ARG_SUFFIX="$USE_ARG_SUFFIX"
USE_CFG_SUFFIX="$USE_CFG_SUFFIX"
USE_LIB_SUFFIX="$USE_LIB_SUFFIX"
USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
WILDCARD_SYMS="$WILDCARD_SYMS"
WITH_CURSES_H="$with_curses_h"
WITH_ECHO="${enable_echo:=yes}"
WITH_OVERWRITE="$with_overwrite"
cf_LIST_MODELS="$cf_list_models"
cf_cv_abi_version="$cf_cv_abi_version"
cf_cv_do_relink="$cf_cv_do_relink"
cf_cv_do_symlinks="$cf_cv_do_symlinks"
cf_cv_enable_lp64="$cf_cv_enable_lp64"
cf_cv_enable_opaque="$cf_cv_enable_opaque"
cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
cf_cv_rel_version="$cf_cv_rel_version"
cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
cf_cv_shared_soname='$cf_cv_shared_soname'
cf_cv_shlib_version="$cf_cv_shlib_version"
cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
cf_cv_system_name="$cf_cv_system_name"
cf_cv_term_driver="$with_term_driver"
cf_with_ada="$cf_with_ada"
cf_with_cxx_binding="$cf_with_cxx_binding"
cf_with_db_install="$cf_with_db_install"
cf_with_manpages="$cf_with_manpages"
cf_with_tests="$cf_with_tests"
host="$host"
target="$target"
with_shared_cxx="$with_shared_cxx"
],cat)dnl
${MAKE:-make} preinstall