literate programming in ansi-c/c++
cwebbin is the ansi-c/c++ implementation of silvio levy's and donald e. knuth's cweb system and donald e. knuth's ctwill program. it requires the contents of the original source drop and the secondary source drop, to which it applies a set of change files to fix warnings issued by modern c/c++ compilers and to introduce advanced features. see the extensive readme for the full story.
extract cwebbin-2019.tar.gz and add the contents of cweb-3.64c.tar.gz and ctwill.tar.gz for the full set of source files. unix/linux users should work with make -f Makefile.unix exclusively (targets ‘boot,’ ‘cautiously,’ and ‘all’).
git archive -o cweb-3.64c.tar.gz cweb-3.64c git archive -o cwebbin-2019.tar.gz cwebbin-2019
respectively, put these two tarballs and the original ctwill.tar.gz in the SOURCES directory and cwebbin.spec in the SPECS directory of your build arena, and run
rpmbuild -ba SPECS/cwebbin.spec debbuild -ba SPECS/cwebbin.spec
depending on your preferences.
plain vanilla cweb
if all you want is the original cweb without any add-ons but minus heaps of compiler warnings, use the special option
--with ansi_only to include only the minimal changes required for a clean compilation.
rpmbuild -ba SPECS/cwebbin.spec --with ansi_only debbuild -ba SPECS/cwebbin.spec --with ansi_only
cweb for texlive
the extended sources and the build system were modified to smoothly integrate with the texlive build system. by invoking
debbuild -bi SPECS/cwebbin.spec --with texlive
you receive a small tarball
cweb-texlive.tar.gz, which should be extracted in texlive's source directory
texk/web2c/cwebdir. this tarball contains
*-w2c.ch files that modify the original cweb sources for the texlive ecosystem. additionally, it contains language catalogs, tex macros, and cweb include files.
cwebbin – CWEB for ANSI-C/C++ compilers
A highly portable and extended version of Levy/Knuth CWEB 3.64c for UNIX, Windows, Mac (and possibly other operating systems). TeX macros, CWEB macros, and NLS catalogs are included for German, French (partially), and Italian program documentation on any machine.
- Completely revised code base; several bug fixes; clean compilation (with both C and TeX) on at least four different architectures.
- Added CTWILL program with tools and utilities for brave users; including introductory manpage.
- Internationalization of CTANGLE, CWEAVE, and CTWILL with “GNU gettext utilities”.
- New code base for CWEB in TeX Live 2019, incorporating all features of the TL 2018 version and adding new features from CWEBbin.
|Copyright||1991, 1993 Carsten Steger|
1991–1993 Hans-Hermann Bode
1992 Klaus Guntermann
1993–2000, 2005, 2011, 2018, 2019 Andreas Scherer