diff options
author | peter <peter@FreeBSD.org> | 2000-01-26 16:43:25 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2000-01-26 16:43:25 +0000 |
commit | eb50977cab0b353dfbe1f519884b4a0e7820f19a (patch) | |
tree | 506da7a5cf693bf8780ad013837cbd67913bedbb /contrib/ncurses/test | |
parent | bacd15cb1fff2dee94d390e0f84c147cd82ea148 (diff) | |
download | FreeBSD-src-eb50977cab0b353dfbe1f519884b4a0e7820f19a.zip FreeBSD-src-eb50977cab0b353dfbe1f519884b4a0e7820f19a.tar.gz |
Import ncurses-5.0-release to update the 5.0-prerelease that we had.
Diffstat (limited to 'contrib/ncurses/test')
-rw-r--r-- | contrib/ncurses/test/Makefile.in | 10 | ||||
-rwxr-xr-x | contrib/ncurses/test/configure | 1949 | ||||
-rw-r--r-- | contrib/ncurses/test/configure.in | 8 | ||||
-rw-r--r-- | contrib/ncurses/test/dots.c | 143 | ||||
-rw-r--r-- | contrib/ncurses/test/firework.c | 272 | ||||
-rw-r--r-- | contrib/ncurses/test/hanoi.c | 7 | ||||
-rw-r--r-- | contrib/ncurses/test/lrtest.c | 117 | ||||
-rw-r--r-- | contrib/ncurses/test/modules | 3 | ||||
-rw-r--r-- | contrib/ncurses/test/ncurses.c | 13 | ||||
-rw-r--r-- | contrib/ncurses/test/rain.c | 16 | ||||
-rw-r--r-- | contrib/ncurses/test/tclock.c | 304 | ||||
-rw-r--r-- | contrib/ncurses/test/worm.c | 422 |
12 files changed, 2789 insertions, 475 deletions
diff --git a/contrib/ncurses/test/Makefile.in b/contrib/ncurses/test/Makefile.in index 3626f24..b0b9de0 100644 --- a/contrib/ncurses/test/Makefile.in +++ b/contrib/ncurses/test/Makefile.in @@ -1,6 +1,6 @@ -# $Id: Makefile.in,v 1.51 1999/04/10 21:31:59 tom Exp $ +# $Id: Makefile.in,v 1.54 1999/10/23 20:01:19 tom Exp $ ############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # +# Copyright (c) 1998,1999 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -55,7 +55,7 @@ CCFLAGS = $(CPPFLAGS) $(CFLAGS) CFLAGS_NORMAL = $(CCFLAGS) CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) # @CC_SHARED_OPTS@ +CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) @@ -85,6 +85,7 @@ TESTS = \ bs$x \ cardfile$x \ ditto$x \ + dots$x \ filter$x \ firework$x \ firstlast$x \ @@ -121,6 +122,9 @@ cardfile$x: $(MODEL)/cardfile.o $(LOCAL_LIBS) ditto$x: $(MODEL)/ditto.o $(LOCAL_LIBS) @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ditto.o $(LDFLAGS_DEFAULT) +dots$x: $(MODEL)/dots.o $(LOCAL_LIBS) + @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/dots.o $(LDFLAGS_DEFAULT) + filter$x: $(MODEL)/filter.o $(LOCAL_LIBS) @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/filter.o $(LDFLAGS_DEFAULT) diff --git a/contrib/ncurses/test/configure b/contrib/ncurses/test/configure new file mode 100755 index 0000000..649dffe --- /dev/null +++ b/contrib/ncurses/test/configure @@ -0,0 +1,1949 @@ +#! /bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.13.19990117 +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + +# Defaults: +ac_help= +ac_default_prefix=/usr/local +# Any additions from configure.in: + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +# Initialize some other variables. +subdirs= +MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} +# Maximum number of lines to put in a shell here document. +ac_max_here_lines=12 + +ac_prev= +for ac_option +do + + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir="$ac_optarg" ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build="$ac_optarg" ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file="$ac_optarg" ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir="$ac_optarg" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "enable_${ac_feature}='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix="$ac_optarg" ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he) + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat << EOF +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [same as prefix] + --bindir=DIR user executables in DIR [EPREFIX/bin] + --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] + --libexecdir=DIR program executables in DIR [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data in DIR + [PREFIX/share] + --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data in DIR + [PREFIX/com] + --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] + --libdir=DIR object code libraries in DIR [EPREFIX/lib] + --includedir=DIR C header files in DIR [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] + --infodir=DIR info documentation in DIR [PREFIX/info] + --mandir=DIR man documentation in DIR [PREFIX/man] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM + run sed PROGRAM on installed program names +EOF + cat << EOF +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +EOF +cat <<EOF +--enable and --with options recognized: + --with-5lib use SunOS sysv-libraries + --with-ncurses use ncurses-libraries (installed) +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$ac_optarg" ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir="$ac_optarg" ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir="$ac_optarg" ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir="$ac_optarg" ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir="$ac_optarg" ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir="$ac_optarg" ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir="$ac_optarg" ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir="$ac_optarg" ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix="$ac_optarg" ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix="$ac_optarg" ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix="$ac_optarg" ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name="$ac_optarg" ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir="$ac_optarg" ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir="$ac_optarg" ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site="$ac_optarg" ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir="$ac_optarg" ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir="$ac_optarg" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 2.13.19990117" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + eval "with_${ac_package}=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes="$ac_optarg" ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries="$ac_optarg" ;; + + -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 standard input +# 1 file creation +# 2 errors and warnings +# 3 some systems may open it to /dev/tty +# 4 used on the Kubota Titan +# 6 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 6>/dev/null +else + exec 6>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set these to C if already set. These must not be set unconditionally +# because not all systems understand e.g. LANG=C (notably SCO). +# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! +# Non-C LC_CTYPE values break the ctype check. +if test "${LANG+set}" = set; then LANG=C; export LANG; fi +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi +if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo > confdefs.h + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=ncurses.c + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + echo "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +ac_exeext= +ac_objext=o +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + + + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:532: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:562: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_prog_rejected=no + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + break + fi + done + IFS="$ac_save_ifs" +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# -gt 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + set dummy "$ac_dir/$ac_word" "$@" + shift + ac_cv_prog_CC="$@" + fi +fi +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # Extract the first word of "cl", so it can be a program name with args. +set dummy cl; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:613: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi + test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } +fi + +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:645: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +cat > conftest.$ac_ext << EOF + +#line 656 "configure" +#include "confdefs.h" + +main(){return(0);} +EOF +if { (eval echo configure:661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then + ac_cv_prog_cc_cross=no + else + ac_cv_prog_cc_cross=yes + fi +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_prog_cc_works=no +fi +rm -fr conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 +if test $ac_cv_prog_cc_works = no; then + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } +fi +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:687: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 +cross_compiling=$ac_cv_prog_cc_cross + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +echo "configure:692: checking whether we are using GNU C" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:701: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 + +if test $ac_cv_prog_gcc = yes; then + GCC=yes +else + GCC= +fi + +ac_test_CFLAGS="${CFLAGS+set}" +ac_save_CFLAGS="$CFLAGS" +CFLAGS= +echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +echo "configure:720: checking whether ${CC-cc} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_cc_g=yes +else + ac_cv_prog_cc_g=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi + + +CC_G_OPT="-g" +CC_SHARED_OPTS=unknown +CPPFLAGS="$CPPFLAGS" +DFT_DEP_SUFFIX="" +DFT_OBJ_SUBDIR=`pwd|sed -e's:.*/::'` +DFT_UPR_MODEL="NORMAL" +ECHO_LINK='@ echo linking $@ ... ;' +EXTRA_LIBS="" +LD="ld" +LDFLAGS_SHARED="" +LD_MODEL="" +LD_SHARED_OPTS="" +LIB_NAME=curses +LIB_PREFIX="-l" +LINK_TESTS="" +LINT=lint +LINT_OPTS="" +LOCAL_LDFLAGS="" +MATH_LIB="-lm" +PROG_EXT="" +TEST_ARGS="" +TEST_DEPS="" +cf_cv_abi_version="" +cf_cv_rel_version="" + + +# Check whether --with-5lib or --without-5lib was given. +if test "${with_5lib+set}" = set; then + withval="$with_5lib" + LIBS="-L/usr/5lib $LIBS" + CPPFLAGS="$CPPFLAGS -I/usr/5include" +fi + + + +# Check whether --with-ncurses or --without-ncurses was given. +if test "${with_ncurses+set}" = set; then + withval="$with_ncurses" + echo $ac_n "checking for initscr""... $ac_c" 1>&6 +echo "configure:791: checking for initscr" >&5 +if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 796 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char initscr(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char initscr(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_initscr) || defined (__stub___initscr) +choke me +#else +initscr(); +#endif + +; return 0; } +EOF +if { (eval echo configure:819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_initscr=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_initscr=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 + + echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 +echo "configure:838: checking for Gpm_Open in -lgpm" >&5 +ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lgpm $LIBS" +cat > conftest.$ac_ext <<EOF +#line 846 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char Gpm_Open(); + +int main() { +Gpm_Open() +; return 0; } +EOF +if { (eval echo configure:857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo gpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lgpm $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + + LIB_NAME=ncurses + for p in $HOME /usr/local /usr + do + if test -f $p/include/ncurses/curses.h + then + CPPFLAGS="$CPPFLAGS -I$p/include/ncurses" + test $p != /usr && LIBS="-L$p/lib $LIBS" + break + elif test $p != /usr + then + if test -f $p/include/curses.h + then + CPPFLAGS="$CPPFLAGS -I$p/include" + LIBS="-L$p/lib $LIBS" + break + fi + fi + done + +fi + +fi + + + + +echo $ac_n "checking for initscr""... $ac_c" 1>&6 +echo "configure:911: checking for initscr" >&5 +if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 916 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char initscr(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char initscr(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_initscr) || defined (__stub___initscr) +choke me +#else +initscr(); +#endif + +; return 0; } +EOF +if { (eval echo configure:939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_initscr=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_initscr=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 + +echo $ac_n "checking for initscr in -l$LIB_NAME""... $ac_c" 1>&6 +echo "configure:958: checking for initscr in -l$LIB_NAME" >&5 +ac_lib_var=`echo $LIB_NAME'_'initscr | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-l$LIB_NAME $LIBS" +cat > conftest.$ac_ext <<EOF +#line 966 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char initscr(); + +int main() { +initscr() +; return 0; } +EOF +if { (eval echo configure:977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo $LIB_NAME | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-l$LIB_NAME $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + +fi + +echo $ac_n "checking for form_driver in -lform""... $ac_c" 1>&6 +echo "configure:1007: checking for form_driver in -lform" >&5 +ac_lib_var=`echo form'_'form_driver | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lform $LIBS" +cat > conftest.$ac_ext <<EOF +#line 1015 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char form_driver(); + +int main() { +form_driver() +; return 0; } +EOF +if { (eval echo configure:1026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo form | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lform $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking for menu_driver in -lmenu""... $ac_c" 1>&6 +echo "configure:1054: checking for menu_driver in -lmenu" >&5 +ac_lib_var=`echo menu'_'menu_driver | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lmenu $LIBS" +cat > conftest.$ac_ext <<EOF +#line 1062 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char menu_driver(); + +int main() { +menu_driver() +; return 0; } +EOF +if { (eval echo configure:1073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo menu | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lmenu $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking for new_panel in -lpanel""... $ac_c" 1>&6 +echo "configure:1101: checking for new_panel in -lpanel" >&5 +ac_lib_var=`echo panel'_'new_panel | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lpanel $LIBS" +cat > conftest.$ac_ext <<EOF +#line 1109 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char new_panel(); + +int main() { +new_panel() +; return 0; } +EOF +if { (eval echo configure:1120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo panel | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lpanel $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + + +echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 +echo "configure:1149: checking return type of signal handlers" >&5 +if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1154 "configure" +#include "confdefs.h" +#include <sys/types.h> +#include <signal.h> +#ifdef signal +#undef signal +#endif +#ifdef __cplusplus +extern "C" void (*signal (int, void (*)(int)))(int); +#else +void (*signal ()) (); +#endif + +int main() { +int i; +; return 0; } +EOF +if { (eval echo configure:1171: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_type_signal=void +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_type_signal=int +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_type_signal" 1>&6 +cat >> confdefs.h <<EOF +#define RETSIGTYPE $ac_cv_type_signal +EOF + + + +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +echo "configure:1191: checking how to run the C preprocessor" >&5 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + cat > conftest.$ac_ext <<EOF +#line 1206 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1212: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + CPP="${CC-cc} -E -traditional-cpp" + cat > conftest.$ac_ext <<EOF +#line 1223 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1229: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + CPP="${CC-cc} -nologo -E" + cat > conftest.$ac_ext <<EOF +#line 1240 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1246: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + CPP=/lib/cpp +fi +rm -f conftest* +fi +rm -f conftest* +fi +rm -f conftest* + ac_cv_prog_CPP="$CPP" +fi + CPP="$ac_cv_prog_CPP" +else + ac_cv_prog_CPP="$CPP" +fi +echo "$ac_t""$CPP" 1>&6 + +echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 +echo "configure:1271: checking for ANSI C header files" >&5 +if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1276 "configure" +#include "confdefs.h" +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1284: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + ac_cv_header_stdc=yes +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_header_stdc=no +fi +rm -f conftest* + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. +cat > conftest.$ac_ext <<EOF +#line 1301 "configure" +#include "confdefs.h" +#include <string.h> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "memchr" >/dev/null 2>&1; then + : +else + rm -rf conftest* + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. +cat > conftest.$ac_ext <<EOF +#line 1319 "configure" +#include "confdefs.h" +#include <stdlib.h> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "free" >/dev/null 2>&1; then + : +else + rm -rf conftest* + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. +if test "$cross_compiling" = yes; then + : +else + cat > conftest.$ac_ext <<EOF +#line 1340 "configure" +#include "confdefs.h" +#include <ctype.h> +#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int main () { int i; for (i = 0; i < 256; i++) +if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); +exit (0); } + +EOF +if { (eval echo configure:1351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_header_stdc=no +fi +rm -fr conftest* +fi + +fi +fi + +echo "$ac_t""$ac_cv_header_stdc" 1>&6 +if test $ac_cv_header_stdc = yes; then + cat >> confdefs.h <<\EOF +#define STDC_HEADERS 1 +EOF + +fi + +echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 +echo "configure:1375: checking whether time.h and sys/time.h may both be included" >&5 +if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1380 "configure" +#include "confdefs.h" +#include <sys/types.h> +#include <sys/time.h> +#include <time.h> +int main() { +struct tm *tp; +; return 0; } +EOF +if { (eval echo configure:1389: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_header_time=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_header_time=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_header_time" 1>&6 +if test $ac_cv_header_time = yes; then + cat >> confdefs.h <<\EOF +#define TIME_WITH_SYS_TIME 1 +EOF + +fi + +for ac_hdr in \ +form.h \ +getopt.h \ +menu.h \ +nc_alloc.h \ +panel.h \ +sys/ioctl.h \ +sys/select.h \ +sys/time.h \ +termios.h \ +unistd.h \ + +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:1424: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1429 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1434: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + + +for ac_func in \ +curses_version \ +gettimeofday \ +napms \ +resizeterm \ +strdup \ +vsscanf \ + +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:1471: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1476 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:1499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + + +echo $ac_n "checking if sys/time.h conflicts with sys/select.h""... $ac_c" 1>&6 +echo "configure:1525: checking if sys/time.h conflicts with sys/select.h" >&5 +if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext <<EOF +#line 1531 "configure" +#include "confdefs.h" + +#if HAVE_SYS_TIME_H +#include <sys/time.h> +#endif +#if HAVE_SYS_SELECT_H +#include <sys/select.h> +#endif + +int main() { + +; return 0; } +EOF +if { (eval echo configure:1545: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cf_cv_sys_time_select=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_cv_sys_time_select=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$cf_cv_sys_time_select" 1>&6 +test $cf_cv_sys_time_select = yes && cat >> confdefs.h <<\EOF +#define HAVE_SYS_TIME_SELECT 1 +EOF + + +trap '' 1 2 15 +cat > confcache <<\EOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +(set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote substitution + # turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + -e "s/'/'\\\\''/g" \ + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' + ;; + esac >> confcache +if cmp -s $cache_file confcache; then + : +else + if test -w $cache_file; then + echo "updating cache $cache_file" + cat confcache > $cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +DEFS=-DHAVE_CONFIG_H + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#! /bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 2.13.19990117" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir + +trap 'rm -fr `echo "Makefile ncurses_cfg.h:ncurses_tst.hin" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +EOF +cat >> $CONFIG_STATUS <<EOF + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF +$ac_vpsub +$extrasub +s%@SHELL@%$SHELL%g +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@FFLAGS@%$FFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@program_transform_name@%$program_transform_name%g +s%@bindir@%$bindir%g +s%@sbindir@%$sbindir%g +s%@libexecdir@%$libexecdir%g +s%@datadir@%$datadir%g +s%@sysconfdir@%$sysconfdir%g +s%@sharedstatedir@%$sharedstatedir%g +s%@localstatedir@%$localstatedir%g +s%@libdir@%$libdir%g +s%@includedir@%$includedir%g +s%@oldincludedir@%$oldincludedir%g +s%@infodir@%$infodir%g +s%@mandir@%$mandir%g +s%@CC@%$CC%g +s%@CC_G_OPT@%$CC_G_OPT%g +s%@CC_SHARED_OPTS@%$CC_SHARED_OPTS%g +s%@DFT_DEP_SUFFIX@%$DFT_DEP_SUFFIX%g +s%@DFT_OBJ_SUBDIR@%$DFT_OBJ_SUBDIR%g +s%@DFT_UPR_MODEL@%$DFT_UPR_MODEL%g +s%@ECHO_LINK@%$ECHO_LINK%g +s%@EXTRA_LIBS@%$EXTRA_LIBS%g +s%@LD@%$LD%g +s%@LDFLAGS_SHARED@%$LDFLAGS_SHARED%g +s%@LD_MODEL@%$LD_MODEL%g +s%@LD_SHARED_OPTS@%$LD_SHARED_OPTS%g +s%@LIB_NAME@%$LIB_NAME%g +s%@LIB_PREFIX@%$LIB_PREFIX%g +s%@LINK_TESTS@%$LINK_TESTS%g +s%@LINT@%$LINT%g +s%@LINT_OPTS@%$LINT_OPTS%g +s%@LOCAL_LDFLAGS@%$LOCAL_LDFLAGS%g +s%@MATH_LIB@%$MATH_LIB%g +s%@PROG_EXT@%$PROG_EXT%g +s%@TEST_ARGS@%$TEST_ARGS%g +s%@TEST_DEPS@%$TEST_DEPS%g +s%@cf_cv_abi_version@%$cf_cv_abi_version%g +s%@cf_cv_rel_version@%$cf_cv_rel_version%g +s%@CPP@%$CPP%g + +CEOF +EOF + +cat >> $CONFIG_STATUS <<\EOF + +# Split the substitutions into bite-sized pieces for seds with +# small command number limits, like on Digital OSF/1 and HP-UX. +ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. +ac_file=1 # Number of current file. +ac_beg=1 # First line for current file. +ac_end=$ac_max_sed_cmds # Line after last line for current file. +ac_more_lines=: +ac_sed_cmds="" +while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file + else + sed "${ac_end}q" conftest.subs > conftest.s$ac_file + fi + if test ! -s conftest.s$ac_file; then + ac_more_lines=false + rm -f conftest.s$ac_file + else + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f conftest.s$ac_file" + else + ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" + fi + ac_file=`expr $ac_file + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_cmds` + fi +done +if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat +fi +EOF + +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file +fi; done +rm -f conftest.s* + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' +ac_dC='\3' +ac_dD='%g' +# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". +ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='\([ ]\)%\1#\2define\3' +ac_uC=' ' +ac_uD='\4%g' +# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_eB='$%\1#\2define\3' +ac_eC=' ' +ac_eD='%g' + +if test "${CONFIG_HEADERS+set}" != set; then +EOF +cat >> $CONFIG_STATUS <<EOF + CONFIG_HEADERS="ncurses_cfg.h:ncurses_tst.hin" +EOF +cat >> $CONFIG_STATUS <<\EOF +fi +for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + echo creating $ac_file + + rm -f conftest.frag conftest.in conftest.out + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` + cat $ac_file_inputs > conftest.in + +EOF + + +# Transform confdefs.h into a list of #define's. We won't use it as a sed +# script, but as data to insert where we see @DEFS@. We expect AC_SAVE_DEFS to +# be either 'cat' or 'sort'. +sort confdefs.h >conftest.vals + +# Break up conftest.vals because some shells have a limit on +# the size of here documents, and old seds have small limits too. + +rm -f conftest.tail +echo ' rm -f conftest.frag' >> $CONFIG_STATUS +while : +do + ac_lines=`grep -c . conftest.vals` + # grep -c gives empty output for an empty file on some AIX systems. + if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi + # Write chunks of a limited-size here document to conftest.frag. + echo ' cat >> conftest.frag <<CEOF' >> $CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS + echo 'CEOF' >> $CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail + rm -f conftest.vals + mv conftest.tail conftest.vals +done +rm -f conftest.vals + +# Run sed to substitute the contents of conftest.frag into conftest.in at the +# marker @DEFS@. +echo ' cat >> conftest.edit <<CEOF +/@DEFS@/r conftest.frag +/@DEFS@/d +CEOF +sed -f conftest.edit conftest.in > conftest.out +rm -f conftest.in +mv conftest.out conftest.in +rm -f conftest.edit conftest.frag +' >> $CONFIG_STATUS + + +cat >> $CONFIG_STATUS <<\EOF + rm -f conftest.frag conftest.h + echo "/* $ac_file. Generated automatically by configure. */" > conftest.h + cat conftest.in >> conftest.h + rm -f conftest.in + if cmp -s $ac_file conftest.h 2>/dev/null; then + echo "$ac_file is unchanged" + rm -f conftest.h + else + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + fi + rm -f $ac_file + mv conftest.h $ac_file + fi +fi; done + +EOF +cat >> $CONFIG_STATUS <<EOF +# Extra initialization commands, if any + +EOF +cat >> $CONFIG_STATUS <<\EOF +# Extra commands, if any + + cat >>Makefile <<TEST_EOF + +# These rules are generated so we do not rely on suffix rules, which do not +# work consistently for different make-programs (the '\$(MODEL)/' confuses +# some, and the '\$x' confuses others). +TEST_EOF +LIST=`make echo_tests` +LAST=`make echo_suffix` +for n in $LIST +do + N=`echo $n | sed -e s/${LAST}\$//` + cat >>Makefile <<TEST_EOF + +\$(MODEL)/$N.o : $N.c \\ + test.priv.h \\ + ncurses_cfg.h + @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) $N.c +TEST_EOF +done + +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 + diff --git a/contrib/ncurses/test/configure.in b/contrib/ncurses/test/configure.in index acbad8a..d963022 100644 --- a/contrib/ncurses/test/configure.in +++ b/contrib/ncurses/test/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,7 +28,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,1998 dnl -dnl $Id: configure.in,v 1.24 1998/05/16 20:48:14 tom Exp $ +dnl $Id: configure.in,v 1.27 1999/10/23 20:01:42 tom Exp $ dnl This is a simple configuration-script for the ncurses test programs that dnl allows the test-directory to be separately configured against a reference dnl system (i.e., sysvr4 curses) @@ -53,8 +53,9 @@ DFT_UPR_MODEL="NORMAL" AC_SUBST(DFT_UPR_MODEL) ECHO_LINK='@ echo linking $@ ... ;' AC_SUBST(ECHO_LINK) EXTRA_LIBS="" AC_SUBST(EXTRA_LIBS) LD="ld" AC_SUBST(LD) -LD_MODEL="" AC_SUBST(LD_MODEL) LDFLAGS_SHARED="" AC_SUBST(LDFLAGS_SHARED) +LD_MODEL="" AC_SUBST(LD_MODEL) +LD_SHARED_OPTS="" AC_SUBST(LD_SHARED_OPTS) LIB_NAME=curses AC_SUBST(LIB_NAME) LIB_PREFIX="-l" AC_SUBST(LIB_PREFIX) LINK_TESTS="" AC_SUBST(LINK_TESTS) @@ -128,6 +129,7 @@ unistd.h \ ) AC_CHECK_FUNCS( \ +curses_version \ gettimeofday \ napms \ resizeterm \ diff --git a/contrib/ncurses/test/dots.c b/contrib/ncurses/test/dots.c new file mode 100644 index 0000000..13ec66a --- /dev/null +++ b/contrib/ncurses/test/dots.c @@ -0,0 +1,143 @@ +/**************************************************************************** + * Copyright (c) 1999 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the * + * "Software"), to deal in the Software without restriction, including * + * without limitation the rights to use, copy, modify, merge, publish, * + * distribute, distribute with modifications, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included * + * in all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * + * * + * Except as contained in this notice, the name(s) of the above copyright * + * holders shall not be used in advertising or otherwise to promote the * + * sale, use or other dealings in this Software without prior written * + * authorization. * + ****************************************************************************/ + +/* + * Author: Thomas E. Dickey <dickey@clark.net> 1999 + * + * $Id: dots.c,v 1.2 1999/10/23 13:24:32 tom Exp $ + * + * A simple demo of the terminfo interface. + */ +#include <test.priv.h> + +#include <term.h> /* for tparm() */ + +#include <time.h> +#include <signal.h> + +#define valid(s) ((s != 0) && s != (char *)-1) + +static bool interrupted = FALSE; + +static int +outc(int c) +{ + if (interrupted) { + char tmp = c; + write(STDOUT_FILENO, &tmp, 1); + } else { + putc(c, stdout); + } + return 0; +} + +static bool +outs(char *s) +{ + if (valid(s)) { + tputs(s, 1, outc); + return TRUE; + } + return FALSE; +} + +static void +cleanup(void) +{ + outs(exit_attribute_mode); + if (!outs(orig_colors)) + outs(orig_pair); + outs(clear_screen); + outs(cursor_normal); +} + +static void +onsig(int n GCC_UNUSED) +{ + interrupted = TRUE; + cleanup(); + exit(EXIT_FAILURE); +} + +static float +ranf(void) +{ + long r = (rand() & 077777); + return ((float) r / 32768.); +} + +int +main( + int argc GCC_UNUSED, + char *argv[]GCC_UNUSED) +{ + int x, y, z, j, p; + float r; + float c; + + for (j = SIGHUP; j <= SIGTERM; j++) + if (signal(j, SIG_IGN) != SIG_IGN) + signal(j, onsig); + + srand(time(0)); + setupterm((char *) 0, 1, (int *) 0); + outs(clear_screen); + outs(cursor_invisible); + if (max_colors > 1) { + if (!valid(set_a_foreground) + || !valid(set_a_background) + || (!valid(orig_colors) && !valid(orig_pair))) + max_colors = -1; + } + + r = (float) (lines - 4); + c = (float) (columns - 4); + + for (;;) { + x = (int) (c * ranf()) + 2; + y = (int) (r * ranf()) + 2; + p = (ranf() > 0.9) ? '*' : ' '; + + tputs(tparm(cursor_address, y, x), 1, outc); + if (max_colors > 0) { + z = ranf() * max_colors; + if (ranf() > 0.01) { + tputs(tparm(set_a_foreground, z), 1, outc); + } else { + tputs(tparm(set_a_background, z), 1, outc); + } + } else if (valid(exit_attribute_mode) + && valid(enter_reverse_mode)) { + if (ranf() <= 0.01) + outs((ranf() > 0.6) ? enter_reverse_mode : + exit_attribute_mode); + } + outc(p); + fflush(stdout); + } +} diff --git a/contrib/ncurses/test/firework.c b/contrib/ncurses/test/firework.c index 1a37e049..557a7bf 100644 --- a/contrib/ncurses/test/firework.c +++ b/contrib/ncurses/test/firework.c @@ -1,154 +1,174 @@ /* - * $Id: firework.c,v 1.11 1997/11/01 19:36:25 tom Exp $ + * $Id: firework.c,v 1.15 1999/10/16 21:33:39 tom Exp $ */ #include <test.priv.h> -#include <term.h> /* for tparm() */ - #include <signal.h> -#include <ctype.h> #include <time.h> -static int get_colour(chtype *); -static void explode(int row, int col); -static void showit(void); -static RETSIGTYPE onsig(int sig); - static int my_bg = COLOR_BLACK; -int main( - int argc GCC_UNUSED, - char *argv[] GCC_UNUSED) +static void +cleanup(void) { -int j; -int start,end,row,diff,flag = 0,direction; -unsigned seed; - - for (j=SIGHUP;j<=SIGTERM;j++) - if (signal(j,SIG_IGN)!=SIG_IGN) - signal(j,onsig); - - initscr(); - if (has_colors()) { - start_color(); -#ifdef NCURSES_VERSION - if (use_default_colors() == OK) - my_bg = -1; -#endif - } - curs_set(0); - - seed = time((time_t *)0); - srand(seed); - cbreak(); - for (;;) { - do { - start = rand() % (COLS -3); - end = rand() % (COLS - 3); - start = (start < 2) ? 2 : start; - end = (end < 2) ? 2 : end; - direction = (start > end) ? -1 : 1; - diff = abs(start-end); - } while (diff<2 || diff>=LINES-2); - attrset(A_NORMAL); - for (row=0;row<diff;row++) { - mvprintw(LINES - row,start + (row * direction), - (direction < 0) ? "\\" : "/"); - if (flag++) { - showit(); - erase(); - flag = 0; - } - } - if (flag++) { - showit(); - flag = 0; - } - seed = time((time_t *)0); - srand(seed); - explode(LINES-row,start+(diff*direction)); - erase(); - showit(); - } + curs_set(1); + endwin(); } static RETSIGTYPE onsig(int n GCC_UNUSED) { - curs_set(1); - endwin(); + cleanup(); exit(EXIT_FAILURE); } -static -void explode(int row, int col) +static void +showit(void) { - chtype bold; - erase(); - mvprintw(row,col,"-"); - showit(); - - init_pair(1,get_colour(&bold),my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row-1,col-1," - "); - mvprintw(row,col-1,"-+-"); - mvprintw(row+1,col-1," - "); - showit(); - - init_pair(1,get_colour(&bold),my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row-2,col-2," --- "); - mvprintw(row-1,col-2,"-+++-"); - mvprintw(row, col-2,"-+#+-"); - mvprintw(row+1,col-2,"-+++-"); - mvprintw(row+2,col-2," --- "); - showit(); - - init_pair(1,get_colour(&bold),my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row-2,col-2," +++ "); - mvprintw(row-1,col-2,"++#++"); - mvprintw(row, col-2,"+# #+"); - mvprintw(row+1,col-2,"++#++"); - mvprintw(row+2,col-2," +++ "); - showit(); - - init_pair(1,get_colour(&bold),my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row-2,col-2," # "); - mvprintw(row-1,col-2,"## ##"); - mvprintw(row, col-2,"# #"); - mvprintw(row+1,col-2,"## ##"); - mvprintw(row+2,col-2," # "); - showit(); - - init_pair(1,get_colour(&bold),my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row-2,col-2," # # "); - mvprintw(row-1,col-2,"# #"); - mvprintw(row, col-2," "); - mvprintw(row+1,col-2,"# #"); - mvprintw(row+2,col-2," # # "); - showit(); + int ch; + napms(120); + if ((ch = getch()) != ERR) { +#ifdef KEY_RESIZE + if (ch == KEY_RESIZE) { + erase(); + } else +#endif + if (ch == 'q') { + cleanup(); + exit(EXIT_SUCCESS); + } else if (ch == 's') { + nodelay(stdscr, FALSE); + } else if (ch == ' ') { + nodelay(stdscr, TRUE); + } + } } static -int get_colour(chtype *bold) +int +get_colour(chtype * bold) { - int attr; - attr = (rand() % 16) + 1; + int attr; + attr = (rand() % 16) + 1; + + *bold = A_NORMAL; + if (attr > 8) { + *bold = A_BOLD; + attr &= 7; + } + return (attr); +} - *bold = A_NORMAL; - if (attr > 8) { - *bold = A_BOLD; - attr &= 7; - } - return(attr); +static +void +explode(int row, int col) +{ + chtype bold; + erase(); + mvprintw(row, col, "-"); + showit(); + + init_pair(1, get_colour(&bold), my_bg); + attrset(COLOR_PAIR(1) | bold); + mvprintw(row - 1, col - 1, " - "); + mvprintw(row + 0, col - 1, "-+-"); + mvprintw(row + 1, col - 1, " - "); + showit(); + + init_pair(1, get_colour(&bold), my_bg); + attrset(COLOR_PAIR(1) | bold); + mvprintw(row - 2, col - 2, " --- "); + mvprintw(row - 1, col - 2, "-+++-"); + mvprintw(row + 0, col - 2, "-+#+-"); + mvprintw(row + 1, col - 2, "-+++-"); + mvprintw(row + 2, col - 2, " --- "); + showit(); + + init_pair(1, get_colour(&bold), my_bg); + attrset(COLOR_PAIR(1) | bold); + mvprintw(row - 2, col - 2, " +++ "); + mvprintw(row - 1, col - 2, "++#++"); + mvprintw(row + 0, col - 2, "+# #+"); + mvprintw(row + 1, col - 2, "++#++"); + mvprintw(row + 2, col - 2, " +++ "); + showit(); + + init_pair(1, get_colour(&bold), my_bg); + attrset(COLOR_PAIR(1) | bold); + mvprintw(row - 2, col - 2, " # "); + mvprintw(row - 1, col - 2, "## ##"); + mvprintw(row + 0, col - 2, "# #"); + mvprintw(row + 1, col - 2, "## ##"); + mvprintw(row + 2, col - 2, " # "); + showit(); + + init_pair(1, get_colour(&bold), my_bg); + attrset(COLOR_PAIR(1) | bold); + mvprintw(row - 2, col - 2, " # # "); + mvprintw(row - 1, col - 2, "# #"); + mvprintw(row + 0, col - 2, " "); + mvprintw(row + 1, col - 2, "# #"); + mvprintw(row + 2, col - 2, " # # "); + showit(); } -static void -showit(void) +int +main( + int argc GCC_UNUSED, + char *argv[]GCC_UNUSED) { - refresh(); - napms(120); + int j; + int start, end, row, diff, flag = 0, direction; + unsigned seed; + + for (j = SIGHUP; j <= SIGTERM; j++) + if (signal(j, SIG_IGN) != SIG_IGN) + signal(j, onsig); + + initscr(); + noecho(); + cbreak(); + keypad(stdscr, TRUE); + nodelay(stdscr, TRUE); + + if (has_colors()) { + start_color(); +#ifdef NCURSES_VERSION + if (use_default_colors() == OK) + my_bg = -1; +#endif + } + curs_set(0); + + seed = time((time_t *) 0); + srand(seed); + for (;;) { + do { + start = rand() % (COLS - 3); + end = rand() % (COLS - 3); + start = (start < 2) ? 2 : start; + end = (end < 2) ? 2 : end; + direction = (start > end) ? -1 : 1; + diff = abs(start - end); + } while (diff < 2 || diff >= LINES - 2); + attrset(A_NORMAL); + for (row = 0; row < diff; row++) { + mvprintw(LINES - row, start + (row * direction), + (direction < 0) ? "\\" : "/"); + if (flag++) { + showit(); + erase(); + flag = 0; + } + } + if (flag++) { + showit(); + flag = 0; + } + seed = time((time_t *) 0); + srand(seed); + explode(LINES - row, start + (diff * direction)); + erase(); + showit(); + } } diff --git a/contrib/ncurses/test/hanoi.c b/contrib/ncurses/test/hanoi.c index 25d906e..3ee64b0 100644 --- a/contrib/ncurses/test/hanoi.c +++ b/contrib/ncurses/test/hanoi.c @@ -14,7 +14,7 @@ * * Date: 05.Nov.90 * - * $Id: hanoi.c,v 1.15 1997/10/18 20:11:20 tom Exp $ + * $Id: hanoi.c,v 1.16 1999/10/23 15:01:01 tom Exp $ */ #include <test.priv.h> @@ -118,8 +118,10 @@ unsigned char AutoFlag = 0; fprintf(stderr, "Min screen length 24 lines\n"); return EXIT_FAILURE; } - if(AutoFlag) + if(AutoFlag) { + curs_set(0); leaveok(stdscr, TRUE); /* Attempt to remove cursor */ + } InitTiles(NTiles); DisplayTiles(); if(AutoFlag) { @@ -148,7 +150,6 @@ unsigned char AutoFlag = 0; } } } - curs_set(1); endwin(); return EXIT_SUCCESS; } diff --git a/contrib/ncurses/test/lrtest.c b/contrib/ncurses/test/lrtest.c index 893e1cd..fb99641 100644 --- a/contrib/ncurses/test/lrtest.c +++ b/contrib/ncurses/test/lrtest.c @@ -6,42 +6,125 @@ * This can't be part of the ncurses test-program, because ncurses rips off the * bottom line to do labels. * - * $Id: lrtest.c,v 0.7 1998/02/12 23:49:11 tom Exp $ + * $Id: lrtest.c,v 0.14 1999/10/23 19:44:35 tom Exp $ */ #include <test.priv.h> +#include <term.h> + +typedef struct { + int y, x, mode, dir, inc; + chtype value; +} MARK; + +/* + * Make a couple of markers go 'round the border to demonstrate that we can + * really write to all positions properly. + */ +static void +show(MARK * m) +{ + mvaddch(m->y, m->x, m->value); + if (m->mode == 0) { /* along the x-direction */ + m->x += m->inc; + if (m->x >= COLS) { + m->x = COLS - 1; + m->inc = -m->dir * m->inc; + m->y += m->inc; + m->mode = 1; + } else if (m->x < 0) { + m->x = 0; + m->inc = -m->dir * m->inc; + m->y += m->inc; + m->mode = 1; + } + } else { /* along the y-direction */ + m->y += m->inc; + if (m->y >= LINES) { + m->y = LINES - 1; + m->inc = m->dir * m->inc; + m->x += m->inc; + m->mode = 0; + } else if (m->y < 0) { + m->y = 0; + m->inc = m->dir * m->inc; + m->x += m->inc; + m->mode = 0; + } + } +} int main( - int argc GCC_UNUSED, - char *argv[] GCC_UNUSED) + int argc GCC_UNUSED, + char *argv[]GCC_UNUSED) { + static MARK marks[] = + { + {0, 0, 0, -1, 1, '+' | A_BOLD}, + {0, 0, 1, 1, 2, 'X'}, + {0, 0, 1, -1, 3, 'Y'}, + {0, 8, 0, -1, 1, '+' | A_BOLD}, + {0, 9, 0, -1, 1, '+' | A_BOLD}, + {1, 0, 1, 1, 1, '*' | A_REVERSE}, + {2, 0, 1, 1, 1, '*' | A_REVERSE} + }; + initscr(); + noecho(); + cbreak(); + nodelay(stdscr, TRUE); + curs_set(0); - move(LINES/2-1, 4); - if (!has_ic()) - { +#ifdef KEY_RESIZE + keypad(stdscr, TRUE); + restart: +#endif + move(LINES / 2 - 1, 4); + if (!(has_ic() + /* see PutCharLR() */ + || auto_right_margin + || (enter_am_mode && exit_am_mode))) { addstr("Your terminal lacks the capabilities needed to address the\n"); - move(LINES/2, 4); + move(LINES / 2, 4); addstr("lower-right-hand corner of the screen.\n"); - } - else - { + } else { addstr("This is a test of access to the lower right corner.\n"); - move(LINES/2, 4); + move(LINES / 2, 4); addstr("If the top of the box is missing, the test failed.\n"); - move(LINES/2+1, 4); + move(LINES / 2 + 1, 4); addstr("Please report this (with a copy of your terminfo entry).\n"); - move(LINES/2+2, 4); + move(LINES / 2 + 2, 4); addstr("to the ncurses maintainers, at bug-ncurses@gnu.org.\n"); } - box(stdscr, 0, 0); - move(LINES-1, COLS-1); + for (;;) { + int ch; + unsigned n; + + box(stdscr, 0, 0); + for (n = 0; n < sizeof(marks) / sizeof(marks[0]); n++) { + show(&marks[n]); + } - refresh(); + if ((ch = getch()) > 0) { + if (ch == 'q') + break; + else if (ch == 's') + nodelay(stdscr, FALSE); + else if (ch == ' ') + nodelay(stdscr, TRUE); +#ifdef KEY_RESIZE + else if (ch == KEY_RESIZE) { + erase(); + goto restart; + } +#endif + } + napms(50); + } - getch(); + curs_set(1); endwin(); return 0; } diff --git a/contrib/ncurses/test/modules b/contrib/ncurses/test/modules index 3e70d49..3c69bbd 100644 --- a/contrib/ncurses/test/modules +++ b/contrib/ncurses/test/modules @@ -1,5 +1,5 @@ # Test-Program modules -# $Id: modules,v 1.10 1999/04/10 21:36:00 tom Exp $ +# $Id: modules,v 1.11 1999/10/23 00:41:02 tom Exp $ ############################################################################## # Copyright (c) 1999 Free Software Foundation, Inc. # # # @@ -36,6 +36,7 @@ blue progs $(srcdir) ../include/term.h bs progs $(srcdir) cardfile progs $(srcdir) ../include/panel.h ../include/menu.h ../include/form.h ditto progs $(srcdir) +dots progs $(srcdir) ../include/term.h filter progs $(srcdir) firework progs $(srcdir) ../include/term.h firstlast progs $(srcdir) diff --git a/contrib/ncurses/test/ncurses.c b/contrib/ncurses/test/ncurses.c index 667d2ef..aa24a426 100644 --- a/contrib/ncurses/test/ncurses.c +++ b/contrib/ncurses/test/ncurses.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998 Free Software Foundation, Inc. * + * Copyright (c) 1998,1999 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -39,7 +39,7 @@ DESCRIPTION AUTHOR Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993 -$Id: ncurses.c,v 1.118 1999/08/10 00:37:30 tom Exp $ +$Id: ncurses.c,v 1.120 1999/10/23 20:01:30 tom Exp $ ***************************************************************************/ @@ -3186,7 +3186,16 @@ main(int argc, char *argv[]) */ endwin(); +#if HAVE_CURSES_VERSION + (void) printf("Welcome to %s. Press ? for help.\n", curses_version()); +#elif defined(NCURSES_VERSION_MAJOR) && defined(NCURSES_VERSION_MINOR) && defined(NCURSES_VERSION_PATCH) + (void) printf("Welcome to ncurses %d.%d.%d. Press ? for help.\n", + NCURSES_VERSION_MAJOR, + NCURSES_VERSION_MINOR, + NCURSES_VERSION_PATCH); +#else (void) puts("Welcome to ncurses. Press ? for help."); +#endif do { (void) puts("This is the ncurses main menu"); diff --git a/contrib/ncurses/test/rain.c b/contrib/ncurses/test/rain.c index 4132a43..646ab96 100644 --- a/contrib/ncurses/test/rain.c +++ b/contrib/ncurses/test/rain.c @@ -1,5 +1,5 @@ /* - * $Id: rain.c,v 1.11 1997/09/18 18:36:46 tom Exp $ + * $Id: rain.c,v 1.13 1999/10/23 01:31:26 tom Exp $ */ #include <test.priv.h> @@ -100,6 +100,12 @@ float c; curs_set(1); endwin(); return(EXIT_SUCCESS); + case 's': + nodelay(stdscr, FALSE); + break; + case ' ': + nodelay(stdscr, TRUE); + break; #ifdef KEY_RESIZE case(KEY_RESIZE): r = (float)(LINES - 4); @@ -122,10 +128,6 @@ onsig(int n GCC_UNUSED) static float ranf(void) { - float rv; - long r = rand(); - - r &= 077777; - rv =((float)r/32767.); - return rv; + long r = (rand() & 077777); + return ((float) r / 32768.); } diff --git a/contrib/ncurses/test/tclock.c b/contrib/ncurses/test/tclock.c index bccce31..0c79568 100644 --- a/contrib/ncurses/test/tclock.c +++ b/contrib/ncurses/test/tclock.c @@ -1,6 +1,5 @@ #include "test.priv.h" -#include <float.h> #include <math.h> #include <time.h> @@ -19,9 +18,9 @@ would be a precalc table for the 60 hand positions, so that the floating point stuff can be ditched. As I said, it was a 20 hackup minute job.] - + COMING SOON: tfishtank. Be the envy of your mac-owning - colleagues. + colleagues. */ /* To compile: cc -o tclock tclock.c -lcurses -lm */ @@ -40,145 +39,188 @@ /* Plot a point */ static void -plot(int x,int y,char col) +plot(int x, int y, char col) { - mvaddch(y,x,(chtype)col); + mvaddch(y, x, (chtype) col); } - /* Draw a diagonal(arbitrary) line using Bresenham's alogrithm. */ static void -dline(int from_x, int from_y, int x2, int y2, char ch) +dline(int pair, int from_x, int from_y, int x2, int y2, char ch) { - int dx,dy; - int ax,ay; - int sx,sy; - int x,y; - int d; - - dx=x2-from_x; - dy=y2-from_y; - - ax=abs(dx*2); - ay=abs(dy*2); - - sx=sign(dx); - sy=sign(dy); - - x=from_x; - y=from_y; - - if(ax>ay) - { - d=ay-(ax/2); - - while(1) - { - plot(x,y,ch); - if(x==x2) return; - - if(d>=0) - { - y+=sy; - d-=ax; - } - x+=sx; - d+=ay; - } + int dx, dy; + int ax, ay; + int sx, sy; + int x, y; + int d; + + if (has_colors()) + attrset(COLOR_PAIR(pair)); + + dx = x2 - from_x; + dy = y2 - from_y; + + ax = abs(dx * 2); + ay = abs(dy * 2); + + sx = sign(dx); + sy = sign(dy); + + x = from_x; + y = from_y; + + if (ax > ay) { + d = ay - (ax / 2); + + while (1) { + plot(x, y, ch); + if (x == x2) + return; + + if (d >= 0) { + y += sy; + d -= ax; + } + x += sx; + d += ay; } - else - { - d=ax-(ay/2); - - while(1) - { - plot(x,y,ch); - if(y==y2) return; - - if(d>=0) - { - x+=sx; - d-=ay; - } - y+=sy; - d+=ax; - } + } else { + d = ax - (ay / 2); + + while (1) { + plot(x, y, ch); + if (y == y2) + return; + + if (d >= 0) { + x += sx; + d -= ay; + } + y += sy; + d += ax; } + } } int main( - int argc GCC_UNUSED, - char *argv[] GCC_UNUSED) + int argc GCC_UNUSED, + char *argv[]GCC_UNUSED) { - int i,cx,cy; - double mradius, hradius, mangle, hangle; - double sangle, sradius, hours; - int hdx, hdy; - int mdx, mdy; - int sdx, sdy; - time_t tim; - struct tm *t; - char szChar[10]; - - initscr(); - noecho(); - - cx=39; - cy=12; - mradius=9; - hradius=6; - sradius=8; - - for(i=0;i<12;i++) - { - sangle=(i+1)*(2.0*PI)/12.0; - sradius=10; - sdx = A2X(sangle, sradius); - sdy = A2Y(sangle, sradius); - sprintf(szChar,"%d",i+1); - - mvaddstr((int)(cy-sdy),(int)(cx+sdx),szChar); - } - - mvaddstr(0,0,"ASCII Clock by Howard Jones (ha.jones@ic.ac.uk),1994"); - - sradius=8; - for(;;) - { - napms(1000); - - tim = time(0); - t = localtime(&tim); - - hours = (t->tm_hour + (t->tm_min/60.0)); - if(hours>12.0) hours -= 12.0; - - mangle = ((t->tm_min) * (2 * PI)/60.0); - mdx = A2X(mangle, mradius); - mdy = A2Y(mangle, mradius); - - hangle = ((hours) * (2.0 * PI)/12.0); - hdx = A2X(hangle, hradius); - hdy = A2Y(hangle, hradius); - - sangle = ((t->tm_sec) * (2.0 * PI)/60.0); - sdx = A2X(sangle, sradius); - sdy = A2Y(sangle, sradius); - - plot(cx+sdx,cy-sdy,'O'); - dline(cx,cy,cx+hdx,cy-hdy,'.'); - dline(cx,cy,cx+mdx,cy-mdy,'#'); - - mvaddstr(23,0,ctime(&tim)); - refresh(); - if ((t->tm_sec % 5) == 0) beep(); - - plot(cx+sdx,cy-sdy,' '); - dline(cx,cy,cx+hdx,cy-hdy,' '); - dline(cx,cy,cx+mdx,cy-mdy,' '); - - } - - return 0; + int i, cx, cy; + double mradius, hradius, mangle, hangle; + double sangle, sradius, hours; + int hdx, hdy; + int mdx, mdy; + int sdx, sdy; + int ch; + int lastbeep = -1; + time_t tim; + struct tm *t; + char szChar[10]; + int my_bg = COLOR_BLACK; + + initscr(); + noecho(); + cbreak(); + nodelay(stdscr, TRUE); + curs_set(0); + + if (has_colors()) { + start_color(); +#ifdef NCURSES_VERSION + if (use_default_colors() == OK) + my_bg = -1; +#endif + init_pair(1, COLOR_RED, my_bg); + init_pair(2, COLOR_MAGENTA, my_bg); + init_pair(3, COLOR_GREEN, my_bg); + } +#ifdef KEY_RESIZE + keypad(stdscr, TRUE); + restart: +#endif + cx = (COLS - 1) / 2; /* 39 */ + cy = LINES / 2; /* 12 */ + ch = (cx > cy) ? cy : cx; /* usually cy */ + mradius = (3 * cy) / 4; /* 9 */ + hradius = cy / 2; /* 6 */ + sradius = (2 * cy) / 3; /* 8 */ + + for (i = 0; i < 12; i++) { + sangle = (i + 1) * (2.0 * PI) / 12.0; + sradius = (5 * cy) / 6; /* 10 */ + sdx = A2X(sangle, sradius); + sdy = A2Y(sangle, sradius); + sprintf(szChar, "%d", i + 1); + + mvaddstr(cy - sdy, cx + sdx, szChar); + } + + mvaddstr(0, 0, "ASCII Clock by Howard Jones (ha.jones@ic.ac.uk),1994"); + + sradius = 8; + for (;;) { + napms(1000); + + tim = time(0); + t = localtime(&tim); + + hours = (t->tm_hour + (t->tm_min / 60.0)); + if (hours > 12.0) + hours -= 12.0; + + mangle = ((t->tm_min) * (2 * PI) / 60.0); + mdx = A2X(mangle, mradius); + mdy = A2Y(mangle, mradius); + + hangle = ((hours) * (2.0 * PI) / 12.0); + hdx = A2X(hangle, hradius); + hdy = A2Y(hangle, hradius); + + sangle = ((t->tm_sec) * (2.0 * PI) / 60.0); + sdx = A2X(sangle, sradius); + sdy = A2Y(sangle, sradius); + + dline(3, cx, cy, cx + mdx, cy - mdy, '#'); + + attrset(A_REVERSE); + dline(2, cx, cy, cx + hdx, cy - hdy, '.'); + attroff(A_REVERSE); + + if (has_colors()) + attrset(COLOR_PAIR(1)); + + plot(cx + sdx, cy - sdy, 'O'); + + if (has_colors()) + attrset(COLOR_PAIR(0)); + + mvaddstr(LINES - 2, 0, ctime(&tim)); + refresh(); + if ((t->tm_sec % 5) == 0 + && t->tm_sec != lastbeep) { + lastbeep = t->tm_sec; + beep(); + } + + if ((ch = getch()) != ERR) { +#ifdef KEY_RESIZE + if (ch == KEY_RESIZE) { + erase(); + goto restart; + } +#endif + break; + } + + plot(cx + sdx, cy - sdy, ' '); + dline(0, cx, cy, cx + hdx, cy - hdy, ' '); + dline(0, cx, cy, cx + mdx, cy - mdy, ' '); + + } + + curs_set(1); + endwin(); + return 0; } diff --git a/contrib/ncurses/test/worm.c b/contrib/ncurses/test/worm.c index a02113b..5f0ab5d 100644 --- a/contrib/ncurses/test/worm.c +++ b/contrib/ncurses/test/worm.c @@ -34,26 +34,27 @@ Options: traces will be dumped. The program stops and waits for one character of input at the beginning and end of the interval. - $Id: worm.c,v 1.23 1999/03/06 22:52:04 tom Exp $ + $Id: worm.c,v 1.26 1999/10/23 01:31:40 tom Exp $ */ #include <test.priv.h> -#include <term.h> /* for tparm() */ - #include <signal.h> -#define cursor(col,row) move(row,col) +#define typeAlloc(type,n) (type *) malloc(n * sizeof(type)) +#define typeRealloc(type,n,p) (type *) realloc(p, n * sizeof(type)) -short *ref[128]; -static chtype flavor[]={ - 'O' , '*', '#', '$', '%', '0', '@', +static chtype flavor[] = +{ + 'O', '*', '#', '$', '%', '0', '@', }; #define MAXWORMS (sizeof(flavor)/sizeof(chtype)) -static const short xinc[]={ - 1, 1, 1, 0, -1, -1, -1, 0 -}, yinc[]={ - -1, 0, 1, 1, 1, 0, -1, -1 +static const short xinc[] = +{ + 1, 1, 1, 0, -1, -1, -1, 0 +}, yinc[] = +{ + -1, 0, 1, 1, 1, 0, -1, -1 }; static struct worm { int orientation, head; @@ -61,12 +62,13 @@ static struct worm { } worm[40]; static const char *field; -static int length=16, number=3; -static chtype trail=' '; +static int length = 16, number = 3; +static chtype trail = ' '; #ifdef TRACE int generation, trace_start, trace_end, singlestep; #endif /* TRACE */ +/* *INDENT-OFF* */ static const struct options { int nopts; int opts[3]; @@ -152,63 +154,90 @@ static const struct options { { 0, { 0, 0, 0 } }, { 0, { 0, 0, 0 } } }; +/* *INDENT-ON* */ + +static void +cleanup(void) +{ + standend(); + refresh(); + curs_set(1); + endwin(); +} + +static RETSIGTYPE +onsig(int sig GCC_UNUSED) +{ + cleanup(); + exit(EXIT_FAILURE); +} -static RETSIGTYPE onsig(int sig); -static float ranf(void); +static float +ranf(void) +{ + long r = (rand() & 077777); + return ((float) r / 32768.); +} int main(int argc, char *argv[]) { -int x, y; -int n; -struct worm *w; -const struct options *op; -int h; -short *ip; -int last, bottom; - - for (x=1;x<argc;x++) { - register char *p; - p=argv[x]; - if (*p=='-') p++; - switch (*p) { - case 'f': - field="WORM"; - break; - case 'l': - if (++x==argc) goto usage; - if ((length=atoi(argv[x]))<2||length>1024) { - fprintf(stderr,"%s: Invalid length\n",*argv); - return EXIT_FAILURE; - } - break; - case 'n': - if (++x==argc) goto usage; - if ((number=atoi(argv[x]))<1||number>40) { - fprintf(stderr,"%s: Invalid number of worms\n",*argv); - return EXIT_FAILURE; - } - break; - case 't': - trail='.'; - break; + short **ref; + int x, y; + int n; + int ch; + struct worm *w; + const struct options *op; + int h; + short *ip; + int last, bottom; + + for (x = 1; x < argc; x++) { + char *p; + p = argv[x]; + if (*p == '-') + p++; + switch (*p) { + case 'f': + field = "WORM"; + break; + case 'l': + if (++x == argc) + goto usage; + if ((length = atoi(argv[x])) < 2 || length > 1024) { + fprintf(stderr, "%s: Invalid length\n", *argv); + return EXIT_FAILURE; + } + break; + case 'n': + if (++x == argc) + goto usage; + if ((number = atoi(argv[x])) < 1 || number > 40) { + fprintf(stderr, "%s: Invalid number of worms\n", *argv); + return EXIT_FAILURE; + } + break; + case 't': + trail = '.'; + break; #ifdef TRACE - case 'S': - singlestep = TRUE; - break; - case 'T': - trace_start = atoi(argv[++x]); - trace_end = atoi(argv[++x]); - break; - case 'N': - _nc_optimize_enable ^= OPTIMIZE_ALL; /* declared by ncurses */ - break; + case 'S': + singlestep = TRUE; + break; + case 'T': + trace_start = atoi(argv[++x]); + trace_end = atoi(argv[++x]); + break; + case 'N': + _nc_optimize_enable ^= OPTIMIZE_ALL; /* declared by ncurses */ + break; #endif /* TRACE */ - default: - usage: - fprintf(stderr, "usage: %s [-field] [-length #] [-number #] [-trail]\n",*argv); - return EXIT_FAILURE; - } + default: + usage: + fprintf(stderr, + "usage: %s [-field] [-length #] [-number #] [-trail]\n", *argv); + return EXIT_FAILURE; + } } signal(SIGINT, onsig); @@ -219,154 +248,183 @@ int last, bottom; curs_set(0); - bottom = LINES-1; - last = COLS-1; + bottom = LINES - 1; + last = COLS - 1; #ifdef A_COLOR - if (has_colors()) - { + if (has_colors()) { int bg = COLOR_BLACK; start_color(); #ifdef NCURSES_VERSION if (use_default_colors() == OK) bg = -1; #endif - - init_pair(COLOR_GREEN, COLOR_GREEN, bg); - init_pair(COLOR_RED, COLOR_RED, bg); - init_pair(COLOR_CYAN, COLOR_CYAN, bg); - init_pair(COLOR_WHITE, COLOR_WHITE, bg); - init_pair(COLOR_MAGENTA, COLOR_MAGENTA, bg); - init_pair(COLOR_BLUE, COLOR_BLUE, bg); - init_pair(COLOR_YELLOW, COLOR_YELLOW, bg); - - flavor[0] |= COLOR_PAIR(COLOR_GREEN) | A_BOLD; - flavor[1] |= COLOR_PAIR(COLOR_RED) | A_BOLD; - flavor[2] |= COLOR_PAIR(COLOR_CYAN) | A_BOLD; - flavor[3] |= COLOR_PAIR(COLOR_WHITE) | A_BOLD; - flavor[4] |= COLOR_PAIR(COLOR_MAGENTA) | A_BOLD; - flavor[5] |= COLOR_PAIR(COLOR_BLUE) | A_BOLD; - flavor[6] |= COLOR_PAIR(COLOR_YELLOW) | A_BOLD; + +#define SET_COLOR(num, fg) \ + init_pair(num+1, fg, bg); \ + flavor[num] |= COLOR_PAIR(num+1) | A_BOLD + + SET_COLOR(0, COLOR_GREEN); + SET_COLOR(1, COLOR_RED); + SET_COLOR(2, COLOR_CYAN); + SET_COLOR(3, COLOR_WHITE); + SET_COLOR(4, COLOR_MAGENTA); + SET_COLOR(5, COLOR_BLUE); + SET_COLOR(6, COLOR_YELLOW); } #endif /* A_COLOR */ - ip=(short *)malloc(LINES*COLS*sizeof (short)); - - for (n=0;n<LINES;) { - ref[n++]=ip; ip+=COLS; + ref = typeAlloc(short *, LINES); + for (y = 0; y < LINES; y++) { + ref[y] = typeAlloc(short, COLS); + for (x = 0; x < COLS; x++) { + ref[y][x] = 0; + } } - for (ip=ref[0],n=LINES*COLS;--n>=0;) *ip++=0; #ifdef BADCORNER /* if addressing the lower right corner doesn't work in your curses */ - ref[bottom][last]=1; + ref[bottom][last] = 1; #endif /* BADCORNER */ - for (n=number, w= &worm[0];--n>=0;w++) { - w->orientation=w->head=0; - if (!(ip=(short *)malloc((length+1)*sizeof (short)))) { - fprintf(stderr,"%s: out of memory\n",*argv); - return EXIT_FAILURE; - } - w->xpos=ip; - for (x=length;--x>=0;) *ip++ = -1; - if (!(ip=(short *)malloc((length+1)*sizeof (short)))) { - fprintf(stderr,"%s: out of memory\n",*argv); - return EXIT_FAILURE; - } - w->ypos=ip; - for (y=length;--y>=0;) *ip++ = -1; + for (n = number, w = &worm[0]; --n >= 0; w++) { + w->orientation = w->head = 0; + if (!(ip = typeAlloc(short, (length + 1)))) { + fprintf(stderr, "%s: out of memory\n", *argv); + return EXIT_FAILURE; + } + w->xpos = ip; + for (x = length; --x >= 0;) + *ip++ = -1; + if (!(ip = typeAlloc(short, (length + 1)))) { + fprintf(stderr, "%s: out of memory\n", *argv); + return EXIT_FAILURE; + } + w->ypos = ip; + for (y = length; --y >= 0;) + *ip++ = -1; } if (field) { - register const char *p; - p=field; - for (y=bottom;--y>=0;) { - for (x=COLS;--x>=0;) { - addch((chtype)(*p++)); - if (!*p) p=field; - } - addch('\n'); - } + const char *p; + p = field; + for (y = bottom; --y >= 0;) { + for (x = COLS; --x >= 0;) { + addch((chtype) (*p++)); + if (!*p) + p = field; + } + } } napms(10); refresh(); +#ifndef TRACE + nodelay(stdscr, TRUE); +#endif for (;;) { #ifdef TRACE - if (trace_start || trace_end) { - if (generation == trace_start) { - trace(TRACE_CALLS); - getch(); - } else if (generation == trace_end) { - trace(0); - getch(); + if (trace_start || trace_end) { + if (generation == trace_start) { + trace(TRACE_CALLS); + getch(); + } else if (generation == trace_end) { + trace(0); + getch(); + } + + if (singlestep && generation > trace_start && generation < trace_end) + getch(); + + generation++; + } +#else + if ((ch = getch()) > 0) { +#ifdef KEY_RESIZE + if (ch == KEY_RESIZE) { + if (last != COLS - 1) { + for (y = 0; y <= bottom; y++) { + ref[y] = typeRealloc(short, COLS, ref[y]); + for (x = last + 1; x < COLS; x++) + ref[y][x] = 0; } - - if (singlestep && generation > trace_start && generation < trace_end) - getch(); - - generation++; + last = COLS - 1; } -#endif /* TRACE */ - - for (n=0,w= &worm[0];n<number;n++,w++) { - if ((x=w->xpos[h=w->head])<0) { - cursor(x=w->xpos[h]=0,y=w->ypos[h]=bottom); - addch(flavor[n % MAXWORMS]); - ref[y][x]++; + if (bottom != LINES - 1) { + ref = typeRealloc(short *, LINES, ref); + for (y = COLS; y <= bottom; y++) + free(ref[y]); + for (y = bottom + 1; y < LINES; y++) { + ref[y] = typeAlloc(short, COLS); + for (x = 0; x < COLS; x++) + ref[y][x] = 0; } - else y=w->ypos[h]; - if (++h==length) h=0; - if (w->xpos[w->head=h]>=0) { - register int x1, y1; - x1=w->xpos[h]; y1=w->ypos[h]; - if (--ref[y1][x1]==0) { - cursor(x1,y1); addch(trail); - } - } - op= &(x==0 ? (y==0 ? upleft : (y==bottom ? lowleft : left)) : - (x==last ? (y==0 ? upright : (y==bottom ? lowright : right)) : - (y==0 ? upper : (y==bottom ? lower : normal))))[w->orientation]; - switch (op->nopts) { - case 0: - refresh(); - curs_set(1); - endwin(); - return EXIT_SUCCESS; - case 1: - w->orientation=op->opts[0]; - break; - default: - w->orientation=op->opts[(int)(ranf()*(float)op->nopts)]; - } - cursor(x+=xinc[w->orientation], y+=yinc[w->orientation]); - - if (y < 0 ) y = 0; - addch(flavor[n % MAXWORMS]); - ref[w->ypos[h]=y][w->xpos[h]=x]++; + bottom = LINES - 1; } - napms(10); - refresh(); - } -} + } +#endif + /* + * Make it simple to put this into single-step mode, or resume + * normal operation -TD + */ + if (ch == 'q') { + cleanup(); + return (EXIT_SUCCESS); + } else if (ch == 's') { + nodelay(stdscr, FALSE); + } else if (ch == ' ') { + nodelay(stdscr, TRUE); + } + } +#endif /* TRACE */ -static RETSIGTYPE -onsig(int sig GCC_UNUSED) -{ - standend(); + for (n = 0, w = &worm[0]; n < number; n++, w++) { + if ((x = w->xpos[h = w->head]) < 0) { + move(y = w->ypos[h] = bottom, x = w->xpos[h] = 0); + addch(flavor[n % MAXWORMS]); + ref[y][x]++; + } else { + y = w->ypos[h]; + } + if (x > last) + x = last; + if (y > bottom) + y = bottom; + if (++h == length) + h = 0; + if (w->xpos[w->head = h] >= 0) { + int x1, y1; + x1 = w->xpos[h]; + y1 = w->ypos[h]; + if (y1 < LINES + && x1 < COLS + && --ref[y1][x1] == 0) { + move(y1, x1); + addch(trail); + } + } + op = &(x == 0 ? (y == 0 ? upleft : (y == bottom ? lowleft : + left)) : + (x == last ? (y == 0 ? upright : (y == bottom ? lowright : + right)) : + (y == 0 ? upper : (y == bottom ? lower : normal))))[w->orientation]; + switch (op->nopts) { + case 0: + cleanup(); + return EXIT_SUCCESS; + case 1: + w->orientation = op->opts[0]; + break; + default: + w->orientation = op->opts[(int) (ranf() * (float) op->nopts)]; + } + move(y += yinc[w->orientation], x += xinc[w->orientation]); + + if (y < 0) + y = 0; + addch(flavor[n % MAXWORMS]); + ref[w->ypos[h] = y][w->xpos[h] = x]++; + } + napms(10); refresh(); - curs_set(1); - endwin(); - exit(EXIT_FAILURE); -} - -static float -ranf(void) -{ -float rv; -long r = rand(); - - r &= 077777; - rv =((float)r/32767.); - return rv; + } } |