ncursesw-morphos/configure.in
Thomas E. Dickey 661078ddbd ncurses 4.2
1998-02-28 23:21:12 -05:00

883 lines
27 KiB
Plaintext

dnl***************************************************************************
dnl Copyright (c) 1998 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 <dickey@clark.net> 1996,1997
dnl
dnl $Id: configure.in,v 1.126 1998/02/12 23:10:43 tom Exp $
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.12.971222)
AC_REVISION($Revision: 1.126 $)
AC_INIT(ncurses/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
CF_SUBST_NCURSES_VERSION
CF_CHECK_CACHE
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])
# We need a configure script only when compiling as part of GNU C library.
# Here we have to generate one of the files we need while compiling.
#
# The only problem is that users of the package might think they have to
# run configure themself and find it irritating when nothing happens.
#
# So we try here to find out whether we are called from the glibc configure
# or by a user.
#
dnl Check if we are a drop-in addition to glibc.
AC_ARG_ENABLE(add-ons, dnl
[ --enable-add-ons=DIR... used to check if we are a glibc add-on.],
[glibc_add_on=yes],
[glibc_add_on=])
dnl We need to use [ and ] for other purposes for a while now.
changequote(,)dnl
if test x"$glibc_add_on" = "xyes" ; then
rm -f $srcdir/Banner
# We are in glibc.
rm -f $srcdir/Makefile
cp $srcdir/Makefile.glibc $srcdir/Makefile
echo "ncurses `grep \"^[ ]*ncurses-version[ ]*=.*$\" \
$srcdir/Makefile | sed -e \
's/^[ ]*ncurses-version[ ]*=[ ]*\([^ ^ ]*\)[ ]*$/\1/'`" > $srcdir/Banner
exit 0
fi
changequote([,])dnl
### Save the given $CFLAGS to allow user-override.
cf_user_CFLAGS="$CFLAGS"
### Default install-location
CF_CFG_DEFAULTS
### Checks for programs.
AC_PROG_CC
if test -n "$GCC" ; then
AC_MSG_CHECKING(version of gcc)
eval "$CC --version"
fi
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_ISC_POSIX
AC_PATH_PROG(LDCONFIG,ldconfig,,$PATH:/sbin:/usr/sbin)
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 build with C++)
AC_ARG_WITH(cxx,
[ --without-cxx suppress check for C++, don't build demo],
[cf_with_cxx=$withval],
[cf_with_cxx=yes])
AC_MSG_RESULT($cf_with_cxx)
if test "X$cf_with_cxx" != Xno ; then
AC_PROG_CXX
fi
changequote(,)dnl
if test -n "$GXX" ; then case "`${CXX-g++} --version`" in 1*|2.[0-6]*) GXX=""; CXX=""; ac_cv_prog_gxx=no; cf_cxx_library=no ; echo No: templates do not work;; esac; fi
changequote([,])dnl
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)
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_PROG_AWK
AC_PROG_MAKE_SET
CF_PROG_INSTALL
AC_SYS_LONG_FILE_NAMES
AC_PROG_LN_S
AC_PROG_RANLIB
AC_CHECK_PROGS(LINT, tdlint lint alint)
AC_CHECK_PROGS(MAN, man man_db)
AC_SUBST(LINT_OPTS)
dnl These are standard among *NIX systems, but not when cross-compiling
CF_SUBST(loader,LD,ld)
CF_SUBST(archiver,AR,ar)
CF_SUBST(archiver options,AR_OPTS,rv)
CF_MAKEFLAGS
CF_MAN_PAGES
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],
[case "$withval" in #(vi
yes|no) #(vi
;;
*) INSTALL_PREFIX="$withval"
;;
esac])
AC_MSG_RESULT($INSTALL_PREFIX)
AC_SUBST(INSTALL_PREFIX)
###############################################################################
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_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"
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)
### Checks for special libraries, must be done up-front.
AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
AC_ARG_WITH(dbmalloc,
[ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
[with_dbmalloc=yes],
[with_dbmalloc=no])
AC_MSG_RESULT($with_dbmalloc)
if test $with_dbmalloc = yes ; then
AC_CHECK_LIB(dbmalloc,debug_malloc)
fi
AC_MSG_CHECKING(if you want to link with dmalloc for testing)
AC_ARG_WITH(dmalloc,
[ --with-dmalloc test: use Gray Watson's dmalloc library],
[with_dmalloc=yes],
[with_dmalloc=no])
AC_MSG_RESULT($with_dmalloc)
if test $with_dmalloc = yes ; then
AC_CHECK_LIB(dmalloc,dmalloc_debug)
fi
AC_MSG_CHECKING(if you want to link with the gpm mouse library)
AC_ARG_WITH(gpm,
[ --with-gpm use Alessandro Rubini's GPM library],
[with_gpm=yes],
[with_gpm=no])
AC_MSG_RESULT($with_gpm)
if test $with_gpm = yes ; then
AC_CHECK_LIB(gpm,Gpm_Open,[
EXTRA_LIBS="$EXTRA_LIBS -lgpm -lncurses"
SHLIB_LIST="$SHLIB_DEPS -lgpm "
AC_DEFINE(HAVE_LIBGPM)
AC_CHECK_HEADERS(gpm.h)
],,-lcurses -ltermcap)
fi
AC_SUBST(EXTRA_LIBS)
AC_SUBST(SHLIB_LIST)
AC_MSG_CHECKING(for specified models)
test -z "$cf_list_models" && cf_list_models=normal
AC_MSG_RESULT($cf_list_models)
### Use the first model as the default, and save its suffix for use in building
### up test-applications.
DFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
CF_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl
CF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
AC_SUBST(DFT_LWR_MODEL)dnl the default model ("normal")
AC_SUBST(DFT_UPR_MODEL)dnl the default model ("NORMAL")
AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
AC_SUBST(DFT_ARG_SUFFIX)dnl the string to append to "-lncurses" ("")
AC_SUBST(cf_list_models)dnl the complete list of models ("normal debug")
TINFO_NAME=tinfo
AC_SUBST(TINFO_NAME)
LIB_NAME=ncurses
AC_SUBST(LIB_NAME)
LIB_DIR=../lib
CF_LIB_PREFIX(cf_prefix)
LIB_PREFIX=$LIB_DIR/$cf_prefix
AC_SUBST(LIB_PREFIX)
dnl Not all ports of gcc support the -g option
dnl autoconf 2.12 uses different symbol for -g option than autoconf 2.10, etc.
if test X"$CC_G_OPT" = X"" ; then
CC_G_OPT='-g'
test -n "$GCC" && test "${ac_cv_prog_cc_g}${ac_cv_prog_gcc_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}${ac_cv_prog_gxx_g}" != yes && CXX_G_OPT=''
fi
AC_SUBST(CXX_G_OPT)
case $DFT_LWR_MODEL in
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_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)
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
test "$with_overwrite" = no && \
test "x$includedir" = 'x${prefix}/include' && \
includedir='$(prefix)/include/ncurses'
],
[with_overwrite=yes])
AC_MSG_RESULT($with_overwrite)
AC_MSG_CHECKING(where we will install curses.h)
AC_MSG_RESULT($includedir)
AC_MSG_CHECKING(if external terminfo-database is used)
AC_ARG_ENABLE(database,
[ --disable-database use only built-in data],
[with_database=$enableval],
[with_database=yes])
AC_MSG_RESULT($with_database)
test $with_database != no && AC_DEFINE(USE_DATABASE)
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)
test "$with_ext_funcs" = yes && AC_DEFINE(NCURSES_EXT_FUNCS)
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/,/ /'`
AC_SUBST(FALLBACK_LIST)
if test $with_database = no ; then
if test -z $with_fallback ; then
AC_ERROR(You have disabled the database w/o specifying fallbacks)
fi
fi
### use option --enable-big-core to make tic run faster on big machines
AC_MSG_CHECKING(if big-core option selected)
AC_ARG_ENABLE(big-core,
[ --enable-big-core assume machine has lots of memory],
[with_big_core=$enableval],
[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
AC_DEFINE(PURE_TERMINFO)
else
### 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 --enable-symlinks to make tic use symlinks, not hard links
### to reduce storage requirements for the terminfo database.
###
### Most Unix systems have both link and symlink, a few don't have symlink.
### A few non-Unix systems implement symlink, but not link.
### A few non-systems implement neither.
AC_CHECK_FUNCS( \
link \
symlink )
with_links=no
with_symlinks=no
if test "$ac_cv_func_link" != yes ; then
AC_MSG_CHECKING(if tic should use symbolic links)
if test "$ac_cv_func_symlink" = yes ; then
with_symlinks=yes
else
with_symlinks=no
fi
AC_MSG_RESULT($with_symlinks)
elif test "$ac_cv_func_symlink" != yes ; 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)
else
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
test "$with_links" = yes && AC_DEFINE(USE_LINKS)
test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
### 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-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)
test "$with_ext_const" = yes && AC_DEFINE(NCURSES_CONST,const)
### 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=$enableval],
[with_rcs_ids=no])
AC_MSG_RESULT($with_rcs_ids)
test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
###############################################################################
CF_HELP_MESSAGE(Experimental Code:)
AC_MSG_CHECKING(if you want all experimental code)
AC_ARG_WITH(develop,
[ --with-develop enable all experimental options for testing],
[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 experimental hard-tabs code)
AC_ARG_ENABLE(hard-tabs,
[ --enable-hard-tabs compile with experimental hard-tabs code],
[with_hardtabs=$enableval],
[with_hardtabs=$with_develop])
AC_MSG_RESULT($with_hardtabs)
test "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS)
### use option --enable-hashmap to turn on use of hashmap scrolling logic
AC_MSG_CHECKING(if you want experimental hashmap code)
AC_ARG_ENABLE(hashmap,
[ --enable-hashmap compile with experimental hashmap code],
[with_hashmap=$enableval],
[with_hashmap=$with_develop])
AC_MSG_RESULT($with_hashmap)
test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
AC_ARG_ENABLE(safe-sprintf,
[ --disable-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
AC_MSG_CHECKING(if you want to experiment without scrolling-hints code)
AC_ARG_ENABLE(scroll-hints,
[ --disable-scroll-hints compile hashmap 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)
### use option --enable-sigwinch to turn on use of SIGWINCH logic
AC_MSG_CHECKING(if you want experimental SIGWINCH handler)
AC_ARG_ENABLE(sigwinch,
[ --enable-sigwinch compile with experimental SIGWINCH handler],
[with_sigwinch=$enableval],
[with_sigwinch=$with_develop])
AC_MSG_RESULT($with_sigwinch)
test "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH)
### use option --enable-widec to turn on use of wide-character support
AC_MSG_CHECKING(if you want experimental wide-character code)
AC_ARG_ENABLE(widec,
[ --enable-widec compile with experimental wide-char code],
[with_widec=$enableval],
[with_widec=no])
AC_MSG_RESULT($with_widec)
test "$with_widec" = yes && AC_DEFINE(USE_WIDEC_SUPPORT)
### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
AC_MSG_CHECKING(if you want experimental xmc code)
AC_ARG_ENABLE(xmc-glitch,
[ --enable-xmc-glitch compile with experimental xmc code],
[with_xmc_glitch=$enableval],
[with_xmc_glitch=$with_develop])
AC_MSG_RESULT($with_xmc_glitch)
test "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
###############################################################################
CF_HELP_MESSAGE(Testing/development Options:)
### use option --disable-echo to suppress full display compiling commands
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 $@ ... ;'
fi
AC_SUBST(ECHO_LINK)
### use option --enable-warnings to turn on all gcc warnings
AC_ARG_ENABLE(warnings,
[ --enable-warnings build: turn on GCC compiler warnings],
[with_warnings=$enableval])
if test -n "$with_warnings"; then
ADAFLAGS="$ADAFLAGS -gnatg"
CF_GCC_WARNINGS
fi
CF_GCC_ATTRIBUTES
### use option --enable-assertions to turn on generation of assertion code
AC_ARG_ENABLE(assertions,
[ --enable-assertions test: turn on generation of assertion code],
[with_assertions=$enableval],
[with_assertions=no])
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
AC_ARG_ENABLE(leaks,
[ --disable-leaks test: suppress permanent memory-leaks],
[test $enableval = no && AC_DEFINE(NO_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)])
### 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
MATH_LIB=""
AC_CHECK_FUNC(sin,,
AC_CHECK_LIB(m, sin,[MATH_LIB="-lm"]))
AC_SUBST(MATH_LIB)
### Checks for header files.
AC_STDC_HEADERS
AC_HEADER_DIRENT
CF_REGEX
dnl These are some other potentially nonportable headers.
AC_CHECK_HEADERS( \
fcntl.h \
getopt.h \
libc.h \
limits.h \
locale.h \
sys/bsdtypes.h \
sys/ioctl.h \
sys/param.h \
poll.h \
sys/select.h \
sys/stropts.h \
sys/time.h \
sys/times.h \
termio.h \
termios.h \
ttyent.h \
unistd.h \
values.h \
)
PROG_EXT=
case $cf_cv_system_name in
hpux*)
# check for HPUX's ANSI compiler
if test -z "$GCC"; then
AC_MSG_CHECKING([for HP/UX ANSI compiler])
cf_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Aa"
AC_TRY_COMPILE([],[void (*f)(void)=0],[cf_hpux_cc=yes],[cf_hpux_cc=no])
AC_MSG_RESULT($cf_hpux_cc)
if test $cf_hpux_cc = yes; then
AC_DEFINE(_HPUX_SOURCE)
else
CFLAGS="$cf_save_CFLAGS"
fi
fi
;;
os2*)
# We make sure -Zexe is not used -- it would interfere with @PROG_EXT@
CFLAGS="$CFLAGS -Zmt -D__ST_MT_ERRNO__"
LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed "s/-Zexe//g"`
PROG_EXT=".exe"
;;
esac
AC_SUBST(PROG_EXT)
# 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()'
AC_CHECK_HEADERS( sys/termio.h )
fi
CF_SYS_TIME_SELECT
### checks for compiler characteristics
AC_LANG_C
AC_C_CONST
AC_C_INLINE
test $ac_cv_c_inline != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
CF_TYPEOF_CHTYPE
CF_WIDEC_SHIFT
### Checks for external-data
CF_ERRNO
CF_LINK_DATAONLY
CF_SPEED_TYPE
### Checks for library functions.
AC_CHECK_FUNCS( \
getttynam \
memccpy \
nanosleep \
poll \
remove \
select \
setbuf \
setbuffer \
setvbuf \
sigaction \
sigvec \
strdup \
tcgetattr \
times \
usleep \
vfscanf \
vsnprintf \
vsscanf \
)
if test "$with_getcap" = "yes" ; then
CF_CGETENT
fi
CF_ISASCII
CF_STRUCT_SIGACTION
CF_STRUCT_TERMIOS
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
dnl FIXME checks we don't do (but neither does the old Configure script):
case "$cf_cv_system_name" in
linux*)
AC_DEFINE(GOOD_SELECT)
;;
esac
dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
if test -z "$cf_user_CFLAGS" ; then
CF_STRIP_G_OPT(CFLAGS)
CF_STRIP_G_OPT(CXXFLAGS)
fi
dnl Check for C++ compiler characteristics (and ensure that it's there!)
if test -n "$CXX" ; then
AC_CHECK_PROG(CXX_EXISTS, $CXX, yes, no)
else
ac_cv_prog_CXX_EXISTS=no
fi
if test "$ac_cv_prog_CXX_EXISTS" = yes; then
AC_LANG_CPLUSPLUS
CF_CXX_LIBRARY
AC_CHECK_HEADERS(builtin.h typeinfo)
CF_BOOL_DECL
CF_BOOL_SIZE
else
cf_cxx_library=no
AC_CACHE_VAL(cf_cv_builtin_bool,[cf_cv_builtin_bool=0])
AC_CACHE_VAL(cf_cv_sizeof_bool,[cf_cv_sizeof_bool=int])
fi
AC_SUBST(CXXLIBS)
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.
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
ac_cv_prog_gnat_correct=no
echo Ada95 binding required program m4 not found. Ada95 binding disabled.
fi
fi
if test "$ac_cv_prog_gnat_correct" = yes; then
ADAFLAGS="-O3 $ADAFLAGS"
cf_ada_compiler=gcc
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)
CF_WITH_PATH(ada-include,
[ --with-ada-include=DIR Ada includes are in DIR],
ADA_INCLUDE,
EPREFIX/ada_include,
[$]exec_prefix/ada_include)
AC_SUBST(ADA_INCLUDE)
CF_WITH_PATH(ada-objects,
[ --with-ada-objects=DIR Ada objects are in DIR],
ADA_OBJECTS,
EPREFIX/ada_objects,
[$]exec_prefix/ada_objects)
AC_SUBST(ADA_OBJECTS)
fi
### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
### using a 'char' for bools. gcc 2.7.0's conversion-warnings are broken too
### badly to consider using for development purposes, but 2.5.8 is okay.
if test -n "$with_warnings"; then
if test -n "$GCC"; then
case "`$CC --version`" in
2.6.3)
if test "$cf_cv_sizeof_bool" != "char"; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
fi
;;
2.5*)
EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
;;
esac
fi
fi
### Construct the library-subsets, if any, from this set of keywords:
### none, base, ext_funcs, termlib.
AC_MSG_CHECKING(for library subsets)
if test "$with_termlib" = yes ; then
LIB_SUBSETS="termlib "
else
LIB_SUBSETS="termlib+"
fi
LIB_SUBSETS="${LIB_SUBSETS}base"
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
### Set up low-level terminfo dependencies for makefiles. Note that we
### could override this.
if test "$with_termlib" = yes ; then
TEST_DEPS="${LIB_PREFIX}${TINFO_NAME}${DFT_DEP_SUFFIX}"
TEST_ARGS="-l${TINFO_NAME}${DFT_ARG_SUFFIX}"
fi
PROG_DEPS="$TEST_DEPS"
PROG_ARGS="$TEST_ARGS"
### Construct the list of subdirectories for which we'll customize makefiles
### with the appropriate compile-rules.
CF_SRC_MODULES($modules_to_build)
CF_DIRS_TO_MAKE
### Now that we're done running tests, add the compiler-warnings, if any
CFLAGS="$CFLAGS $EXTRA_CFLAGS"
################################################################################
AC_OUTPUT( \
include/MKterm.h.awk \
include/curses.h \
include/termcap.h \
include/unctrl.h \
$SUB_MAKEFILES \
Makefile,[
CF_LIB_RULES
],[
### Special initialization commands, used to pass information from the
### configuration-run into config.status
AWK="$AWK"
CF_LIST_MODELS="$cf_list_models"
DFT_LWR_MODEL="$DFT_LWR_MODEL"
LDCONFIG="$LDCONFIG"
LIB_NAME="$LIB_NAME"
LIB_SUBSETS="$LIB_SUBSETS"
SRC_SUBDIRS="$SRC_SUBDIRS"
TINFO_NAME="$TINFO_NAME"
WITH_ECHO="$with_echo"
WITH_OVERWRITE="$with_overwrite"
cf_cv_abi_version="$cf_cv_abi_version"
cf_cv_do_symlinks="$cf_cv_do_symlinks"
cf_cv_rel_version="$cf_cv_rel_version"
cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
cf_cv_system_name="$cf_cv_system_name"
cf_cxx_library="$cf_cxx_library"
target="$target"
],sort)dnl
${MAKE-make} preinstall