Permalink
Browse files

snapshot of project "ncurses", label v1_9_2d

  • Loading branch information...
1 parent 04d5ac8 commit c801a89fe4ff789bc789fa4385d1929e87ac7818 @ThomasDickey committed Jun 20, 1995
Showing with 2,604 additions and 2,034 deletions.
  1. +3 −3 ANNOUNCE
  2. +5 −1 CHANGES
  3. +12 −18 INSTALL
  4. +6 −3 MANIFEST
  5. +1 −1 Makefile.in
  6. +125 −7 aclocal.m4
  7. +4 −4 announce.html
  8. +158 −0 announce.html.in
  9. +3 −3 c++/Makefile.in
  10. +1 −1 c++/cursesw.cc
  11. +4 −0 c++/cursesw.h
  12. +93 −16 configure.in
  13. +21 −0 dist.mk
  14. +46 −0 man/curs_overlay.3x
  15. +2 −2 man/ncurses.3x
  16. +34 −18 man/terminfo.5
  17. +32 −0 misc/ncurses-intro.doc
  18. +158 −43 misc/ncurses-intro.html
  19. +34 −0 mk-1st.awk
  20. +47 −0 mk-2nd.awk
  21. +1 −0 src/MKkeys.awk
  22. +98 −324 src/Makefile.in
  23. +8 −9 src/SigAction.h
  24. +1 −1 src/clear.c
  25. +1 −0 src/clear.sh
  26. +1 −1 src/comp_main.c
  27. +4 −1 src/comp_scan.c
  28. +101 −78 src/curses.h
  29. +3 −3 src/curses.priv.h
  30. +149 −0 src/keys.list
  31. +11 −2 src/lib_doupdate.c
  32. +1 −1 src/lib_getstr.c
  33. +1 −0 src/lib_initscr.c
  34. +16 −4 src/lib_mvwin.c
  35. +1 −1 src/lib_newterm.c
  36. +25 −17 src/lib_overlay.c
  37. +4 −0 src/lib_scroll.c
  38. +0 −3 src/lib_set_term.c
  39. +11 −2 src/lib_setup.c
  40. +67 −26 src/lib_tstp.c
  41. +25 −12 src/lib_window.c
  42. +81 −0 src/modules
  43. +30 −67 src/panel.c
  44. +9 −0 src/panel.h
  45. +2 −1 src/read_entry.c
  46. +10 −6 src/sigaction.c
  47. +5 −0 src/strerror.c
  48. +2 −10 src/tput.c
  49. +1 −1 src/version.h
  50. +4 −0 src/vsscanf.c
  51. +1 −1 src/write_entry.c
  52. +2 −3 test/Makefile.in
  53. +30 −23 test/blue.c
  54. +45 −88 test/bs.c
  55. +24 −14 test/firework.c
  56. +2 −2 test/gdc.c
  57. +8 −3 test/hanoi.c
  58. +56 −42 test/knight.c
  59. +40 −43 test/ncurses.c
  60. +16 −24 test/newdemo.c
  61. +8 −10 test/rain.c
  62. +14 −11 test/tclock.c
  63. +32 −76 test/testcurs.c
  64. +2 −2 test/view.c
  65. +13 −11 test/worm.c
  66. +849 −991 test/xmas.c
View
@@ -1,12 +1,12 @@
- ANNOUNCING NCURSES @VERSION@
+ ANNOUNCING NCURSES 1.9.2D
-New in @VERSION@:
+New in 1.9.2d:
* Integrated panels support.
* ncurses output can now be redirected.
-Overview of ncurses @VERSION@
+Overview of ncurses 1.9.2d
The ncurses library is a freeware emulation of System V Release 4.0
curses. It uses terminfo format, supports color and multiple
View
@@ -406,6 +406,10 @@ traceon(); in your code and link with -ldcurses.
*) include <errno.h> in write_entry.c (most "braindead" includes declare errno
in that file).
-### ncurses 1.9 -> 1.9.2
+### ncurses 1.9.1 -> 1.9.2
*) use 'autoconf' to implement 'configure' script.
+
+### ncurses 1.9.2c -> 1.9.2d
+
+*)
View
@@ -65,20 +65,22 @@ INSTALLATION PROCEDURE:
'make install.progs' installs tic, infocmp, clear and tput.
'make install.libs' installs the headers and libraries.
'make install.man' installs the man pages.
- 'make install.data' installs the terminfo database. You can skip this
+
+5. Type 'make install.data' installs the terminfo database. You can skip this
part if your system already has such a database.
- CAVEAT EMPTOR: 'install.data' or 'install' will NUKE any existing
- terminfo database. If you have any custom or unusual entries SAVE them
- before you install ncurses.
-
- 'make install' will do all the above.
-
-5. The c++ directory has C++ classes that are built on top of ncurses and
+ ##############################################################################
+ # CAVEAT EMPTOR: 'install.data' will NUKE any existing #
+ # terminfo database. If you have any custom or unusual entries SAVE them #
+ # before you install ncurses. I have a file called terminfo.custom for #
+ # this purpose. Don't forget to run tic on the file once your done. #
+ ##############################################################################
+
+7. The c++ directory has C++ classes that are built on top of ncurses and
panels. You need to have panels installed before you can compile and
run the demo.
-5a. If you're running under Linux, you must either (a) tell Linux that the
+8. If you're running under Linux, you must either (a) tell Linux that the
console terminal type is `linux', or (b) make a link to or copy of the
linux entry in the appropriate place under your terminfo directory,
named `console'.
@@ -92,15 +94,7 @@ INSTALLATION PROCEDURE:
directory. Note: this will go away next time you do `make install.data'
and you'll have to redo it.
-TESTING:
-
-6. Change to the subdirectory test and type 'make all'.
-
- This should compile all of the test programs in the release. Once again,
- there should be no errors. You'll get lots of warnings, just ignore them.
- Read the file test/README for details on what to expect.
-
-7. Run ncurses and several other test programs.
+9. Run ncurses and several other test programs.
The ncurses program is designed specifically to test the ncurses library.
You can use it to verify that the screen highlights work correctly, that
View
@@ -6,6 +6,7 @@
./README
./aclocal.m4
./announce.html
+./announce.html.in
./c++/Makefile.in
./c++/README-first
./c++/cursesp.cc
@@ -15,6 +16,7 @@
./c++/demo.cc
./configure
./configure.in
+./dist.mk
./include/config_h.in
./install-sh
./man/Makefile.in
@@ -65,8 +67,11 @@
./man/terminfo.5
./man/tic.1m
./man/tput.1
+./misc/ncurses-intro.doc
./misc/ncurses-intro.html
./misc/terminfo.src
+./mk-1st.awk
+./mk-2nd.awk
./mkinstalldirs
./ncurses.lsm
./src/Caps
@@ -151,6 +156,7 @@
./src/lib_unctrl.c
./src/lib_vidattr.c
./src/lib_window.c
+./src/modules
./src/object.h
./src/panel.c
./src/panel.h
@@ -171,19 +177,16 @@
./src/write_entry.c
./test/Makefile.in
./test/README
-./test/battle.c
./test/blue.c
./test/bs.6
./test/bs.c
-./test/copy.c
./test/firework.c
./test/gdc.6
./test/gdc.c
./test/hanoi.c
./test/knight.c
./test/ncurses.c
./test/newdemo.c
-./test/over.c
./test/rain.c
./test/tclock.c
./test/testcurs.c
View
@@ -1,7 +1,7 @@
# Master Makefile for ncurses library.
SHELL = /bin/sh
-VERSION = 1.9.2c
+VERSION = 1.9.2d
@SET_MAKE@
View
@@ -44,7 +44,7 @@ main()
])
rm -f nc_test.out
AC_MSG_RESULT($nc_cv_sizeof_bool)
-test $nc_cv_sizeof_bool != unknown && AC_DEFINE_UNQUOTED(CXX_TYPEOF_BOOL,$nc_cv_sizeof_bool)
+test $nc_cv_sizeof_bool != unknown && AC_DEFINE_UNQUOTED(CXX_TYPE_OF_BOOL,$nc_cv_sizeof_bool)
])
dnl ---------------------------------------------------------------------------
dnl
@@ -62,6 +62,71 @@ AC_MSG_RESULT($nc_cv_extern_errno)
test $nc_cv_extern_errno = yes && AC_DEFINE(HAVE_EXTERN_ERRNO)
])
dnl ---------------------------------------------------------------------------
+dnl Construct the list of include-options according to whether we're building
+dnl in the source directory or using '--srcdir=DIR' option. The applications
+dnl (in 'test' and 'c++') have a different include-path from the library units
+dnl because the latter are compiled within subdirectories of 'src'.
+define([NC_INCLUDE_DIRS],
+[
+APP_INCLUDES="-I. -I../src -I../include"
+LIB_INCLUDES="-I.. -I../../include"
+if test "$srcdir" != "."; then
+ APP_INCLUDES="$APP_INCLUDES -I\$(srcdir)/../src -I\$(srcdir)/../include"
+ LIB_INCLUDES="$LIB_INCLUDES -I\$(srcdir) -I\$(srcdir)/../include"
+fi
+APP_INCLUDES="$APP_INCLUDES -I\$(includedir)"
+AC_SUBST(APP_INCLUDES)
+AC_SUBST(LIB_INCLUDES)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Append definitions and rules for the given models to the src/Makefile
+define([NC_LIB_RULES],
+[
+for nc_item in $NC_LIST_MODELS
+do
+ echo 'Appending rules for '$nc_item' library'
+ NC_UPPERCASE($nc_item,NC_ITEM)
+ NC_LIB_SUFFIX($nc_item,nc_suffix)
+ $AWK -f $srcdir/mk-1st.awk -v MODEL=$NC_ITEM model=$nc_item suffix=$nc_suffix $srcdir/src/modules >>src/Makefile
+ $AWK -f $srcdir/mk-2nd.awk -v MODEL=$NC_ITEM model=$nc_item srcdir=$srcdir echo=$WITH_ECHO $srcdir/src/modules >>src/Makefile
+ test ! -d src/$nc_item && mkdir src/$nc_item
+done
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Compute the library-suffix from the given model name
+define([NC_LIB_SUFFIX],
+[
+ case $1 in
+ normal) $2='.a' ;;
+ debug) $2='_g.a' ;;
+ profile) $2='_p.a' ;;
+ shared) $2='.so' ;;
+ esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Compute the string to append to -library from the given model name
+define([NC_LIB_TYPE],
+[
+ case $1 in
+ normal) $2='' ;;
+ debug) $2='_g' ;;
+ profile) $2='_p' ;;
+ shared) $2='' ;;
+ esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Construct the list of library names to generate.
+define([NC_LIBS_TO_MAKE],
+[
+LIBS_TO_MAKE=""
+for nc_item in $nc_list_models
+do
+ NC_LIB_SUFFIX($nc_item,nc_suffix)
+ LIBS_TO_MAKE="$LIBS_TO_MAKE libncurses$nc_suffix libpanel$nc_suffix"
+done
+AC_SUBST(LIBS_TO_MAKE)dnl
+])dnl
+dnl ---------------------------------------------------------------------------
dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
dnl (GNU 'make' does both :-)
@@ -76,7 +141,7 @@ AC_CACHE_VAL(nc_cv_makeflags,[
all :
echo '.$nc_option'
EOF
- set nc_result=`${MAKE-make} -f ncurses.tmp`
+ set nc_result=`${MAKE-make} -f ncurses.tmp 2>/dev/null`
if test "$nc_result" != "."
then
nc_cv_makeflags=$nc_option
@@ -90,6 +155,49 @@ AC_SUBST(nc_cv_makeflags)
]
)
dnl ---------------------------------------------------------------------------
+dnl Attempt to determine the appropriate CC/LD options for creating a shared
+dnl library.
+define([NC_SHARED_OPTS],
+[
+ nc_systype="`(uname -s || hostname) 2>/dev/null | sed 1q`"
+ if test -z "$nc_systype"; then nc_systype=unknown;fi
+ case $nc_systype in
+ Linux)
+ CC_SHARED_OPTS='-fPIC'
+ MK_SHARED_LIB='gcc -o $[@] -shared -Wl,-soname,$[@],-stats'
+ ;;
+ SunOS)
+ CC_SHARED_OPTS='-pic'
+ MK_SHARED_LIB='ld --assert-pure-text -o $[@]'
+ ;;
+ *)
+ CC_SHARED_OPTS='unknown'
+ MK_SHARED_LIB='echo unknown'
+ ;;
+ esac
+ AC_SUBST(CC_SHARED_OPTS)
+ AC_SUBST(MK_SHARED_LIB)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Check for declarion of sys_errlist in one of stdio.h and errno.h.
+dnl Declaration of sys_errlist on BSD4.4 interferes with our declaration.
+dnl Reported by Keith Bostic.
+define([NC_SYS_ERRLIST],
+[
+AC_MSG_CHECKING([declaration of sys_errlist])
+AC_CACHE_VAL(nc_cv_dcl_sys_errlist,[
+ AC_TRY_COMPILE([
+#include <stdio.h>
+#include <sys/types.h>
+#include <errno.h> ],
+ [ char *c = (char *) *sys_errlist; ],
+ [nc_cv_dcl_sys_errlist=yes],
+ [nc_cv_dcl_sys_errlist=no])
+ ])
+AC_MSG_RESULT($nc_cv_dcl_sys_errlist)
+test $nc_cv_dcl_sys_errlist = yes && AC_DEFINE(HAVE_EXTERN_SYS_ERRLIST)
+])dnl
+dnl ---------------------------------------------------------------------------
dnl On some systems ioctl(fd, TIOCGWINSZ, &size) will always return {0,0} until
dnl ioctl(fd, TIOCSWINSZ, &size) is called to explicitly set the size of the
dnl screen.
@@ -111,11 +219,14 @@ AC_CACHE_VAL(nc_cv_use_tiocgwinsz,[
int main()
{
static struct winsize size;
- if (ioctl(0, TIOCGWINSZ, &size) < 0
- || size.ws_row == 0
- || size.ws_col == 0)
- exit(1);
- exit(0);
+ int fd;
+ for (fd = 0; fd <= 2; fd++) { /* try in/out/err in case redirected */
+ if (ioctl(0, TIOCGWINSZ, &size) == 0
+ && size.ws_row > 0
+ && size.ws_col > 0)
+ exit(0);
+ }
+ exit(1);
}
],
[nc_cv_use_tiocgwinsz=yes],
@@ -141,3 +252,10 @@ AC_MSG_RESULT($nc_cv_type_sigaction)
test $nc_cv_type_sigaction = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
])
dnl ---------------------------------------------------------------------------
+dnl Make an uppercase version of a given name
+define([NC_UPPERCASE],
+[
+changequote(,)dnl
+$2=`echo $1 |tr '[a-z]' '[A-Z]'`
+changequote([,])dnl
+])dnl
View
@@ -5,16 +5,16 @@
<link rev=made href=mailto:esr@snark.thyrsus.com>
</HEAD>
<BODY>
-<TITLE>Announcing ncurses @VERSION@</TITLE>
-<H1>Announcing ncurses @VERSION@</H1>
+<TITLE>Announcing ncurses 1.9.2d</TITLE>
+<H1>Announcing ncurses 1.9.2d</H1>
-<H2>New in @VERSION@:</H2>
+<H2>New in 1.9.2d:</H2>
<UL>
<LI> Integrated panels support.
<LI> ncurses output can now be redirected.
</UL>
-<H2>Overview of ncurses @VERSION@</H2>
+<H2>Overview of ncurses 1.9.2d</H2>
The ncurses library is a freeware emulation of System V Release 4.0 curses.
It uses terminfo format, supports color and multiple highlights and forms
Oops, something went wrong.

0 comments on commit c801a89

Please sign in to comment.