home *** CD-ROM | disk | FTP | other *** search
- -*-Text-*-
- This file, README, is part of CWEB-p. The current version of CWEB-p is p8c.
-
- The CWEB programs by Silvio Levy and Donald E. Knuth are based on programs by
- Knuth. The PC port (i.e., Turbo-C++ change files and executables) is made by
- Hans-Hermann Bode.
-
- The programs are distributed WITHOUT ANY WARRANTY, express or implied.
-
- This README file last updated 24 Jun 1993 by Hans-Hermann Bode.
-
- Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth
- Copyright (C) 1991,1992,1993 Hans-Hermann Bode
-
- Permission is granted to make and distribute verbatim copies of this
- document provided that the copyright notice and this permission notice
- are preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of this
- document under the conditions for verbatim copying, provided that the
- entire resulting derived work is distributed under the terms of a
- permission notice identical to this one.
-
- Please send comments, suggestions, etc. to one of the following addresses:
- -- levy@geom.umn.edu (if related to the original CWEB system),
- -- hhbode@dosuni1.rz.uni-osnabrueck.de or HHBODE@DOSUNI1.BITNET (if
- related to the PC port).
-
-
- INTRODUCTION
-
- The CWEB-p system is an adaptation of Silvio Levy's and Donald E. Knuth's
- CWEB system that supports installation with the Turbo-C++ compiler and
- provides PC-/MS-DOS executables.
-
-
- CONTENTS OF THE DISTRIBUTION
-
- The sources directory contains the following files from the original CWEB
- distribution:
-
- ./sources/readme README file from the original distribution
- ./sources/makefile Makefile from the original distribution
- ./sources/common.h header file to be included in ctangle.w and cweave.w
- ./sources/common.w common code for ctangle and cweave
- ./sources/ctangle.w the tangle processor
- ./sources/cweave.w the weave processor
- ./sources/prod.w production rules to be included in cweave.w
- ./sources/cwebmac.tex macros for formatting
- ./sources/cwebman.tex the user manual
- ./sources/cweb.1 manual page (nroff format)
- ./sources/cweb.el elisp file for GNU Emacs
- ./sources/common.c CTANGLEd product of common.w
- ./sources/ctangle.c CTANGLEd product of ctangle.w
-
- The examples directory contains examples of CWEB programming. They are from
- the original distribution, too. For use on PC systems, they probably have to
- be edited (for wmerge.w, that is used in the make process, a change file is
- provided).
-
- ./examples/readme README file from the original examples directory
- ./examples/makefile generic Makefile for CWEB applications
- ./examples/wc.w UNIX word-count utility
- ./examples/treeprin.w tree-structured directory lister by Norman Ramsey
- ./examples/wmerge.w WEB-like file merger by Silvio Levy
- ./examples/extex.w spellchecking filter for TeX and CWEB by Don Knuth
- ./examples/wordtest.w spellchecker by Don Knuth
- ./examples/xlib_typ.w include file for XView programs
- ./examples/xview_ty.w ditto
- ./examples/oemacs.w example XView application by Don Knuth
- ./examples/kspell.el Emacs interface to extex/wordtest
- ./examples/oemacs.el Emacs interface to oemacs
-
- The change files that set up the CWEB-p adaptation are in the changes
- directory.
-
- ./changes/common-h.ch for common.h
- ./changes/common.ch for common.w
- ./changes/ctangle.ch for ctangle.w
- ./changes/cweave.ch for cweave.w
- ./changes/prod.ch for prod.w
- ./changes/cwebmac.ch for cwebmac.tex
- ./changes/wmerge.ch for wmerge.w from the examples directory
-
- Note that several sets of change files (*-man.ch, *-vms.ch, *-pc.ch,
- *-amiga.ch) that come with the original CWEB system are not supported by and
- not provided with CWEB-p.
-
- Finally, in this (root) directory the following files do reside. The files
- common.c, ctangle.c, and cwebmac.tex include the changes from the changes
- directory .
-
- ./version note about the current version of CWEB-p
- ./readme this file
- ./makefile Makefile for Turbo C++
- ./cweb.man manual page (ASCII format)
- ./common.c product of sources/common.w and changes/common.ch
- ./ctangle.c product of sources/ctangle.w and changes/ctangle.ch
- ./wmerge.c product of examples/wmerge.w and changes/wmerge.ch
- ./cwebmac.tex product of sources/cwebmac.tex and changes/cwebmac.ch
- ./ctangle.exe executable tangle processor for PC-/MS-DOS systems
- ./cweave.exe executable weave processor for PC-/MS-DOS systems
- ./wmerge.exe executable WEB-like file merger for PC-/MS-DOS systems
-
-
- GETTING STARTED
-
- Before starting, you should run cwebman.tex (needs cwebmac.tex!) through TeX
- and print out the manual; the first step can be done by calling `make man'
- from the Makefile.
-
- Then, all you have to do to get a working CWEB system on PC-/MS-DOS is to
- copy ctangle.exe and cweave.exe to your binaries directory and cwebmac.tex
- (from the root directory) to your TeX-inputs directory; that's it, you are
- ready to use CWEB!
-
-
- NOTES
-
- 1. When you want to recompile the tangle and weave processors, for
- bootstrapping you find a pretangled common.c, ctangle.c, and wmerge.c for
- the Turbo-C++ compiler in the root directory of this distribution. From
- these you can build working tangle and wmerge processors for CWEB, which in
- turn are the basis for recompiling the whole system. For other PC-/MS-DOS
- compilers, you must use the ctangle.exe and wmerge.exe from this
- distribution (a ctangle from previous versions may or may not work); in this
- case, delete common.c, ctangle.c, and wmerge.c from the root directory,
- since they may not include the right changes.
-
- Then, edit the Makefile corresponding to your environment and call make.
- Note that the Makefile from the sources directory is lacking some
- dependencies and will not work for this distribution. So, better use the
- Makefile from the root directory as a template.
-
- The Makefile from the root directory is intended for Turbo Make, Version 3.6
- (earlier versions probably will not work!). If you are using the real-mode
- version of Turbo Make 3.6, you should say `make -S all' to prevent from
- running out of memory. The Makefile is prepared to use change files from a
- `fixes' directory and from a `private' directory in addition to the
- `changes' directory. If you use this feature, you must have Klaus
- Guntermann's tie processor for concatenating multiple change files (take a
- look at ftp.th-darmstadt.de); then you can call `make -S -D_fix all' to
- include the files from the changes and fixes directory or `make -S -D_priv
- all' to include the files from all three directories.
-
- 2. If you like to or have to make changes to the CWEB-p system, it is
- recommended that you don't edit the files in the sources or changes
- directories, but set up a complete new group of change files in a directory
- called `fixes' or `private' and include it in the make process
- appropriately. This will save much effort when you get a new version of
- CWEB-p.
-
- Incidentally, if you try the recompilation on a PC-/MS-DOS system with
- another compiler than Turbo C++, you may have no luck with the Turbo-C++
- changes. In this case, it's best to create a new set of change files similar
- to the `changes' group and use the supplied executables to generate new .c
- files rather than to edit the .c files themselves. You can set up such new
- changes in a `fixes' or `private' directory by making use of the provided
- changes and just calling make as described above.
-
- 3. If you want a full documentation of the tangle and weave programs, say
- `make doc' (you may include the same options as described in Note 1). This
- should produce the files common.dvi, ctangle.dvi, cweave.dvi, and---with the
- Turbo Makefile---cwebman.dvi.
-
- 4. To delete all intermediate files created in the make processes say `make
- clean', to delete even the DVI files with the Turbo Makefile say `make
- veryclean'.
-