X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=configure.in;h=0cd345e1ba475e6f6e62278344fd9e86a4d3cfba;hb=b1f61d9f3aa244512045a6b02e759825d7049d34;hp=4ccaceeedab424e368b233533428457d2f2bad00;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1;p=ncurses.git diff --git a/configure.in b/configure.in index 4ccaceee..0cd345e1 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl*************************************************************************** -dnl Copyright (c) 1998 Free Software Foundation, Inc. * +dnl Copyright (c) 1998,1999 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 * @@ -28,11 +28,11 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1996,1997 dnl -dnl $Id: configure.in,v 1.126 1998/02/12 23:10:43 tom Exp $ +dnl $Id: configure.in,v 1.195 2000/07/05 22:24:29 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_PREREQ(2.12.971230) +AC_REVISION($Revision: 1.195 $) +AC_INIT(ncurses/base/lib_initscr.c) AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin) CF_SUBST_NCURSES_VERSION @@ -83,27 +83,62 @@ if test -n "$GCC" ; then AC_MSG_CHECKING(version of gcc) eval "$CC --version" fi +if test $host != $build; then + AC_CHECK_PROGS(BUILD_CC, $CC gcc cc) +fi AC_PROG_CPP AC_PROG_GCC_TRADITIONAL AC_ISC_POSIX -AC_PATH_PROG(LDCONFIG,ldconfig,,$PATH:/sbin:/usr/sbin) +CF_ANSI_CC_REQD +CF_PROG_EXT + +case "$cf_cv_system_name" in +freebsd*) #(vi + test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R" + ;; +*) LDPATH=$PATH:/sbin:/usr/sbin + AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH) + ;; +esac +AC_SUBST(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 build with C++) +AC_MSG_CHECKING(if you want to ensure bool is consistent with C++) AC_ARG_WITH(cxx, - [ --without-cxx suppress check for C++, don't build demo], + [ --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 -AC_PROG_CXX +if test "X$cf_with_cxx" = Xno ; then + CXX="" + GXX="" +else + pushdef([AC_MSG_ERROR], + [AC_MSG_RESULT([You don't have any C++ compiler, too bad]); dnl + cf_with_cxx=no; CXX=""; GXX="";])dnl + AC_PROG_CXX + popdef([AC_MSG_ERROR])dnl 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 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)], @@ -133,7 +168,6 @@ 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 @@ -150,6 +184,9 @@ AC_ARG_WITH(install-prefix, AC_MSG_RESULT($INSTALL_PREFIX) AC_SUBST(INSTALL_PREFIX) +############################################################################### +CF_MAN_PAGES + ############################################################################### CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:) @@ -157,6 +194,7 @@ CF_HELP_MESSAGE(Options to Specify the Libraries Built/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") AC_MSG_CHECKING(if you want to build shared libraries) AC_ARG_WITH(shared, @@ -190,6 +228,39 @@ AC_ARG_WITH(profile, AC_MSG_RESULT($with_profile) test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile" +############################################################################### + +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. +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") + +TINFO_NAME=tinfo +AC_SUBST(TINFO_NAME) + +LIB_NAME=ncurses +AC_SUBST(LIB_NAME) + +LIB_DIR=../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], @@ -201,7 +272,7 @@ AC_MSG_RESULT($with_termlib) 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=$withval], [with_dbmalloc=no]) AC_MSG_RESULT($with_dbmalloc) if test $with_dbmalloc = yes ; then @@ -211,75 +282,44 @@ 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=$withval], [with_dmalloc=no]) AC_MSG_RESULT($with_dmalloc) if test $with_dmalloc = yes ; then AC_CHECK_LIB(dmalloc,dmalloc_debug) fi +SHLIB_LIST="" 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=$withval], [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 " + EXTRA_LIBS="-lgpm -lncurses $EXTRA_LIBS" + SHLIB_LIST="-lgpm $SHLIB_LIST" AC_DEFINE(HAVE_LIBGPM) AC_CHECK_HEADERS(gpm.h) - ],,-lcurses -ltermcap) + ],AC_MSG_WARN(Cannot link with gpm library - read the FAQ)) 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='' + 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}${ac_cv_prog_gxx_g}" != yes && CXX_G_OPT='' + 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 normal) LD_MODEL='' ;; debug) LD_MODEL=$CC_G_OPT ;; @@ -287,6 +327,7 @@ 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) AC_MSG_CHECKING(if rpath option should be used) AC_ARG_ENABLE(rpath, @@ -296,7 +337,6 @@ AC_ARG_ENABLE(rpath, 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 @@ -312,15 +352,9 @@ CF_HELP_MESSAGE(Fine-Tuning Your Configuration:) 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=$enableval], [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, @@ -330,35 +364,43 @@ AC_ARG_ENABLE(database, 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/,/ /'` +FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'` AC_SUBST(FALLBACK_LIST) +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") + 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 +### 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, - [ --enable-big-core assume machine has lots of memory], + [ --disable-big-core assume machine has little memory], [with_big_core=$enableval], - [with_big_core=no]) + [AC_TRY_RUN([ +#include +#include +int main() { exit(malloc(6000000L) == 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) @@ -395,14 +437,7 @@ 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 ) +CF_LINK_FUNCS with_links=no with_symlinks=no @@ -435,6 +470,15 @@ 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]) +AC_MSG_RESULT($with_broken_linker) +test "$with_broken_linker" = yes && AC_DEFINE(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, @@ -444,6 +488,33 @@ AC_ARG_ENABLE(bsdpad, AC_MSG_RESULT($with_bsdpad) test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS) +### 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_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 + AC_DEFINE(HAVE_HAS_KEY) + AC_DEFINE(HAVE_RESIZETERM) + AC_DEFINE(HAVE_USE_DEFAULT_COLORS) + AC_DEFINE(HAVE_WRESIZE) + AC_DEFINE(NCURSES_EXT_FUNCS) +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, @@ -451,16 +522,49 @@ AC_ARG_ENABLE(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) +NCURSES_CONST="" +if test "$with_ext_const" = yes ; then + AC_DEFINE(NCURSES_CONST,const) + NCURSES_CONST=const +fi +AC_SUBST(NCURSES_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) +### 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, + [ --enable-hashmap compile with hashmap scrolling-optimization code], + [with_hashmap=$enableval], + [with_hashmap=yes]) +AC_MSG_RESULT($with_hashmap) +test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP) + +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) + +### 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) ############################################################################### CF_HELP_MESSAGE(Experimental Code:) @@ -471,6 +575,15 @@ AC_ARG_WITH(develop, [with_develop=no]) AC_MSG_RESULT($with_develop) +### use option --enable-colorfgbg to turn on use of $COLORFGBG environment +AC_MSG_CHECKING(if you want experimental colorfgbg code) +AC_ARG_ENABLE(hard-tabs, + [ --enable-colorfgbg compile with experimental \$COLORFGBG code], + [with_colorfgbg=$enableval], + [with_colorfgbg=$with_develop]) +AC_MSG_RESULT($with_colorfgbg) +test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG) + ### 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, @@ -480,40 +593,25 @@ AC_ARG_ENABLE(hard-tabs, 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], + [ --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 hashmap without scroll-hints code], + [ --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) - -### 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) +fi ### use option --enable-widec to turn on use of wide-character support AC_MSG_CHECKING(if you want experimental wide-character code) @@ -522,7 +620,10 @@ AC_ARG_ENABLE(widec, [with_widec=$enableval], [with_widec=no]) AC_MSG_RESULT($with_widec) -test "$with_widec" = yes && AC_DEFINE(USE_WIDEC_SUPPORT) +if test "$with_widec" = yes ; then + LIB_SUFFIX="w${LIB_SUFFIX}" + AC_DEFINE(USE_WIDEC_SUPPORT) +fi ### use option --enable-xmc-glitch to turn on use of magic-cookie optimize AC_MSG_CHECKING(if you want experimental xmc code) @@ -598,9 +699,7 @@ 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"])) +CF_MATH_LIB(MATH_LIB,sin(x)) AC_SUBST(MATH_LIB) ### Checks for header files. @@ -615,47 +714,20 @@ getopt.h \ libc.h \ limits.h \ locale.h \ +poll.h \ sys/bsdtypes.h \ sys/ioctl.h \ sys/param.h \ -poll.h \ +sys/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 to declare fd_set if test "$ISC" = yes ; then @@ -682,8 +754,10 @@ CF_SPEED_TYPE ### Checks for library functions. AC_CHECK_FUNCS( \ +getcwd \ getttynam \ memccpy \ +mkstemp \ nanosleep \ poll \ remove \ @@ -694,14 +768,14 @@ setvbuf \ sigaction \ sigvec \ strdup \ +strstr \ tcgetattr \ +tcgetpgrp \ times \ -usleep \ vfscanf \ vsnprintf \ vsscanf \ ) - if test "$with_getcap" = "yes" ; then CF_CGETENT fi @@ -719,13 +793,8 @@ 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 +CF_FUNC_MEMMOVE +CF_FUNC_POLL dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS if test -z "$cf_user_CFLAGS" ; then @@ -734,21 +803,51 @@ if test -z "$cf_user_CFLAGS" ; then fi dnl Check for C++ compiler characteristics (and ensure that it's there!) +CF_BOOL_DECL(cf_cv_cc_bool_type) 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_STDCPP_LIBRARY + case "`${CXX-g++} --version`" in + 1*|2.[0-6]*) + cf_cxx_library=yes + ;; + 2.7*) + CF_GPP_LIBRARY + ;; + *) + cf_cxx_library=no + ;; + esac + AC_CHECK_HEADERS(typeinfo) CF_BOOL_DECL CF_BOOL_SIZE + CF_ETIP_DEFINES + CF_CPP_PARAM_INIT + case $cf_cv_system_name in #(vi + sco3.2v5*) + CXXLDFLAGS="-u main" + ;; + esac + AC_SUBST(CXXLDFLAGS) 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]) + 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. + + 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 AC_SUBST(CXXLIBS) @@ -756,6 +855,7 @@ 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 "$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 @@ -764,13 +864,31 @@ 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 + 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 "$ac_cv_prog_gnat_correct" = yes; then - ADAFLAGS="-O3 $ADAFLAGS" - cf_ada_compiler=gcc +if test "$cf_cv_prog_gnat_correct" = yes; then + ADAFLAGS="-O3 -gnatpn $ADAFLAGS" + + 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) @@ -778,21 +896,28 @@ if test "$ac_cv_prog_gnat_correct" = yes; then AC_SUBST(cf_ada_package) AC_SUBST(ADAFLAGS) AC_SUBST(cf_compile_generics) + AC_SUBST(cf_generic_objects) CF_WITH_PATH(ada-include, [ --with-ada-include=DIR Ada includes are in DIR], ADA_INCLUDE, - EPREFIX/ada_include, - [$]exec_prefix/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, - EPREFIX/ada_objects, - [$]exec_prefix/ada_objects) + PREFIX/lib/ada/adalib, + [$]prefix/lib/ada/adalib) AC_SUBST(ADA_OBJECTS) +# This has been fixed! +# if test $with_shared = no +# then +# AC_MSG_WARN(Ada95 applications will not link properly with static libraries) +# fi +fi fi ### It's not possible to appease gcc 2.6.3's conversion-warnings if we're @@ -802,7 +927,7 @@ 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 + if test "$cf_cv_type_of_bool" != "char"; then EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion" fi ;; @@ -825,14 +950,50 @@ LIB_SUBSETS="${LIB_SUBSETS}base" test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs" AC_MSG_RESULT($LIB_SUBSETS) +LIB_TRACING=DEBUG +case "$CFLAGS" in +*-DTRACE*) + LIB_TRACING=all + ;; +esac + ### 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 +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) + +TINFO_LIST="$SHLIB_LIST" +test $with_termlib = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}" + +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) + +AC_SUBST(EXTRA_LIBS) +AC_SUBST(TINFO_LIST) +AC_SUBST(SHLIB_LIST) + ### 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_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_NAME}${DFT_DEP_SUFFIX}" TEST_ARGS="-l${TINFO_NAME}${DFT_ARG_SUFFIX}" fi PROG_DEPS="$TEST_DEPS" @@ -865,7 +1026,9 @@ CF_LIST_MODELS="$cf_list_models" DFT_LWR_MODEL="$DFT_LWR_MODEL" LDCONFIG="$LDCONFIG" LIB_NAME="$LIB_NAME" +LIB_SUFFIX="$LIB_SUFFIX" LIB_SUBSETS="$LIB_SUBSETS" +LIB_TRACING="$LIB_TRACING" SRC_SUBDIRS="$SRC_SUBDIRS" TINFO_NAME="$TINFO_NAME" WITH_ECHO="$with_echo" @@ -875,7 +1038,8 @@ 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" +cf_with_cxx_binding="$cf_with_cxx_binding" +cf_cv_shlib_version="$cf_cv_shlib_version" target="$target" ],sort)dnl