mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2024-12-21 07:39:06 +08:00
3faafb2efc
+ add a configure check for gcc's options for inlining, use that to quiet a warning message where gcc's default behavior changed from 3.x to 4.x. + improve warning message when checking if GPM is linked to curses library by not warning if its use of "wgetch" is via a weak symbol. + add loader options when building with static libraries to ensure that an installed shared library for ncurses does not conflict. This is reported as problem with Tru64, but could affect other platforms (report Martin Mokrejs, analysis by Tim Mooney). + fix build on cygwin after recent ticlib/termlib changes, i.e., + adjust TINFO_SUFFIX value to work with cygwin's dll naming + revert a change from 20070303 which commented out dependency of SHLIB_LIST in form/menu/panel/c++ libraries. + fix initialization of ripoff stack pointer (cf: 20070421).
1711 lines
51 KiB
Plaintext
1711 lines
51 KiB
Plaintext
dnl***************************************************************************
|
|
dnl Copyright (c) 1998-2006,2007 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.418 2007/04/28 18:54:05 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.13.20020210)
|
|
AC_REVISION($Revision: 1.418 $)
|
|
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_WITH_REL_VERSION(NCURSES)
|
|
CF_WITH_ABI_VERSION
|
|
|
|
CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
|
|
AC_ARG_WITH(system-type,
|
|
[ --with-system-type=XXX test: override derived host system-type],
|
|
[AC_MSG_WARN(overriding system type to $withval)
|
|
cf_cv_system_name=$withval])
|
|
|
|
### Save the given $CFLAGS to allow user-override.
|
|
cf_user_CFLAGS="$CFLAGS"
|
|
|
|
### Default install-location
|
|
CF_CFG_DEFAULTS
|
|
|
|
### Checks for programs.
|
|
AC_PROG_CC
|
|
CF_GCC_VERSION
|
|
|
|
AC_PROG_CPP
|
|
AC_PROG_GCC_TRADITIONAL
|
|
CF_PROG_CC_C_O(CC)
|
|
AC_ISC_POSIX
|
|
CF_ANSI_CC_REQD
|
|
CF_PROG_EXT
|
|
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
|
|
# autoconf 2.5x removed the error - by hardcoding it to g++.
|
|
if test "$CXX" = "g++" ; then
|
|
AC_PATH_PROG(CXX,g++)
|
|
fi
|
|
if test "$CXX" = "g++" ; then
|
|
AC_MSG_WARN(ignoring hardcoded g++)
|
|
cf_with_cxx=no; CXX=""; GXX="";
|
|
fi
|
|
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_ARG_WITH(ada,
|
|
[ --without-ada suppress check for Ada95, don't build demo],
|
|
[cf_with_ada=$withval],
|
|
[cf_with_ada=yes])
|
|
AC_MSG_RESULT($cf_with_ada)
|
|
|
|
AC_MSG_CHECKING(if you want to build programs such as tic)
|
|
AC_ARG_WITH(progs,
|
|
[ --without-progs suppress build with programs (e.g., tic)],
|
|
[cf_with_progs=$withval],
|
|
[cf_with_progs=yes])
|
|
AC_MSG_RESULT($cf_with_progs)
|
|
|
|
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
|
|
AC_PROG_LN_S
|
|
|
|
AC_PROG_MAKE_SET
|
|
CF_MAKE_TAGS
|
|
CF_MAKEFLAGS
|
|
|
|
AC_SYS_LONG_FILE_NAMES
|
|
CF_MIXEDCASE_FILENAMES
|
|
|
|
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)
|
|
CF_SUBST(archiver options,AR_OPTS,rv)
|
|
|
|
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 "$withval" in #(vi
|
|
yes|no) #(vi
|
|
;;
|
|
*) 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 "$with_shared" = "yes" && 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 "$with_normal" = "yes" && 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 "$with_debug" = "yes" && 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 "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
|
|
|
|
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_LIB_PREFIX(cf_prefix)
|
|
LIB_PREFIX=$cf_prefix
|
|
AC_SUBST(LIB_PREFIX)
|
|
|
|
LIB_SUFFIX=
|
|
AC_SUBST(LIB_SUFFIX)
|
|
|
|
###############################################################################
|
|
|
|
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 "$with_dlsym" = yes ; then
|
|
CF_FUNC_DLSYM
|
|
if test "$with_gpm" != yes ; 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")
|
|
SHLIB_LIST="-ldl $SHLIB_LIST"
|
|
else
|
|
SHLIB_LIST="-lgpm $SHLIB_LIST"
|
|
fi
|
|
AC_DEFINE(HAVE_LIBGPM)
|
|
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 "${ac_cv_prog_cc_g}" != yes && 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 "${ac_cv_prog_cxx_g}" != yes && 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)
|
|
AC_MSG_CHECKING(if rpath option should be used)
|
|
AC_ARG_ENABLE(rpath,
|
|
[ --enable-rpath use rpath option when generating shared libraries],
|
|
[cf_cv_ld_rpath=$enableval],
|
|
[cf_cv_ld_rpath=no])
|
|
AC_MSG_RESULT($cf_cv_ld_rpath)
|
|
AC_MSG_CHECKING(if shared libraries should be relinked during install)
|
|
AC_ARG_ENABLE(rpath,
|
|
[ --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
|
|
|
|
CF_SHARED_OPTS
|
|
if test "$CC_SHARED_OPTS" = "unknown"; then
|
|
for model in $cf_list_models; do
|
|
if test "$model" = "shared"; then
|
|
AC_ERROR(Shared libraries are not supported in this version)
|
|
fi
|
|
done
|
|
fi
|
|
|
|
###############################################################################
|
|
CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
|
|
|
|
### 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 leave out the 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 #(vi
|
|
os2*) #(vi
|
|
TERMINFO_SRC='${top_srcdir}/misc/emx.src'
|
|
;;
|
|
*) #(vi
|
|
TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
|
|
;;
|
|
esac
|
|
AC_SUBST(TERMINFO_SRC)
|
|
|
|
CF_PATHSEP
|
|
if test "$use_database" != no ; then
|
|
AC_DEFINE(USE_DATABASE)
|
|
|
|
AC_MSG_CHECKING(which terminfo source-file will be installed)
|
|
AC_ARG_ENABLE(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)
|
|
fi
|
|
|
|
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=`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)
|
|
|
|
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")
|
|
|
|
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")
|
|
|
|
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 "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
|
|
|
|
### 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)
|
|
|
|
if test "$with_termcap" != "yes" ; 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)
|
|
else
|
|
|
|
if test "$with_ticlib" != no ; then
|
|
AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
|
|
fi
|
|
|
|
AC_DEFINE(USE_TERMCAP)
|
|
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")
|
|
|
|
### 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 "$with_getcap" = "yes" && AC_DEFINE(USE_GETCAP)
|
|
|
|
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 "$with_getcap_cache" = "yes" && AC_DEFINE(USE_GETCAP_CACHE)
|
|
|
|
fi
|
|
|
|
### 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 "$with_home_terminfo" = "yes" && AC_DEFINE(USE_HOME_TERMINFO)
|
|
|
|
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 "$with_root_environ" = yes && AC_DEFINE(USE_ROOT_ENVIRON)
|
|
|
|
### 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 "$ac_cv_func_symlink" = yes ; 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 "$ac_cv_func_link" = yes ; then
|
|
with_links=yes
|
|
else
|
|
with_links=no
|
|
fi
|
|
AC_MSG_RESULT($with_links)
|
|
fi
|
|
|
|
test "$with_links" = yes && AC_DEFINE(USE_LINKS)
|
|
test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
|
|
|
|
### 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 "$with_broken_linker" = yes ; then
|
|
AC_DEFINE(BROKEN_LINKER)
|
|
BROKEN_LINKER=1
|
|
elif test "$DFT_LWR_MODEL" = shared ; then
|
|
case $cf_cv_system_name in #(vi
|
|
cygwin*)
|
|
AC_DEFINE(BROKEN_LINKER)
|
|
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 "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
|
|
|
|
### 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"
|
|
CF_XOPEN_SOURCE
|
|
|
|
# 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 "$with_widec" = yes ; then
|
|
LIB_SUFFIX="w${LIB_SUFFIX}"
|
|
AC_DEFINE(USE_WIDEC_SUPPORT)
|
|
CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
|
|
# with_overwrite=no
|
|
NCURSES_CH_T=cchar_t
|
|
AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc)
|
|
if test "$ac_cv_func_putwc" != yes ; then
|
|
CF_LIBUTF8
|
|
if test "$cf_cv_libutf8" = yes ; 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)
|
|
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
|
|
case $cf_cv_abi_version in
|
|
[[345]]*)
|
|
default_with_lp64=no
|
|
;;
|
|
*)
|
|
default_with_lp64=yes
|
|
;;
|
|
esac
|
|
|
|
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=$default_with_lp64])
|
|
AC_MSG_RESULT($with_lp64)
|
|
|
|
if test "$with_lp64" = yes ; 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 "$with_tparm_varargs" = yes && NCURSES_TPARM_VARARGS=1
|
|
AC_SUBST(NCURSES_TPARM_VARARGS)
|
|
|
|
### 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=auto])
|
|
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=auto])
|
|
AC_MSG_RESULT($NCURSES_MMASK_T)
|
|
|
|
### 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 "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
|
|
|
|
###############################################################################
|
|
CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
|
|
|
|
###############################################################################
|
|
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 "$with_ext_funcs" = yes ; then
|
|
NCURSES_EXT_FUNCS=1
|
|
AC_DEFINE(HAVE_CURSES_VERSION)
|
|
AC_DEFINE(HAVE_HAS_KEY)
|
|
AC_DEFINE(HAVE_RESIZETERM)
|
|
AC_DEFINE(HAVE_RESIZE_TERM)
|
|
AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
|
|
AC_DEFINE(HAVE_WRESIZE)
|
|
AC_DEFINE(NCURSES_EXT_FUNCS)
|
|
else
|
|
NCURSES_EXT_FUNCS=0
|
|
fi
|
|
AC_SUBST(NCURSES_EXT_FUNCS)
|
|
|
|
### 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=no])
|
|
AC_MSG_RESULT($with_ext_const)
|
|
NCURSES_CONST='/*nothing*/'
|
|
if test "$with_ext_const" = yes ; then
|
|
NCURSES_CONST=const
|
|
fi
|
|
AC_SUBST(NCURSES_CONST)
|
|
|
|
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 "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING)
|
|
|
|
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 "$with_signed_char" != yes && 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 "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH)
|
|
|
|
### 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 "$with_tcap_names" = yes && 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 "$enable_hard_tabs" = yes && AC_DEFINE(USE_HARD_TABS)
|
|
|
|
### 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 "$enable_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
|
|
|
|
###############################################################################
|
|
# 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 "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR)
|
|
|
|
### 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 "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
|
|
|
|
### 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 with $COLORFGBG code],
|
|
[with_colorfgbg=$enableval],
|
|
[with_colorfgbg=no])
|
|
AC_MSG_RESULT($with_colorfgbg)
|
|
test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
|
|
|
|
### use option --enable-ext-colors to turn on use of colors beyond 16.
|
|
AC_MSG_CHECKING(if you want to use experimental extended colors)
|
|
AC_ARG_ENABLE(ext-colors,
|
|
[ --enable-ext-colors compile for experimental 256-color support],
|
|
[with_ext_colors=$enableval],
|
|
[with_ext_colors=no])
|
|
AC_MSG_RESULT($with_ext_colors)
|
|
NCURSES_EXT_COLORS=0
|
|
if test "$with_ext_colors" = yes ; then
|
|
if test "$with_widec" != yes ; then
|
|
AC_MSG_ERROR(This option applies only to wide-character library)
|
|
else
|
|
# cannot be ABI 5 since it changes sizeof(cchar_t)
|
|
CF_NCURSES_ABI_6
|
|
fi
|
|
NCURSES_EXT_COLORS=1
|
|
AC_DEFINE(NCURSES_EXT_COLORS)
|
|
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 experimental extended mouse encoding)
|
|
AC_ARG_ENABLE(ext-mouse,
|
|
[ --enable-ext-mouse compile for experimental mouse-encoding],
|
|
[with_ext_mouse=$enableval],
|
|
[with_ext_mouse=no])
|
|
AC_MSG_RESULT($with_ext_mouse)
|
|
NCURSES_MOUSE_VERSION=1
|
|
if test "$with_ext_mouse" = yes ; then
|
|
NCURSES_MOUSE_VERSION=2
|
|
CF_NCURSES_ABI_6
|
|
fi
|
|
AC_SUBST(NCURSES_MOUSE_VERSION)
|
|
|
|
# Reentrant code has to be opaque; there's little advantage to making ncurses
|
|
# opaque outside of that, so there is no --enable-opaque option.
|
|
AC_MSG_CHECKING(if you want experimental reentrant code)
|
|
AC_ARG_ENABLE(reentrant,
|
|
[ --enable-reentrant compile with experimental reentrant code],
|
|
[with_reentrant=$enableval],
|
|
[with_reentrant=no])
|
|
AC_MSG_RESULT($with_reentrant)
|
|
if test "$with_reentrant" = yes ; then
|
|
cf_cv_enable_reentrant=1
|
|
cf_cv_enable_opaque="NCURSES_INTERNALS"
|
|
NCURSES_OPAQUE=1
|
|
NCURSES_SIZE_T=int
|
|
LIB_SUFFIX="t${LIB_SUFFIX}"
|
|
AC_DEFINE(USE_REENTRANT)
|
|
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)
|
|
|
|
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 "$with_safe_sprintf" = yes && AC_DEFINE(USE_SAFE_SPRINTF)
|
|
|
|
### 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 "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
|
|
fi
|
|
|
|
AC_MSG_CHECKING(if you want experimental wgetch-events code)
|
|
AC_ARG_ENABLE(wgetch-events,
|
|
[ --enable-wgetch-events compile with experimental wgetch-events code],
|
|
[with_wgetch_events=$enableval],
|
|
[with_wgetch_events=no])
|
|
AC_MSG_RESULT($with_wgetch_events)
|
|
test "$with_wgetch_events" = yes && AC_DEFINE(NCURSES_WGETCH_EVENTS)
|
|
|
|
###############################################################################
|
|
CF_HELP_MESSAGE(Testing/development Options:)
|
|
|
|
### use option --disable-echo to suppress full display compiling commands
|
|
AC_MSG_CHECKING(if you want to display full commands during build)
|
|
AC_ARG_ENABLE(echo,
|
|
[ --enable-echo build: display "compiling" commands (default)],
|
|
[with_echo=$enableval],
|
|
[with_echo=yes])
|
|
if test "$with_echo" = yes; then
|
|
ECHO_LINK=
|
|
else
|
|
ECHO_LINK='@ echo linking $@ ... ;'
|
|
test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
|
|
fi
|
|
AC_MSG_RESULT($with_echo)
|
|
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 -n "$with_warnings"; then
|
|
ADAFLAGS="$ADAFLAGS -gnatg"
|
|
CF_GCC_WARNINGS
|
|
if test "$cf_with_cxx" = yes ; then
|
|
CF_GXX_WARNINGS(Wno-unused)
|
|
fi
|
|
fi
|
|
CF_GCC_ATTRIBUTES
|
|
|
|
### 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
|
|
AC_DEFINE(NDEBUG)
|
|
CPPFLAGS="$CPPFLAGS -DNDEBUG"
|
|
else
|
|
ADAFLAGS="$ADAFLAGS -gnata"
|
|
fi
|
|
fi
|
|
|
|
### use option --disable-leaks to suppress "permanent" leaks, for testing
|
|
CF_DISABLE_LEAKS
|
|
AC_DEFINE(HAVE_NC_ALLOC_H)
|
|
|
|
### use option --enable-expanded to generate certain macros as functions
|
|
AC_ARG_ENABLE(expanded,
|
|
[ --enable-expanded test: generate functions for certain macros],
|
|
[test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
|
|
|
|
### 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)])
|
|
|
|
# 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 "$cf_with_trace" = yes ; then
|
|
LIB_TRACING=all
|
|
ADA_TRACE=TRUE
|
|
CF_ADD_CFLAGS(-DTRACE)
|
|
else
|
|
LIB_TRACING=DEBUG
|
|
ADA_TRACE=FALSE
|
|
fi
|
|
|
|
AC_SUBST(ADA_TRACE)
|
|
|
|
### Checks for libraries.
|
|
AC_CHECK_FUNC(gettimeofday,
|
|
AC_DEFINE(HAVE_GETTIMEOFDAY),[
|
|
|
|
AC_CHECK_LIB(bsd, gettimeofday,
|
|
AC_DEFINE(HAVE_GETTIMEOFDAY)
|
|
LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
|
|
|
|
CF_MATH_LIB(MATH_LIB,sin(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 \
|
|
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 \
|
|
)
|
|
|
|
# check for ISC (this may also define _POSIX_SOURCE)
|
|
# Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
|
|
if test "$ISC" = yes ; then
|
|
AC_CHECK_LIB(cposix,main)
|
|
AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()'
|
|
fi
|
|
|
|
CF_SYS_TIME_SELECT
|
|
|
|
### checks for compiler characteristics
|
|
AC_LANG_C
|
|
AC_C_CONST
|
|
CF_C_INLINE(NCURSES_INLINE,500)
|
|
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 \
|
|
getttynam \
|
|
issetugid \
|
|
poll \
|
|
remove \
|
|
select \
|
|
setbuf \
|
|
setbuffer \
|
|
setvbuf \
|
|
sigaction \
|
|
sigvec \
|
|
strdup \
|
|
strstr \
|
|
tcgetpgrp \
|
|
times \
|
|
vsnprintf \
|
|
)
|
|
if test "$with_getcap" = "yes" ; 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 "$cross_compiling" = yes ; then
|
|
AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
|
|
else
|
|
AC_FUNC_SETVBUF_REVERSED
|
|
fi
|
|
AC_TYPE_SIGNAL
|
|
CF_TYPE_SIGACTION
|
|
CF_SIZECHANGE
|
|
CF_FUNC_MEMMOVE
|
|
CF_FUNC_POLL
|
|
|
|
if test "$with_hashed_db" != no ; then
|
|
AC_DEFINE(USE_HASHED_DB)
|
|
CF_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(iostream typeinfo)
|
|
|
|
CF_BOOL_DECL
|
|
CF_BOOL_SIZE
|
|
CF_ETIP_DEFINES
|
|
CF_CPP_PARAM_INIT
|
|
CF_CPP_STATIC_CAST
|
|
|
|
CXX_AR='$(AR)'
|
|
CXX_AR_OPTS='$(AR_OPTS)'
|
|
case $cf_cv_system_name in #(vi
|
|
irix*) #(vi
|
|
if test "$GXX" != yes ; then
|
|
CXX_AR='$(CXX)'
|
|
CXX_AR_OPTS='-ar -o'
|
|
fi
|
|
;;
|
|
sco3.2v5*) #(vi
|
|
CXXLDFLAGS="-u main"
|
|
;;
|
|
solaris2*)
|
|
if test "$GXX" != yes ; then
|
|
CXX_AR='$(CXX)'
|
|
CXX_AR_OPTS='-xar -o'
|
|
fi
|
|
;;
|
|
esac
|
|
AC_SUBST(CXXLDFLAGS)
|
|
AC_SUBST(CXX_AR)
|
|
AC_SUBST(CXX_AR_OPTS)
|
|
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 #(vi
|
|
i?86) cf_cv_type_of_bool=char ;; #(vi
|
|
*) 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 Check for availability of GNU Ada Translator (GNAT).
|
|
dnl At the moment we support no other Ada95 compiler.
|
|
if test -f "${srcdir}/Ada95/Makefile.in" ; then
|
|
if test "$cf_with_ada" != "no" ; then
|
|
cf_ada_make=gnatmake
|
|
AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
|
|
if test "$ac_cv_prog_gnat_exists" = no; then
|
|
cf_ada_make=
|
|
else
|
|
CF_GNAT_VERSION
|
|
AC_CHECK_PROG(M4_exists, m4, yes, no)
|
|
if test "$ac_cv_prog_M4_exists" = no; then
|
|
cf_cv_prog_gnat_correct=no
|
|
echo Ada95 binding required program m4 not found. Ada95 binding disabled.
|
|
fi
|
|
if test "$cf_cv_prog_gnat_correct" = yes; then
|
|
AC_MSG_CHECKING(if GNAT works)
|
|
CF_GNAT_TRY_RUN([procedure conftest;],
|
|
[with Text_IO;
|
|
with GNAT.OS_Lib;
|
|
procedure conftest is
|
|
begin
|
|
Text_IO.Put ("Hello World");
|
|
Text_IO.New_Line;
|
|
GNAT.OS_Lib.OS_Exit (0);
|
|
end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
|
|
AC_MSG_RESULT($cf_cv_prog_gnat_correct)
|
|
fi
|
|
fi
|
|
if test "$cf_cv_prog_gnat_correct" = yes; then
|
|
ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
|
|
|
|
AC_MSG_CHECKING(if GNAT pragma Unreferenced works)
|
|
CF_GNAT_TRY_LINK([procedure conftest;],
|
|
[with Text_IO;
|
|
with GNAT.OS_Lib;
|
|
procedure conftest is
|
|
test : Integer;
|
|
pragma Unreferenced (test);
|
|
begin
|
|
test := 1;
|
|
Text_IO.Put ("Hello World");
|
|
Text_IO.New_Line;
|
|
GNAT.OS_Lib.OS_Exit (0);
|
|
end conftest;],[cf_cv_pragma_unreferenced=yes],[cf_cv_pragma_unreferenced=no])
|
|
AC_MSG_RESULT($cf_cv_pragma_unreferenced)
|
|
|
|
# if the pragma is supported, use it (needed in the Trace code).
|
|
if test $cf_cv_pragma_unreferenced = yes ; then
|
|
PRAGMA_UNREF=TRUE
|
|
else
|
|
PRAGMA_UNREF=FALSE
|
|
fi
|
|
|
|
AC_ARG_WITH(ada-compiler,
|
|
[ --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
|
|
[cf_ada_compiler=$withval],
|
|
[cf_ada_compiler=gnatmake])
|
|
|
|
cf_ada_package=terminal_interface
|
|
|
|
AC_SUBST(cf_ada_make)
|
|
AC_SUBST(cf_ada_compiler)
|
|
AC_SUBST(cf_ada_package)
|
|
AC_SUBST(ADAFLAGS)
|
|
AC_SUBST(cf_compile_generics)
|
|
AC_SUBST(cf_generic_objects)
|
|
AC_SUBST(PRAGMA_UNREF)
|
|
|
|
CF_WITH_PATH(ada-include,
|
|
[ --with-ada-include=DIR Ada includes are in DIR],
|
|
ADA_INCLUDE,
|
|
PREFIX/lib/ada/adainclude,
|
|
[$]prefix/lib/ada/adainclude)
|
|
AC_SUBST(ADA_INCLUDE)
|
|
|
|
CF_WITH_PATH(ada-objects,
|
|
[ --with-ada-objects=DIR Ada objects are in DIR],
|
|
ADA_OBJECTS,
|
|
PREFIX/lib/ada/adalib,
|
|
[$]prefix/lib/ada/adalib)
|
|
AC_SUBST(ADA_OBJECTS)
|
|
|
|
fi
|
|
fi
|
|
else
|
|
cf_with_ada=no
|
|
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 "$cf_with_progs" = yes || test "$with_ticlib" != 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 "$with_ext_funcs" = yes && 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"
|
|
test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
|
|
test "$with_ext_funcs" = yes && 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_DEP_SUFFIX)dnl
|
|
DFT_LIB_SUFFIX=$DFT_DEP_SUFFIX
|
|
if test $DFT_LWR_MODEL = shared ; then
|
|
case $cf_cv_system_name in #(vi
|
|
cygwin*)
|
|
DFT_DEP_SUFFIX=".dll.a"
|
|
DFT_LIB_SUFFIX=".dll"
|
|
;;
|
|
esac
|
|
fi
|
|
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)
|
|
|
|
# libtool thinks it can make c++ shared libraries (perhaps only g++)
|
|
if test "$cf_with_cxx" = yes ; then
|
|
AC_MSG_CHECKING(c++ library-dependency suffix)
|
|
if test "$with_libtool" != "no"; then
|
|
CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
|
|
else
|
|
CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library
|
|
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 "$with_dlsym" = yes ; 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 "$with_dlsym" = yes ; then
|
|
CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
|
|
fi
|
|
|
|
if test "$with_ticlib" != no ; then
|
|
|
|
if test "$with_ticlib" != yes ; then
|
|
TICS_NAME=$with_ticlib
|
|
TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_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_ARG_SUFFIX="${TICS_NAME}${DFT_ARG_SUFFIX}"
|
|
TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
|
|
TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
|
|
fi
|
|
TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}"
|
|
else
|
|
TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
|
|
fi
|
|
AC_SUBST(TICS_ARG_SUFFIX)
|
|
AC_SUBST(TICS_DEP_SUFFIX)
|
|
AC_SUBST(TICS_LIB_SUFFIX)
|
|
AC_SUBST(TICS_ARGS)
|
|
|
|
if test "$with_termlib" != no ; then
|
|
|
|
if test "$with_termlib" != yes ; then
|
|
TINFO_NAME=$with_termlib
|
|
TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
|
|
TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_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}${DFT_ARG_SUFFIX}"
|
|
TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
|
|
TINFO_LIB_SUFFIX="${TINFO_NAME}${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_ARGS="-L${LIB_DIR} $TEST_ARGS"
|
|
else
|
|
TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
|
|
TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
|
|
TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
|
|
TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
|
|
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}${DFT_ARG_SUFFIX}
|
|
TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
|
|
|
|
TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
|
|
fi
|
|
|
|
if test "$DFT_LWR_MODEL" = shared ; then
|
|
case $cf_cv_system_name in #(vi
|
|
cygwin*)
|
|
# "lib" files have ".dll.a" suffix, "cyg" 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_ARGS)
|
|
|
|
if test "$with_dlsym" = yes ; then
|
|
CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
|
|
fi
|
|
|
|
# needed for Ada95
|
|
TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
|
|
AC_SUBST(TINFO_ARGS2)
|
|
|
|
case $DFT_LWR_MODEL in
|
|
normal|debug|profile)
|
|
CF_LDFLAGS_STATIC
|
|
;;
|
|
esac
|
|
|
|
AC_MSG_CHECKING(where we will install curses.h)
|
|
test "$with_overwrite" = no && \
|
|
test "x$includedir" = 'x${prefix}/include' && \
|
|
includedir='${prefix}/include/ncurses'${LIB_SUFFIX}
|
|
AC_MSG_RESULT($includedir)
|
|
|
|
### 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
|
|
|
|
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)
|
|
|
|
### Construct the list of subdirectories for which we'll customize makefiles
|
|
### with the appropriate compile-rules.
|
|
|
|
CF_SRC_MODULES($modules_to_build)
|
|
|
|
if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
|
|
SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses-config"
|
|
fi
|
|
|
|
CF_DIRS_TO_MAKE
|
|
|
|
AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
|
|
|
|
AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
|
|
|
|
### 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(["$cf_cv_have_tcgetattr" = yes], HAVE_TCGETATTR, 1, 0)
|
|
CF_SUBST_IF(["$ac_cv_header_termio_h" = yes], HAVE_TERMIO_H, 1, 0)
|
|
CF_SUBST_IF(["$ac_cv_header_termios_h" = yes], HAVE_TERMIOS_H, 1, 0)
|
|
|
|
################################################################################
|
|
test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
|
|
SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
|
|
AC_OUTPUT( \
|
|
include/MKterm.h.awk \
|
|
include/curses.head:include/curses.h.in \
|
|
include/termcap.h \
|
|
include/unctrl.h \
|
|
$SUB_MAKEFILES \
|
|
Makefile,[
|
|
CF_PRG_RULES([$srcdir/test/mk-test.awk ECHO_LINK="$ECHO_LINK"], test)
|
|
CF_LIB_RULES($SRC_SUBDIRS)
|
|
],[
|
|
### Special initialization commands, used to pass information from the
|
|
### configuration-run into config.status
|
|
|
|
AWK="$AWK"
|
|
DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
|
|
DFT_LWR_MODEL="$DFT_LWR_MODEL"
|
|
ECHO_LINK="$ECHO_LINK"
|
|
LDCONFIG="$LDCONFIG"
|
|
LIB_NAME="$LIB_NAME"
|
|
LIB_SUBSETS="$LIB_SUBSETS"
|
|
LIB_SUFFIX="$LIB_SUFFIX"
|
|
LIB_TRACING="$LIB_TRACING"
|
|
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"
|
|
TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
|
|
TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
|
|
TINFO_NAME="$TINFO_NAME"
|
|
TINFO_SUFFIX="$TINFO_SUFFIX"
|
|
TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
|
|
TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
|
|
TICS_NAME="$TICS_NAME"
|
|
WITH_CURSES_H="$with_curses_h"
|
|
WITH_ECHO="$with_echo"
|
|
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_rel_version="$cf_cv_rel_version"
|
|
cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
|
|
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_with_cxx_binding="$cf_with_cxx_binding"
|
|
host="$host"
|
|
target="$target"
|
|
|
|
],cat)dnl
|
|
${MAKE-make} preinstall
|