CTAN Comprehensive TeX Archive Network

Directory web/c_cpp/cwebbin


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’).

advanced packaging

alternatively, you may want to use rpmbuild or debbuild for compiling the sources and for creating installable packages in rpm and deb format. clone cweb and cwebbin, create the source drops with

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). macros, CWEB macros, and NLS catalogs are included for German, French (partially), and Italian program documentation on any machine.

Major features:

  • Completely revised code base; several bug fixes; clean compilation (with both C and ) 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 Live 2019, incorporating all features of the TL 2018 version and adding new features from CWEBbin.

Version3.64c 2019-01-01
LicensesMIT License
Copyright1991, 1993 Carsten Steger
1991–1993 Hans-Hermann Bode
1992 Klaus Guntermann
1993–2000, 2005, 2011, 2018, 2019 Andreas Scherer
MaintainerAndreas Scherer
Guest Book Sitemap Contact Contact Author