summaryrefslogtreecommitdiffstats
path: root/contrib/nvi/build/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/nvi/build/configure.in')
-rw-r--r--contrib/nvi/build/configure.in725
1 files changed, 725 insertions, 0 deletions
diff --git a/contrib/nvi/build/configure.in b/contrib/nvi/build/configure.in
new file mode 100644
index 0000000..cb8e463
--- /dev/null
+++ b/contrib/nvi/build/configure.in
@@ -0,0 +1,725 @@
+dnl @(#)configure.in 8.134 (Berkeley) 10/15/96
+
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(../common/main.c)
+AC_CONFIG_HEADER(config.h)
+
+dnl Configure setup.
+AC_PROG_INSTALL()
+AC_CANONICAL_HOST
+AC_ARG_PROGRAM()
+
+dnl If the user wants a debugging environment, set OPTFLAG now. (Some
+dnl compilers won't mix optimizing and debug flags.)
+AC_MSG_CHECKING(if --enable-debug option specified)
+AC_ARG_ENABLE(debug,
+ [ --enable-debug Build a debugging version.],
+ [vi_cv_debug="yes"], [vi_cv_debug="no"])
+if test "$vi_cv_debug" = yes; then
+ AC_DEFINE(DEBUG)
+ OPTFLAG=${OPTFLAG-"-g"}
+ no_op_OPTFLAG=${no_op_OPTFLAG-"-g"}
+fi
+AC_MSG_RESULT($vi_cv_debug)
+
+dnl This is where we handle stuff that autoconf can't handle.
+dnl XXX
+dnl Don't override anything if it's already set from the environment.
+
+dnl Compiler, preprocessor and load flags.
+dnl AUX: -ZP disables _BSD_SOURCE et al, but enables POSIX at link time.
+dnl LynxOS: We check for gcc 2.x or better, the gcc 1 that was shipped with
+dnl LynxOS historically wasn't good enough.
+AC_SUBST(CPPFLAGS)
+case "$host_os" in
+aix3.2.5) OPTFLAG=${OPTFLAG-"-O"};;
+aix4.1*) CFLAGS=${CFLAGS-"-qstrict"}
+ OPTFLAG=${OPTFLAG-"-O3"};;
+aux*) CPPFLAGS=${CPPFLAGS-"-ZP -D_BSD_SOURCE -D_SYSV_SOURCE -D_AUX_SOURCE"}
+ LDFLAGS=${LDFLAGS-"-ZP"}
+ OPTFLAG=${OPTFLAG-"-O"};;
+bsd4.4) OPTFLAG=${OPTFLAG-"-O2"};;
+bsdi*) CC=${CC-"shlicc"}
+ OPTFLAG=${OPTFLAG-"-O2"};;
+irix6*) OPTFLAG=${OPTFLAG-"-O2"};;
+irix*) OPTFLAG=${OPTFLAG-"-O2"};;
+lynxos*) AC_PROG_CC()
+ AC_MSG_CHECKING([for GNU C (gcc) version 2.x])
+ ac_cv_gcc_vers=`${CC-cc} -v 2>&1 | \
+ grep "gcc version " | sed 's/.*version //'`
+ ac_cv_gcc_major=`echo "$ac_cv_gcc_vers" | sed 's/\..*//'`
+ if test "$ac_cv_gcc_major" = "2" ; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ echo "Fatal error: Nvi requires gcc 2.x to build on LynxOS."
+ echo "See build/README.LynxOS for more information."
+ exit 1
+ fi;;
+nextstep3) CPPFLAGS=${CPPFLAGS-"-w -pipe -posix"}
+ LDFLAGS=${LDFLAGS-"-posix"}
+ OPTFLAG=${OPTFLAG-"-O9"};;
+osf*) CFLAGS=${CFLAGS-"-Olimit 1000"};;
+solaris*) no_op_OPTFLAG=${no_op_OPTFLAG-""};;
+sunos*) no_op_OPTFLAG=${no_op_OPTFLAG-""};;
+esac
+
+dnl The default compiler is cc.
+AC_SUBST(CC)
+CC=${CC-cc}
+
+dnl The default OPTFLAG is -O
+AC_SUBST(OPTFLAG)
+OPTFLAG=${OPTFLAG-"-O"}
+
+dnl The SunOS/Solaris compiler can't optimize vi/v_txt.c; the symptom is
+dnl that the command 35i==<esc> turns into an infinite loop.
+AC_SUBST(no_op_OPTFLAG)
+no_op_OPTFLAG=${no_op_OPTFLAG-"$OPTFLAG"}
+
+dnl Libraries.
+case "$host_os" in
+bsdi2.1) LIBS=${LIBS-"-lipc"};;
+dgux*) LIBS=${LIBS-"-ldgc"};;
+irix6*) LIBS=${LIBS-"-lbsd"};;
+irix*) LIBS=${LIBS-"-lc_s -lbsd"};;
+isc*) LIBS=${LIBS-"-lcposix -linet"};;
+netbsd1*) LIBS=${LIBS-"-lcrypt"};;
+ptx*) LIBS=${LIBS-"-lseq -linet -lsocket"};;
+sco3.2*) LIBS=${LIBS-"-lsocket"};;
+sinix*) LIBS=${LIBS-"-lelf -lc"};;
+solaris*) LIBS=${LIBS-"-lsocket -lnsl -ldl"}
+ RLIBS=yes;;
+wgs*) LIBS=${LIBS-"-lnsl"};;
+esac
+
+dnl A/UX has a broken getopt(3), strpbrk(3).
+case "$host_os" in
+aux*) LIBOBJS="getopt.o strpbrk.o $LIBOBJS";;
+esac
+
+dnl Ultrix has a broken POSIX.1 VDISABLE value.
+case "$host_os" in
+ultrix*) AC_DEFINE(HAVE_BROKEN_VDISABLE);;
+esac
+
+dnl The user may have additional CPP information.
+CPPFLAGS="$ADDCPPFLAGS $CPPFLAGS"
+
+dnl The user may have additional load line information.
+LDFLAGS="$ADDLDFLAGS $LDFLAGS"
+
+dnl The user may have additional library information.
+LIBS="$ADDLIBS $LIBS"
+
+dnl Check to see if it's going to work.
+AM_SANITY_CHECK_CC
+
+dnl Checks for programs.
+PATH="$PATH:/usr/bin:/usr/sbin:/sbin:/etc:/usr/etc:/usr/lib:/usr/ucblib:"
+
+dnl Check for the shell path.
+AC_PATH_PROG(vi_cv_path_shell, sh, no)
+if test "$vi_cv_path_shell" = no; then
+ echo "Fatal error: the shell utility not found."
+ exit 1
+fi
+
+dnl Check for the sendmail path.
+AC_PATH_PROG(vi_cv_path_sendmail, sendmail, no)
+if test "$vi_cv_path_sendmail" = no; then
+ echo "WARNING: The sendmail utility was not found!"
+ echo "WARNING: Users will not be told of saved files."
+fi
+
+dnl Check for the perl5/perl path.
+AC_SUBST(vi_cv_path_perl)
+AC_PATH_PROGS(vi_cv_path_perl, perl5 perl, no)
+
+dnl Check for the "preserve" path.
+dnl Historically, nvi has used /var/tmp/vi.recover. The Linux filesystem
+dnl standard (FSSTND) uses /var/preserve; we add the vi.recover directory
+dnl beneath it so that we don't have name collisions with other editors.
+dnl Other systems have /var/preserve as well, so we test first for an already
+dnl existing name, and then use the first one that's writeable.
+AC_SUBST(vi_cv_path_preserve)
+AC_MSG_CHECKING(for preserve directory)
+AC_CACHE_VAL(vi_cv_path_preserve, [dnl
+ dirlist="/var/preserve /var/tmp /usr/tmp"
+ vi_cv_path_preserve=no
+ for i in $dirlist; do
+ if test -d $i/vi.recover; then
+ vi_cv_path_preserve=$i/vi.recover
+ break;
+ fi
+ done
+ if test "$vi_cv_path_preserve" = no; then
+ for i in $dirlist; do
+ if test -d $i -a -w $i; then
+ vi_cv_path_preserve=$i/vi.recover
+ break;
+ fi
+ done
+
+ fi])
+if test "$vi_cv_path_preserve" = no; then
+ echo "Fatal error: no writeable preserve directory found."
+ exit 1
+fi
+AC_MSG_RESULT($vi_cv_path_preserve)
+
+dnl Check for programs used for installation
+AC_PATH_PROG(vi_cv_path_chmod, chmod, missing_chmod)
+AC_PATH_PROG(vi_cv_path_cp, cp, missing_cp)
+AC_PATH_PROG(vi_cv_path_ln, ln, missing_ln)
+AC_PATH_PROG(vi_cv_path_mkdir, mkdir, missing_mkdir)
+AC_PATH_PROG(vi_cv_path_rm, rm, missing_rm)
+AC_PATH_PROG(vi_cv_path_strip, strip, missing_strip)
+
+dnl Checks for libraries.
+dnl Find the X libraries and includes.
+AC_PATH_X
+AC_SUBST(XINCS)
+if test "$no_x" != yes; then
+ if test "X$x_libraries" != "X"; then
+ if test "X$RLIBS" = "Xyes"; then
+ XLIBS="-R$x_libraries -L$x_libraries $XLIBS"
+ else
+ XLIBS="-L$x_libraries $XLIBS"
+ fi
+ fi
+ XLIBS="$XLIBS -lX11"
+ if test "X$x_includes" != "X"; then
+ XINCS="-I$x_includes"
+ fi
+fi
+
+dnl If the user wants a Perl interpreter in nvi, load it.
+AC_SUBST(shrpenv)
+AC_SUBST(vi_cv_perllib)
+AC_MSG_CHECKING(if --enable-perlinterp option specified)
+AC_ARG_ENABLE(perlinterp,
+ [ --enable-perlinterp Include a Perl interpreter in vi.],
+ [vi_cv_perlinterp="yes"], [vi_cv_perlinterp="no"])
+AC_MSG_RESULT($vi_cv_perlinterp)
+if test "$vi_cv_perlinterp" = "yes"; then
+ if test "$vi_cv_path_perl" = no; then
+ echo "Fatal error: no perl5 utility found."
+ exit 1
+ fi
+ $vi_cv_path_perl -e 'require 5.002' || {
+ echo "Fatal error: perl5 must be version 5.002 or later."
+ exit 1
+ }
+ $vi_cv_path_perl -e 'close(STDERR);require 5.003_01' &&
+ AC_DEFINE(HAVE_PERL_5_003_01)
+
+ eval `$vi_cv_path_perl -V:shrpenv`
+ if test "X$shrpenv" = "XUNKNOWN"; then # pre 5.003_04
+ shrpenv=""
+ fi
+ vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlib}'`
+ perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
+ -e 'ccflags;perl_inc'`
+ if test "X$perlcppflags" != "X"; then
+ CPPFLAGS="$perlcppflags $CPPFLAGS"
+ fi
+ perllibs=`cd $srcdir;$vi_cv_path_perl -MExtUtils::Embed \
+ -e 'ldopts'`
+ if test "X$perllibs" != "X"; then
+ LIBS="$perllibs $LIBS"
+ fi
+ perlldflags=`cd $srcdir;$vi_cv_path_perl -MExtUtils::Embed \
+ -e 'ccdlflags'`
+ if test "X$perlldflags" != "X"; then
+ LDFLAGS="$perlldflags $LDFLAGS"
+ fi
+ LIBOBJS="perl.o perlsfio.o $LIBOBJS"
+ AC_DEFINE(HAVE_PERL_INTERP)
+fi
+
+dnl If the user wants a Tk/Tcl front-end for nvi, build it.
+AC_SUBST(tknvi)
+AC_SUBST(TKLIBS)
+AC_MSG_CHECKING(if --enable-tknvi option specified)
+AC_ARG_ENABLE(tknvi,
+ [ --enable-tknvi Build a Tk/Tcl front-end for vi.],
+ [vi_cv_tknvi="yes"], [vi_cv_tknvi="no"])
+AC_MSG_RESULT($vi_cv_tknvi)
+if test "$vi_cv_tknvi" = "yes"; then
+ tknvi=tknvi
+ TKLIBS="-ltk -ltcl -lm $XLIBS $LIBS"
+fi
+
+dnl If the user wants a Tk/Tcl interpreter in nvi, load it.
+AC_MSG_CHECKING(if --enable-tclinterp option specified)
+AC_ARG_ENABLE(tclinterp,
+ [ --enable-tclinterp Include a Tk/Tcl interpreter in vi.],
+ [vi_cv_tclinterp="yes"], [vi_cv_tclinterp="no"])
+AC_MSG_RESULT($vi_cv_tclinterp)
+if test "$vi_cv_tclinterp" = "yes"; then
+ LIBOBJS="tcl.o $LIBOBJS"
+ LIBS="-ltk -ltcl -lm $XLIBS $LIBS"
+ AC_DEFINE(HAVE_TCL_INTERP)
+fi
+
+dnl Make sure that we can find a Tk/Tcl library.
+if test "$vi_cv_tknvi" = "yes" || test "$vi_cv_tclinterp" = "yes"; then
+ AC_CHECK_LIB(tcl, main,
+ [vi_cv_tkfatal="no"], [vi_cv_tkfatal="yes"], -ltk -lm)
+ if test "$vi_cv_tkfatal" = "yes"; then
+ echo "Fatal error: no Tk/Tcl library; see the section"
+ echo "ADDING LIBRARIES AND INCLUDE FILES in the README file."
+ exit 1
+ fi
+fi
+
+dnl Both Tcl/Tk and Perl interpreters need the vi api code.
+if test "$vi_cv_tclinterp" = yes || test "$vi_cv_perlinterp" = yes; then
+ LIBOBJS="api.o $LIBOBJS"
+fi
+
+dnl Check for the termcap/termlib library. Compile in nvi's curses routines
+dnl unless the user specifies otherwise. These two checks must occur in the
+dnl current order, and -lcurses must be loaded before -ltermcap/-ltermlib.
+AC_CHECK_LIB(termlib, tgetent,
+ [vi_cv_termlib=-ltermlib], [vi_cv_termlib=no])
+if test "$vi_cv_termlib" = no; then
+ AC_CHECK_LIB(termcap, tgetent,
+ [vi_cv_termlib=-ltermcap], [vi_cv_termlib=no])
+fi
+if test "$vi_cv_termlib" != no; then
+ LIBS="$vi_cv_termlib $LIBS"
+fi
+AC_SUBST(cobjs)
+AC_MSG_CHECKING(if --disable-curses option specified)
+AC_ARG_ENABLE(curses,
+ [ --disable-curses DON'T use the nvi-provided curses routines.],
+ [vi_cv_curses="other curses"], [vi_cv_curses="bundled curses"])
+AC_MSG_RESULT($vi_cv_curses)
+case "$vi_cv_curses" in
+"bundled curses")
+ CPPFLAGS="-I\$(srcdir)/curses $CPPFLAGS"
+ cobjs="\$(COBJS)";;
+"other curses")
+ LIBS="-lcurses $LIBS";;
+esac
+
+dnl Checks for header files.
+AC_MSG_CHECKING(for sys/mman.h)
+AC_CACHE_VAL(vi_cv_include_sys_mman, [dnl
+AC_TRY_CPP([#include <sys/mman.h>],
+ [vi_cv_include_sys_mman=yes], [vi_cv_include_sys_mman=no])])
+if test "$vi_cv_include_sys_mman" = yes; then
+ AC_DEFINE(HAVE_SYS_MMAN_H)
+fi
+AC_MSG_RESULT($vi_cv_include_sys_mman)
+
+AC_MSG_CHECKING(for sys/select.h)
+AC_CACHE_VAL(vi_cv_include_sys_select, [dnl
+AC_TRY_CPP([#include <sys/select.h>],
+ [vi_cv_include_sys_select=yes], [vi_cv_include_sys_select=no])])
+if test "$vi_cv_include_sys_select" = yes; then
+ AC_DEFINE(HAVE_SYS_SELECT_H)
+fi
+AC_MSG_RESULT($vi_cv_include_sys_select)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_CHECK_TYPE(ssize_t, int)
+AC_C_BIGENDIAN
+AC_C_CONST
+AC_STRUCT_ST_BLKSIZE
+AC_TYPE_MODE_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_STRUCT_TM
+
+dnl Checks for library functions.
+ AC_CHECK_FUNCS(bsearch gethostname getopt memchr memcpy memmove memset)
+AC_REPLACE_FUNCS(bsearch gethostname getopt memchr memcpy memmove memset)
+ AC_CHECK_FUNCS(mkstemp mmap snprintf strdup strerror strpbrk strtol)
+AC_REPLACE_FUNCS(mkstemp mmap snprintf strdup strerror strpbrk strtol)
+ AC_CHECK_FUNCS(strtoul vsnprintf)
+AC_REPLACE_FUNCS(strtoul vsnprintf)
+
+AC_CHECK_FUNCS(select)
+AC_CHECK_FUNCS(setenv, [need_env=no], [need_env=yes])
+AC_CHECK_FUNCS(strsep, [need_strsep=no], [need_strsep=yes])
+AC_CHECK_FUNCS(unsetenv,, [need_env=yes])
+
+AC_FUNC_MMAP
+AC_FUNC_VFORK
+
+dnl If we needed setenv or unsetenv, add in the clib/env.c replacement file.
+if test "$need_env" = yes; then
+ LIBOBJS="env.o $LIBOBJS"
+fi
+
+dnl If we need strsep, add it and define it so we get a prototype.
+if test "$need_strsep" = yes; then
+ LIBOBJS="strsep.o $LIBOBJS"
+fi
+
+dnl Check for fcntl/flock
+dnl Use flock preferentially, since it has cleaner semantics and won't
+dnl hang up the editor.
+dnl XXX
+dnl Ultrix has a broken fcntl, but a working flock.
+dnl IRIX and DGUX have a broken flock, but working fcntl.
+AC_MSG_CHECKING(for fcntl/flock)
+AC_CACHE_VAL(vi_cv_lock, [dnl
+ vi_cv_lock=none
+ case "$host_os" in
+ dgux*);;
+ irix*);;
+ *)
+ AC_TRY_LINK([#include <fcntl.h>], [flock(0, 0);],
+ [vi_cv_lock=flock]);;
+ esac
+ if test "$vi_cv_lock" = none; then
+ AC_TRY_LINK([#include <fcntl.h>], [fcntl(0, F_SETLK, 0);],
+ [vi_cv_lock=fcntl])
+ fi])
+
+if test "$vi_cv_lock" = flock; then
+ AC_DEFINE(HAVE_LOCK_FLOCK)
+fi
+if test "$vi_cv_lock" = fcntl; then
+ AC_DEFINE(HAVE_LOCK_FCNTL)
+fi
+AC_MSG_RESULT($vi_cv_lock)
+
+dnl Check for ftruncate/chsize
+AC_MSG_CHECKING(for ftruncate/chsize)
+AC_CACHE_VAL(vi_cv_ftruncate, [dnl
+AC_TRY_LINK([#include <unistd.h>], [ftruncate(0, 0);],
+ [vi_cv_ftruncate=ftruncate],
+AC_TRY_LINK([#include <unistd.h>], [chsize(0, 0);],
+ [vi_cv_ftruncate=chsize], [vi_cv_ftruncate=no]))])
+if test "$vi_cv_ftruncate" = ftruncate; then
+ AC_DEFINE(HAVE_FTRUNCATE_FTRUNCATE)
+fi
+if test "$vi_cv_ftruncate" = chsize; then
+ AC_DEFINE(HAVE_FTRUNCATE_CHSIZE)
+fi
+if test "$vi_cv_ftruncate" = no; then
+ echo
+ echo "Fatal error: no file truncation system call."
+ exit 1
+fi
+AC_MSG_RESULT($vi_cv_ftruncate)
+
+dnl Check for the tigetstr/tigetnum functions.
+AC_MSG_CHECKING(for tigetstr/tigetnum)
+AC_CACHE_VAL(vi_cv_have_curses_tigetstr, [dnl
+AC_TRY_LINK([#include <curses.h>], [tigetstr(0);],
+ [vi_cv_have_curses_tigetstr=yes],
+ [vi_cv_have_curses_tigetstr=no])])
+if test "$vi_cv_have_curses_tigetstr" = yes; then
+ AC_DEFINE(HAVE_CURSES_TIGETSTR)
+fi
+AC_MSG_RESULT($vi_cv_have_curses_tigetstr)
+
+dnl Check for potentially missing curses functions in system or user-specified
+dnl libraries. We also have to guess at whether the specified library is a
+dnl BSD or System V style curses. Use the newterm function, all System V
+dnl curses implementations have it, none, as far as I know, of the BSD ones do.
+if test "$vi_cv_curses" = "bundled curses"; then
+ AC_DEFINE(HAVE_BSD_CURSES)
+ AC_DEFINE(HAVE_CURSES_ADDNSTR)
+ AC_DEFINE(HAVE_CURSES_IDLOK)
+else
+ dnl Check for the addnstr function.
+ AC_MSG_CHECKING(for addnstr)
+ AC_CACHE_VAL(vi_cv_have_curses_addnstr, [dnl
+ AC_TRY_LINK([#include <curses.h>], [addnstr(0, 0);],
+ [vi_cv_have_curses_addnstr=yes],
+ [vi_cv_have_curses_addnstr=no])])
+ if test "$vi_cv_have_curses_addnstr" = yes; then
+ AC_DEFINE(HAVE_CURSES_ADDNSTR)
+ fi
+ AC_MSG_RESULT($vi_cv_have_curses_addnstr)
+
+ dnl Check for the beep function.
+ AC_MSG_CHECKING(for beep)
+ AC_CACHE_VAL(vi_cv_have_curses_beep, [dnl
+ AC_TRY_LINK([#include <curses.h>], [beep();],
+ [vi_cv_have_curses_beep=yes],
+ [vi_cv_have_curses_beep=no])])
+ if test "$vi_cv_have_curses_beep" = yes; then
+ AC_DEFINE(HAVE_CURSES_BEEP)
+ fi
+ AC_MSG_RESULT($vi_cv_have_curses_beep)
+
+ dnl Check for the flash function.
+ AC_MSG_CHECKING(for flash)
+ AC_CACHE_VAL(vi_cv_have_curses_flash, [dnl
+ AC_TRY_LINK([#include <curses.h>], [flash();],
+ [vi_cv_have_curses_flash=yes],
+ [vi_cv_have_curses_flash=no])])
+ if test "$vi_cv_have_curses_flash" = yes; then
+ AC_DEFINE(HAVE_CURSES_FLASH)
+ fi
+ AC_MSG_RESULT($vi_cv_have_curses_flash)
+
+ dnl Check for the idlok function.
+ AC_MSG_CHECKING(for idlok)
+ AC_CACHE_VAL(vi_cv_have_curses_idlok, [dnl
+ AC_TRY_LINK([#include <curses.h>], [idlok(0, 0);],
+ [vi_cv_have_curses_idlok=yes],
+ [vi_cv_have_curses_idlok=no])])
+ if test "$vi_cv_have_curses_idlok" = yes; then
+ AC_DEFINE(HAVE_CURSES_IDLOK)
+ fi
+ AC_MSG_RESULT($vi_cv_have_curses_idlok)
+
+ dnl Check for the keypad function.
+ AC_MSG_CHECKING(for keypad)
+ AC_CACHE_VAL(vi_cv_have_curses_keypad, [dnl
+ AC_TRY_LINK([#include <curses.h>], [keypad(0, 0);],
+ [vi_cv_have_curses_keypad=yes],
+ [vi_cv_have_curses_keypad=no])])
+ if test "$vi_cv_have_curses_keypad" = yes; then
+ AC_DEFINE(HAVE_CURSES_KEYPAD)
+ fi
+ AC_MSG_RESULT($vi_cv_have_curses_keypad)
+
+ dnl Check for the newterm function.
+ AC_MSG_CHECKING(for newterm)
+ AC_CACHE_VAL(vi_cv_have_curses_newterm, [dnl
+ AC_TRY_LINK([#include <curses.h>], [newterm(0, 0, 0);],
+ [vi_cv_have_curses_newterm=yes],
+ [vi_cv_have_curses_newterm=no])])
+ if test "$vi_cv_have_curses_newterm" = yes; then
+ AC_DEFINE(HAVE_CURSES_NEWTERM)
+ fi
+ AC_MSG_RESULT($vi_cv_have_curses_newterm)
+
+ if test "$vi_cv_have_curses_newterm" = no; then
+ AC_DEFINE(HAVE_BSD_CURSES)
+ fi
+fi
+
+dnl Check for the setupterm function. We make this check regardless of
+dnl using the system library, because it may be part of the underlying
+dnl termcap/termlib support, and we want to use the local one.
+AC_MSG_CHECKING(for setupterm)
+AC_CACHE_VAL(vi_cv_have_curses_setupterm, [dnl
+AC_TRY_LINK([#include <curses.h>], [setupterm(0, 0, 0);],
+ [vi_cv_have_curses_setupterm=yes],
+ [vi_cv_have_curses_setupterm=no])])
+if test "$vi_cv_have_curses_setupterm" = yes; then
+ AC_DEFINE(HAVE_CURSES_SETUPTERM)
+fi
+AC_MSG_RESULT($vi_cv_have_curses_setupterm)
+
+dnl Some moron decided to drop off an argument from the gettimeofday call,
+dnl without changing the name.
+AC_MSG_CHECKING(for broken gettimeofday system call)
+AC_CACHE_VAL(vi_cv_gettimeofday, [dnl
+AC_TRY_LINK([#include <sys/types.h>
+#include <sys/time.h>], [gettimeofday(0, 0);],
+ [vi_cv_gettimeofday=okay], [vi_cv_gettimeofday=broken])])
+if test "$vi_cv_gettimeofday" = broken; then
+ AC_DEFINE(HAVE_BROKEN_GETTIMEOFDAY)
+fi
+AC_MSG_RESULT($vi_cv_gettimeofday)
+
+dnl Check for which version of openpty to use, System V or Berkeley.
+AC_MSG_CHECKING(for System V pty calls)
+AC_CACHE_VAL(vi_cv_sys5_pty, [dnl
+AC_TRY_LINK(, [grantpt(0);],
+ [vi_cv_sys5_pty=yes], [vi_cv_sys5_pty=no])])
+if test "$vi_cv_sys5_pty" = yes; then
+ AC_DEFINE(HAVE_SYS5_PTY)
+fi
+AC_MSG_RESULT($vi_cv_sys5_pty)
+
+dnl Check for the revoke system call.
+AC_MSG_CHECKING(for revoke system call)
+AC_CACHE_VAL(vi_cv_revoke, [dnl
+AC_TRY_LINK(, [revoke("a");],
+ [vi_cv_revoke=yes], [vi_cv_revoke=no])])
+if test "$vi_cv_revoke" = yes; then
+ AC_DEFINE(HAVE_REVOKE)
+fi
+AC_MSG_RESULT($vi_cv_revoke)
+
+dnl Some versions of sprintf return a pointer to the first argument instead
+dnl of a character count. We assume that the return value of snprintf and
+dnl vsprintf etc. will be the same as sprintf, and check the easy one.
+AC_MSG_CHECKING(for int type sprintf return value)
+AC_CACHE_VAL(vi_cv_sprintf_count, [dnl
+AC_TRY_RUN([main(){char buf[20]; exit(sprintf(buf, "XXX") != 3);}],
+ [vi_cv_sprintf_count=yes], [vi_cv_sprintf_count=no])])
+if test "$vi_cv_sprintf_count" = no; then
+ AC_DEFINE(SPRINTF_RET_CHARPNT)
+fi
+AC_MSG_RESULT($vi_cv_sprintf_count)
+
+dnl We compile in nvi's DB routines unless the user specifies otherwise.
+AC_MSG_CHECKING(if --disable-db option specified)
+AC_ARG_ENABLE(db,
+ [ --disable-db DON'T use the nvi-provided DB routines.],
+ [vi_cv_db_lib="other DB"], [vi_cv_db_lib="bundled DB"])
+AC_MSG_RESULT($vi_cv_db_lib)
+case "$vi_cv_db_lib" in
+"bundled DB")
+ CPPFLAGS="-I\$(srcdir)/db/include $CPPFLAGS"
+ LIBOBJS="\$(DBOBJS) $LIBOBJS";;
+"other DB")
+ ;;
+esac
+
+dnl We compile in nvi's RE routines unless the user specifies otherwise.
+AC_MSG_CHECKING(if --disable-re option specified)
+AC_ARG_ENABLE(re,
+ [ --disable-re DON'T use the nvi-provided RE routines.],
+ [vi_cv_re_lib="other RE"], [vi_cv_re_lib="bundled RE"])
+AC_MSG_RESULT($vi_cv_re_lib)
+case "$vi_cv_re_lib" in
+"bundled RE")
+ CPPFLAGS="-I\$(srcdir)/regex $CPPFLAGS"
+ LIBOBJS="\$(REOBJS) $LIBOBJS";;
+"other RE")
+ ;;
+esac
+
+dnl Check for the standard shorthand types.
+AC_SUBST(u_char_decl)
+AC_MSG_CHECKING(for u_char)
+AC_CACHE_VAL(vi_cv_uchar, [dnl
+AC_TRY_COMPILE([#include <sys/types.h>], u_char foo;,
+ [vi_cv_uchar=yes], [vi_cv_uchar=no])])
+AC_MSG_RESULT($vi_cv_uchar)
+if test "$vi_cv_uchar" = no; then
+ u_char_decl="typedef unsigned char u_char;"
+fi
+
+AC_SUBST(u_short_decl)
+AC_MSG_CHECKING(for u_short)
+AC_CACHE_VAL(vi_cv_ushort, [dnl
+AC_TRY_COMPILE([#include <sys/types.h>], u_short foo;,
+ [vi_cv_ushort=yes], [vi_cv_ushort=no])])
+AC_MSG_RESULT($vi_cv_ushort)
+if test "$vi_cv_ushort" = no; then
+ u_short_decl="typedef unsigned short u_short;"
+fi
+
+AC_SUBST(u_int_decl)
+AC_MSG_CHECKING(for u_int)
+AC_CACHE_VAL(vi_cv_uint, [dnl
+AC_TRY_COMPILE([#include <sys/types.h>], u_int foo;,
+ [vi_cv_uint=yes], [vi_cv_uint=no])])
+AC_MSG_RESULT($vi_cv_uint)
+if test "$vi_cv_uint" = no; then
+ u_int_decl="typedef unsigned int u_int;"
+fi
+
+AC_SUBST(u_long_decl)
+AC_MSG_CHECKING(for u_long)
+AC_CACHE_VAL(vi_cv_ulong, [dnl
+AC_TRY_COMPILE([#include <sys/types.h>], u_long foo;,
+ [vi_cv_ulong=yes], [vi_cv_ulong=no])])
+AC_MSG_RESULT($vi_cv_ulong)
+if test "$vi_cv_ulong" = no; then
+ u_long_decl="typedef unsigned long u_long;"
+fi
+
+dnl DB/Vi use specific integer sizes.
+AC_SUBST(u_int8_decl)
+AC_MSG_CHECKING(for u_int8_t)
+AC_CACHE_VAL(vi_cv_uint8, [dnl
+AC_TRY_COMPILE([#include <sys/types.h>], u_int8_t foo;,
+ [vi_cv_uint8=yes],
+AC_TRY_RUN([main(){exit(sizeof(unsigned char) != 1);}],
+ [vi_cv_uint8="unsigned char"], [vi_cv_uint8=no]))])
+AC_MSG_RESULT($vi_cv_uint8)
+if test "$vi_cv_uint8" = no; then
+ echo
+ echo "Fatal error: no unsigned, 8-bit integral type."
+ exit 1
+fi
+if test "$vi_cv_uint8" != yes; then
+ u_int8_decl="typedef $vi_cv_uint8 u_int8_t;"
+fi
+
+AC_SUBST(u_int16_decl)
+AC_MSG_CHECKING(for u_int16_t)
+AC_CACHE_VAL(vi_cv_uint16, [dnl
+AC_TRY_COMPILE([#include <sys/types.h>], u_int16_t foo;,
+ [vi_cv_uint16=yes],
+AC_TRY_RUN([main(){exit(sizeof(unsigned short) != 2);}],
+ [vi_cv_uint16="unsigned short"],
+AC_TRY_RUN([main(){exit(sizeof(unsigned int) != 2);}],
+ [vi_cv_uint16="unsigned int"], [vi_cv_uint16=no])))])
+AC_MSG_RESULT($vi_cv_uint16)
+if test "$vi_cv_uint16" = no; then
+ echo
+ echo "Fatal error: no unsigned, 16-bit integral type."
+ exit 1
+fi
+if test "$vi_cv_uint16" != yes; then
+ u_int16_decl="typedef $vi_cv_uint16 u_int16_t;"
+fi
+
+AC_SUBST(int16_decl)
+AC_MSG_CHECKING(for int16_t)
+AC_CACHE_VAL(vi_cv_int16, [dnl
+AC_TRY_COMPILE([#include <sys/types.h>], int16_t foo;,
+ [vi_cv_int16=yes],
+AC_TRY_RUN([main(){exit(sizeof(short) != 2);}],
+ [vi_cv_int16="short"],
+AC_TRY_RUN([main(){exit(sizeof(int) != 2);}],
+ [vi_cv_int16="int"], [vi_cv_int16=no])))])
+AC_MSG_RESULT($vi_cv_int16)
+if test "$vi_cv_int16" = no; then
+ echo
+ echo "Fatal error: no signed, 16-bit integral type."
+ exit 1
+fi
+if test "$vi_cv_int16" != yes; then
+ int16_decl="typedef $vi_cv_int16 int16_t;"
+fi
+
+AC_SUBST(u_int32_decl)
+AC_MSG_CHECKING(for u_int32_t)
+AC_CACHE_VAL(vi_cv_uint32, [dnl
+AC_TRY_COMPILE([#include <sys/types.h>], u_int32_t foo;,
+ [vi_cv_uint32=yes],
+AC_TRY_RUN([main(){exit(sizeof(unsigned int) != 4);}],
+ [vi_cv_uint32="unsigned int"],
+AC_TRY_RUN([main(){exit(sizeof(unsigned long) != 4);}],
+ [vi_cv_uint32="unsigned long"], [vi_cv_uint32=no])))])
+AC_MSG_RESULT($vi_cv_uint32)
+if test "$vi_cv_uint32" = no; then
+ echo
+ echo "Fatal error: no unsigned, 32-bit integral type."
+ exit 1
+fi
+if test "$vi_cv_uint32" != yes; then
+ u_int32_decl="typedef $vi_cv_uint32 u_int32_t;"
+fi
+
+AC_SUBST(int32_decl)
+AC_MSG_CHECKING(for int32_t)
+AC_CACHE_VAL(vi_cv_int32, [dnl
+AC_TRY_COMPILE([#include <sys/types.h>], int32_t foo;,
+ [vi_cv_int32=yes],
+AC_TRY_RUN([main(){exit(sizeof(int) != 4);}],
+ [vi_cv_int32="int"],
+AC_TRY_RUN([main(){exit(sizeof(long) != 4);}],
+ [vi_cv_int32="long"], [vi_cv_int32=no])))])
+AC_MSG_RESULT($vi_cv_int32)
+if test "$vi_cv_int32" = no; then
+ echo
+ echo "Fatal error: no signed, 32-bit integral type."
+ exit 1
+fi
+if test "$vi_cv_int32" != yes; then
+ int32_decl="typedef $vi_cv_int32 int32_t;"
+fi
+
+AC_OUTPUT(Makefile port.h:port.h.in
+ pathnames.h:pathnames.h.in recover:recover.in)
OpenPOWER on IntegriCloud