Go to the previous, next section.

# GNU Software Available Now

We offer Unix software source distributions tapes in `tar` format on the following media:

- 1600bpi 9-track reel tape

- 8mm Exabyte cartridges

- Sun QIC-24 cartridges (readable on some other systems)

- Hewlett-Packard 16-track cartridges

- IBM RS/6000 QIC-150 cartridges (readable on some other systems) (the RS/6000 Emacs tape has an Emacs binary as well)

We also offer:

- CD-ROM (see "GNU Source Code CD-ROM")

- MS-DOS diskettes with some GNU software (see "MS-DOS Distribution")

- VMS tapes (which include sources and executables) for GNU Emacs and the GNU C compiler (see "VMS Emacs and Compiler Tapes")

The contents of the various 9-track and cartridge tapes for Unix systems are the same (except for the RS/6000 Emacs tape, which also has executables); only the media are different (see the "Free Software Foundation Order Form"). Source code for the documentation comes in Texinfo format. We welcome all bug reports.

Some of the files on the tapes may be compressed with `gzip` to make them fit. Refer to the top-level ``README'` file at the beginning of each tape for instructions on uncompressing them. `uncompress` and `unpack` do not work!

Version numbers listed after program names were current at the time this Bulletin was published. When you order a distribution tape, some of the programs might be newer, and therefore the version number higher.

### Contents of the Emacs Tape

- GNU Emacs 18.59

  In 1975, Richard Stallman developed the first Emacs, an extensible, customizable real-time display editor. GNU Emacs is his second implementation. It offers true Lisp--smoothly integrated into the editor--for writing extensions, and provides an interface to MIT's X Window System. In addition to its powerful native command set, extensions which emulate other popular editors are distributed: vi, EDT (DEC's VMS editor), and Gosling (aka Unipress) Emacs. It has many other features, which make it a full computing support environment. It is described by the GNU Emacs Manual, the GNU Emacs Lisp Reference Manual, and a reference card. Source for all three come with the software.

  GNU Emacs 18.59 runs on many Unix systems (arranged by hardware): Alliant FX/80 & FX/2800, Altos 3068, Amdahl (UTS), Apollo, AT&T (3Bs & 7300 PC), DG Aviion, Bull DPX/2 (2nn & 3nn) CCI 5/32 & 6/32, Celerity, Convex, Digital (DECstation 3100 & 5000 (PMAXes), Mips, VAX (BSD, System V, & VMS)), Motorola Delta 147 & 187 Dual, Elxsi 6400, Encore (DPC, APC, & XPC), Gould, HP (9000 series 200, 300, 700, & 800, but not series 500), HLH Orion (original & 1/05), IBM (RS/6000 (AIX), RT/PC (4.2 & AIX), & PS/2 (AIX (386 only))), ISI (Optimum V, 80386), Intel 860 & 80386 (BSD, Esix, SVR3, SVR4, SCO, ISC, IX, AIX, & others (for MS-DOS see "MS-DOS Distribution" & "Free Software for Microcomputers")), Iris (2500, 2500 Turbo, & 4D), Masscomp, MIPS, National Semiconductor 32000, NeXT (Mach), NCR Tower 32 (SVR2 & SVR3), Nixdorf Targon 31, Nu (TI & LMI), pfa50, Plexus, Prime EXL, Pyramid (original & MIPS), Sequent (Balance & Symmetry), SONY News (m68k & MIPS), Stride (system release 2), all Suns (including 386i), all SunOS & some Solaris versions, Tadpole, Tahoe, Tandem Integrity S2, Tektronix (16000 & 4300), Triton 88, Ustation E30 (SS5E), Whitechapel (MG1), & Wicat.

  Arranged by operating system: AIX (RS/6000, RT/PC, 386-PS/2), BSD (versions 4.1, 4.2, 4.3), DomainOS, Esix (386), HP-UX (HP 9000 series 200, 300, 700, & 800 but not series 500), ISC (386), IX (386), Mach, Microport, NewsOS (Sony m68k & MIPS) SCO (386), SVR0 (Vax & AT&T 3Bs), SVR2, SVR3, SVR4, Solaris 2.0, SunOS, UTS (Amdahl), Ultrix (versions 3.0, 4,1), Uniplus 5.2 (Dual machines), VMS (versions 4.0, 4.2, 4.4, 5,5), & Xenix (386).

- GNU Emacs 19.8

  Version 19 is in beta-release. Unlike some other recent derivations of Emacs, GNU Emacs 19 continues to work on character-only terminals as well as under the X Window System. New features in Emacs 19 include:

  - multiple X windows ("frames" to Emacs), with a separate X window for the minibuffer or with a minibuffer attached to each X window

  - associating property lists with regions of text in a buffer

  - multiple fonts and colors defined by those properties

  - simplified and improved processing of function keys, mouse clicks, and mouse movement

  - X selection processing, including CLIPBOARD selections

  - hooks to be run if point or mouse moves outside a certain range

  - menu bars and popup menus defined by keymaps

  - static menu bars

  - scrollbars

  - before and after change hooks

  - source-level debugging of Emacs Lisp programs

  - support for European character sets

  - floating point numbers

  - improved buffer allocation, using a new mechanism capable of
    returning storage to the system when a buffer is killed

  - interfacing with the X resource manager

  - support for the GNU configuration scheme

  - good RCS support

  - many updated libraries

  Emacs 19 has been tested on these machines: Sun SPARCstation (running SunOS 4.1.1, 4.1.2 & 4.1.3, and Solaris 1.0 & 1.1), DECstation (running Ultrix), IBM RS/6000 (running AIX 3.2), HP 9000/300 (running BSD 4.3), Motorola Delta SysV68 on mvme147 (running system V r3v7), & IBM-compatibles using an 80386 or 80486 (running Linux 0.99.9, Esix System V Release 4.0.4, or SCO 3.2v4 (with ODT, SCO's version of X)).

  Other configurations supported by Emacs 18 should work with few adjustments; as users tell us more about their experiences with different systems, we will augment the list.

- GNU Calc 2.02

  Calc (written by Dave Gillespie in Emacs Lisp) is an extensible, advanced desk calculator and mathematical tool that runs as part of GNU Emacs. It comes with source for the Calc Manual and reference card, which serves as a tutorial and reference. If you wish, you can use Calc just as a simple four-function calculator, but it provides additional features including choice of algebraic or RPN (stack-based) entry, logarithmic functions, trigonometric and financial functions, arbitrary precision, complex numbers, vectors, matrices, dates, times, infinities, sets, algebraic simplification, differentiation, and integration.

- CLISP 1993.04.05

  CLISP is a Common Lisp implementation by Bruno Haible and Michael Stoll. It mostly supports the Common Lisp described by Common LISP: The Language (1st edition). CLISP includes an interpreter, a compiler and, for some machines, a screen editor. CLISP needs only 1.5 MB of memory and runs on many microcomputers (including the Atari ST, Amiga 500-2000, most MS-DOS systems, & OS/2) and on some Unix workstations (Linux, SunOS (SPARC), Sun386, HP-UX (HP 9000/800), & others).

- PCL 1993.03.18

  PCL is a free implementation of a large subset of CLOS, the Common Lisp Object System. PCL was written by Xerox Corporation.

- `gzip` 1.0.7

  Some of the contents of our tape and FTP distributions are compressed. We have software on our tapes to uncompress these files. Due to patent troubles with `compress`, we have switched to another compression program, `gzip`. `gzip` can expand LZW-compressed files but uses a different algorithm for compression which generally produces better results. It also uncompresses files compressed with System V's `pack` program.

- `make` 3.67

  GNU `make` supports POSIX 1003.2 and has all but a few obscure features of the BSD and System V versions of `make`, as well as many of our own extensions. GNU extensions include long options, parallel compilation, conditional execution, and functions for text manipulation. Source for the Make Manual comes with the program.

  GNU `make` is on several of our tapes because some native `make` programs lack the `VPATH` feature essential for using the GNU configure system to its full extent. A script is included to build GNU `make` on such systems.

- Texinfo 3.1

  Texinfo is a set of utilities which generate printed manuals and online hypertext-style documentation (called "Info"), and provide means for reading the online versions. Version 3 contains both GNU Emacs Lisp and standalone C programs, as well as source for the Texinfo Manual.

  Texinfo is distributed on several of the tapes to insure that it is possible to rebuild and read Info files for various programs.

### Contents of the Scheme Tape

This tape contains MIT Scheme 7.1. Scheme is a simplified, lexically-scoped dialect of Lisp. It was designed at MIT and other universities to teach students the art of programming, and to research new parallel programming constructs and compilation techniques. The current version conforms to the (MIT AI Lab Memo 848b), for which TeX source is included.

MIT Scheme is written in C, but is presently hard to bootstrap. Binaries which can be used to bootstrap Scheme are available for the following systems:

- HP 9000 series 300, 400, 700, and 800 running HP-UX 7.0 or 8.0

- NeXT running NeXT OS 1.0 or 2.0

- Sun 3 or Sun 4 running SunOS 4.1

- DECstation 3100/5100 running Ultrix 4.0

- Sony NWS-3250 running NEWS OS 5.01

- Vax running 4.3BSD

### Contents of the Languages Tape

This tape contains programming tools: compilers, interpreters, and related programs (parsers, conversion programs, debuggers, etc.).

- GCC 1.42

  The GNU C compiler is a fairly portable optimizing compiler which performs automatic register allocation, common sub-expression elimination, invariant code motion from loops, induction variable optimizations, constant propagation and copy propagation, delayed popping of function call arguments, tail recursion elimination, integration of inline functions, and frame pointer elimination, plus many local optimizations that are automatically deduced from the machine description.

  GCC supports full ANSI C, traditional C, and GNU C extensions. It generates good code for the 32000, 680x0, 80386, Alliant, Convex, Tahoe & VAX CPUs, and for these RISC CPUs: i860, Pyramid, SPARC, & SPUR. The MIPS RISC CPU is also supported. Other supported systems include (arranged by hardware): 386 (AIX), Alliant FX/8, Altos 3068, Apollo 68000/68020 (Aegis), AT&T 3B1, Convex C1 & C2, DECstation 3100 & 5000, DEC VAX, Encore MultiMax (NS32000), Genix NS32000, Harris HCX-7 & HCX-9, HP-UX 68000/68020, HP 9000 series 200 & 300 (BSD), IBM PS/2 (AIX), Intel 386 (System V, Xenix, BSD, but not MS-DOS (but see "MS-DOS Distribution" & "Free Software for Microcomputers")), Iris MIPS machine, ISI 68000/68020, MIPS, NeXT, Pyramid (original), Sequent Balance (NS32000) and Symmetry (i386), SONY News, Sun (2, 3 (optionally with FPA), 4, SPARCstation, & Sun-386i).

  Arranged by operating system: AIX (i386-PS/2), BSD (Alliant FX/8, Apollo, Convex, HP m68k (series 200 & 300), i386, ISI m68k, MIPS, Pyramid (original), Sequent (Balance & Symmetry), Genix (NS32000), HP-UX (m68k), Irix (Iris MIPS), Mach (NeXT m68k), NewsOS (Sony m68k), SunOS (Sun-2, Sun-3, Sun-4, SPARC, & Sun--386i), System V (i386, Altos 3068, AT&T 3B1), Ultrix (DECstation 3100 & 5000, VAX), Umax (Encore NS32000), and Xenix (i386).

  Source for the GCC manual, Using and Porting GNU CC, is included with the compiler. The manual describes how to run and install the GNU C compiler, and how to port it to new systems. It describes new features and incompatibilities of the compiler, but people not familiar with C will also need a good reference on the C programming language.

- G`++` 1.42.0

  G`++` is a set of changes for GCC version 1 which supports C`++`. As far as possible, G`++` is kept compatible with the evolving draft ANSI standard, but not with `cfront` (the AT&T compiler), as `cfront` has been diverging from ANSI. G`++` comes with source for the GNU G`++` User's Guide (not yet published on paper). G`++` compiles source quickly, provides good error messages, and works well with GDB. Each release of G`++` 1 depends on the same numbered release of GCC 1 (in GCC version 2, G`++` is merged).

- libg`++` 1.39.0

  The GNU C`++` library, libg`++`, is an extensive, documented collection of C`++` classes and support tools for use with G`++`.

- NIH Class Library 3.0

  The NIH Class Library (formerly known as "OOPS", Object-Oriented Program Support) is a portable collection of G`++` classes, similar to those in Smalltalk-80, which has been developed by Keith Gorlen of the National Institutes of Health (NIH), using the C`++` programming language.

- BFD The BFD (Binary File Descriptor) library allows a program which operates on object files (such as `ld` or GDB) to support many different formats in a clean way. BFD provides a portable interface, so that only BFD needs to know the actual details of a particular format. One consequence of this design is that all of programs using BFD will support formats such as a.out, COFF, ELF, and ROSE. BFD comes with documentation in Texinfo form.

- GDB 4.9

  In GDB 4, object files and symbol tables are now read via the BFD library, which allows a single copy of GDB to debug programs of multiple object file types such as a.out and COFF. Other features include improvements to the command language, remote debugging over serial lines or TCP/IP, and watchpoints (breakpoints triggered when the value of an expression changes). Exception handling, SunOS shared libraries, and C`++` multiple inheritance are only supported when used with GCC version 2.

  GDB now uses a standard remote interface to a simulator library. So far, the library contains simulators for the Zilog Z8001/2, the Hitachi H8/300, H8/500 and Super-H.

  GDB 4 can perform cross-debugging. To say that GDB 4 targets a platform means that it can perform native or cross-debugging for it. To say that GDB 4 can host a given platform means that it can be built on it, but cannot necessarily debug native programs. GDB 4 can:

  - target & host: Amiga 3000 (Amix), DECstation 3100 & 5000 (Ultrix), HP 9000/300 (BSD), IBM RS/6000 (AIX), i386 (BSD, SCO & Linux), Motorola Delta 88000 (System V), NCR 3000 (SVR4), SGI Iris (MIPS running Irix V3 & V4), SONY News (NewsOS 3.x), Sun 3 & SPARC (SunOS 4.1 & Solaris 2.0) & Ultracomputer (29K running Sym1).

  - target, but not host: i960 Nindy, AMD 29000 (COFF & a.out), Fujitsu SPARClite, Hitachi H8/300, m68k & m68332.

  - host, but not target: Intel 386 (Mach), IBM RT/PC (AIX) & HP/Apollo 68k (BSD).

  In addition, GDB 4 can use the symbol tables emitted by the compilers supplied by most vendors of MIPS-based machines, including DEC. (These symbol tables are in a format which almost nobody else uses.) Source for the manual Debugging with GDB and a reference card are included.

- `ae`

  `ae` works with GCC to produce more complete profiling information.

- binutils 1.9

  The binutils include `ar`, `gprof`, `ld`, `nm`, `ranlib`, `size`, and `strip`. The GNU linker `ld` is fast, and is the only linker which emits source-line numbered error messages for multiply-defined symbols and undefined references.

- Bison 1.21

  Bison is an upwardly compatible replacement for the parser generator `yacc`, with more features. Bison Manual and reference card sources are included.

- COFF Support

  The entire suite of GNU software tools can be run on System V, replacing COFF entirely. The GNU tools can operate on BSD object files with a COFF header the System V kernel will accept. `robotussin` is supplied for converting standard libraries to this format. However, this workaround is becoming obsolete, as it is being replaced by BFD (see "Project GNU Status Report" and "Contents of the Languages Tape").

- DejaGnu 1.0, `expect` 4.5.2 alpha, and Tcl 6.7

  DejaGnu is a framework for testing other programs. Its purpose is to provide a single front end for all tests. The flexibility and consistency of the DejaGnu framework make it easy to write tests for any program.

  `expect` (which runs scripts to conduct dialogs with programs) and Tcl (an embeddable tool command language) are both provided in this package, since DejaGnu uses them and they are useful programs in their own right.

- `dld` 3.2.3

  `dld` is a dynamic linker written by W. Wilson Ho. Linking your program with the `dld` library allows you to dynamically load object files into the running binary.

- `f2c` 1993.04.28

  `f2c` converts Fortran--77 source files into C or C`++`, which can then be compiled with GCC.

- `flex` 2.3.8

  `flex` is a mostly-compatible replacement for the `lex` scanner generator, written by Vern Paxson of the Lawrence Berkeley Laboratory. `flex` generates far more efficient scanners than `lex` does. Sources for the Flex Manual and reference card are included.

- GAS 1.38.1

  The GNU assembler (GAS) is a fairly portable, one pass assembler that is almost twice as fast as Unix `as` and works for 32x32, 680x0, 80386, SPARC (Sun-4) & VAX.

- GAWK 2.15.2

  GAWK is upwardly compatible with the System V Release 4 version of `awk`. Source for the GAWK Manual comes with the software.

- `gdbm` 1.5

  The `gdbm` library is the GNU replacement for the traditional `dbm` and `ndbm` libraries, which implement a database using quick lookup by hashing. `gdbm` supports both styles but does not need sparse database formats (unlike its Unix counterparts).

- `gmp` 1.3.2

  GNU MP (`gmp`) is a library for arbitrary precision arithmetic, operating on signed integers and rational numbers. It has a rich set of functions, all with a regular interface.

- `gperf` 2.1

  `gperf` is a "perfect" hash-table generation utility. There are actually two implementations of `gperf`, one written in C and one in C`++`. Both will produce hash functions in either C or C`++`.

- `indent` 1.7

  `indent` is the GNU-modified version of the freely-redistributable BSD program of the same name. It formats C source according to GNU coding standards by default, though the original default and other formats are available as options.

- `p2c` 1.20

  `p2c` is a Pascal-to-C translator written by Dave Gillespie. It is intended primarily for use on 32-bit machines, though porting it to convert code to work on 16-bit machines may be possible.

- `perl` 4.036

  Larry Wall has written a fast interpreter named `perl` which combines the features and capabilities of `sed`, `awk`, `sh`, and C, as well as interfaces to all the system calls and many C library routines.

- regex 0.12

  The GNU regular expression library supports POSIX.2, except for internationalization features. It has been included in many GNU programs which use regex routines. Now it is finally available separately.

- Smalltalk 1.1.1

  GNU Smalltalk is an interpreted object-oriented programming language system written in portable C. Features include an incremental garbage collector, a binary image save capability, the ability to invoke user-written C code and pass parameters to it, a GNU Emacs editing mode, optional byte-code compilation tracing and byte-code execution tracing, and automatically loaded per-user initialization files.

- superopt 2.2

  Superopt is a function sequence generator that uses an exhaustive generate-and-test approach to find the shortest instruction sequence for a given function. You provide the superoptimizer a function and a CPU to generate code for, and how many instructions you can accept. The GNU superoptimizer and its application in GCC is described in the ACM SIGPLAN PLDI'92 proceedings. Superopt supports: SPARC, m68000, m68020, m88000, IBM RS/6000, AMD 29000, Intel 80x86, & Pyramid.

- Tile Forth 2.1

  Tile Forth is a 32-bit implementation of the Forth--83 standard written in C, thus allowing it to be easily moved between different computers (traditionally, Forth implementations are written in assembly to utilize the underlying architecture as optimally as possible, but this also makes them less portable).

- Texinfo 3.1, `gzip` 1.0.7, and `make` 3.67

  See "Contents of the Emacs Tape" for a full description of these programs.

### Contents of the Utilities Tape

This tape consists mostly of smaller utilities and miscellaneous applications not available on the other GNU tapes.

- Autoconf 1.4

  Autoconf produces shell scripts which automatically configure source code packages. These scripts adapt the packages to many kinds of Unix-like systems without manual user intervention. Autoconf creates a script for a package from a template file which lists the operating system features which the package can use, in the form of `m4` macro calls. Many GNU programs now use Autoconf-generated configure scripts.

- BASH 1.12 and readline

  The GNU shell, BASH (Bourne Again SHell), is compatible with the Unix `sh` and offers many extensions found in `csh` and `ksh`. BASH has job control, `csh`-style command history, and command-line editing (with Emacs and `vi` modes built-in and the ability to rebind keys) via the readline library.

- `bc` 1.02

  `bc` is an interactive algebraic language with arbitrary precision. GNU `bc` was implemented from the POSIX 1003.2 draft standard, but it has several extensions including multi-character variable names, an `else` statement, and full Boolean expressions.

- `cpio` 2.2

  `cpio` is an alternative archive program with all the features of SVR4 `cpio`, including support for the final POSIX 1003.1 `ustar` standard.

- CVS 1.3

  The Concurrent Version System, CVS, manages software revision and release control in a multi-developer, multi-directory, multi-group environment. It works best in conjunction with RCS versions 4 and above, but will parse older RCS formats with the loss of CVS's fancier features. See Berliner, Brian, "CVS-II: Parallelizing Software Development," Proceedings of the Winter 1990 USENIX Association Conference.

- `dc` 0.2

  `dc` is an RPN calculator. GNU `bc` does not require a separate `dc` program to run. This version of `dc` will eventually be merged with the `bc` package.

- `diffutils` 2.3

  GNU `diff` compares files showing line-by-line changes in several flexible formats. It is much faster than the traditional Unix versions. The "diffutils" distribution contains `diff`, `diff3`, `sdiff`, and `cmp`.

- `doschk` 1.1

  This program is intended as a utility to help software developers ensure that their source file names are distinguishable on System V platforms with 14-character filenames and on MS-DOS with 11 character filenames.

- `elvis` 1.7

  `elvis` is a clone of the `vi`/`ex` Unix editor. It supports nearly all of the `vi`/`ex` commands in both visual and line mode. `elvis` runs under BSD, System V, Xenix, Minix, MS-DOS, and Atari TOS, and should be easy to port to many other systems.

- `es` 0.84

  This is an extensible shell based on `rc` but with more features including first class functions, lexical scope, an exception system, and rich return values (i.e. functions can return values other than just numbers). Like `rc`, it is great for both interactive use and for scripting, particularly because its quoting rules are much less baroque than the C or Bourne shells.

- Fax 3.2.1

  Fax is the freely-available MIT AI Lab fax spooling system, which provides Group 3 fax transmission and reception services for a networked Unix system. It requires a faxmodem which conforms to the new EIA-592 Asynchronous Facsimile DCE Control Standard, Service Class 2.

- `find` 3.8

  `find` is frequently used both interactively and in shell scripts to find files which match certain criteria and perform arbitrary operations on them. `xargs` and `locate` are also included.

- `finger` 1.37

  GNU Finger works on a wide variety of systems. For more information, see the "Project GNU Status Report."

- fontutils 0.6

  The "fontutils" can create fonts for use with Ghostscript or TeX, starting with a scanned type image and converting the bitmaps to outlines. They also contain general conversion programs and other utilities.

- Gnats 3.01

  Gnats (GNats: A Tracking System) is a bug-tracking system. It is based upon the paradigm of a central site or organization which receives problem reports and negotiates their resolution by electronic mail. Although it's been used primarily as a software bug-tracking system so far, it is sufficiently generalized so that it could be used for handling system administration issues, project management, or any number of other applications.

- Fun and Games: acm 2.4, MandelSpawn 0.06, GNU Chess 4.0.pl61, NetHack 3.1, GnuGo 1.1, GNU Shogi 1.1.pl01, and `hello` 1.3

  acm is a LAN-oriented, multiplayer aerial combat simulation that runs under the X Window System. Players engage in air to air combat against one another using heat seeking missiles and cannons. Eventually we hope to turn this into a more general purpose flight simulator.

  MandelSpawn is a parallel Mandelbrot program for the MIT X Window System. GNU Chess and GNU Shogi have text and X display interfaces (see "Project GNU Status Report"). NetHack is a display-oriented adventure game similar to Rogue. GnuGo plays the game of Go (Wei-Chi); it is not yet very sophisticated. GNU Shogi plays a Japanese game, similar to Chess, known as "Shogi". A major difference from Western Chess is that captured pieces can be returned into play.

  The GNU `hello` program produces a familiar, friendly greeting. It allows non-programmers to use a classic computer science tool which would otherwise be unavailable to them. Because it is protected by the GNU General Public License, users are free to share and change it.

- Ghostscript 2.6.1 and Ghostview 1.4.1

  Ghostscript is GNU's graphics language which is almost fully compatible with Postscript (see "Project GNU Status Report"). Ghostview provides an X11 user interface for the Ghostscript interpreter. Ghostview and Ghostscript function as two cooperating programs; Ghostview creates a viewing window and Ghostscript draws in it.

- `gnuplot` 3.2

  `gnuplot` is an interactive program for plotting mathematical expressions and data. Curiously, the program was neither written nor named for the GNU Project; the name is a coincidence.

  See the entry on GNU Graphics in "Contents of the Experimental Tape" for information on a related program.

- `gptx` 0.2

  `gptx` is the GNU version of `ptx`, a permuted index generator. Among other things, it produces readable "KWIC" (KeyWords In Context) indexes without the need of `nroff`, and there is an option to output TeX code.

- `grep`/`egrep`/`fgrep` 2.0

  The `[ef]grep` programs are GNU's versions of the Unix programs of the same name. They are much faster than the traditional Unix versions.

- `groff` 1.08 and `mgm` 1.07

  `groff` is a document formatting system, which includes implementations of `troff`, `pic`, `eqn`, `tbl`, `refer`, the `man`, `ms`, and `mm` macros, as well as drivers for Postscript, TeX dvi format, and typewriter-like devices. Also included is a modified version of the Berkeley `me` macros and an enhanced version of the X11 `xditview` previewer.

  `mgm` is a macro package for `groff`. It is almost compatible with the DWB `mm` macros and has several extensions.

- `less` 177

  `less` is a display paginator similar to `more` and `pg` but with various features (such as the ability to scroll backwards) which most pagers lack.

- `m4` 1.0.3

  GNU `m4` is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible, although it has some extensions (for example, handling more than 9 positional parameters to macros). `m4` also has built-in functions for including files, running shell commands, doing arithmetic, etc.

- mtools 2.0.7

  mtools is a set of public domain programs to allow Unix systems to read, write, and manipulate files on an MS-DOS file system (usually a diskette).

- `patch` 2.0.12g8

  `patch` is our version of Larry Wall's program to take `diff`'s output and apply those differences to an original file to generate the modified version.

- RCS 5.6.0.1

  The Revision Control System, RCS, is used for version control and management of software projects. When used with GNU `diff`, RCS can handle binary files (executables, object files, 8-bit data, etc).

- `rc` 1.4

  `rc` is a shell that features a C-like syntax (much more so than `csh`) and far cleaner quoting rules than the C or Bourne shells. It's intended to be used interactively, but is great for writing scripts as well.

- `recode` 3.2.4

  `recode` converts between character sets and usages. When exact transliterations are not possible, it may get rid of offending characters or fall back on approximations. It recognizes or produces more than a dozen character sets and can convert each set to almost any other one. `recode` pays special attention to superimposition of diacritics, particularly for French.

- `screen` 3.2b

  `screen` is a terminal multiplexor that runs several independent "screens" (ttys) on a single physical terminal. Each virtual terminal emulates a DEC VT100 plus several ANSI X3.64 and ISO 2022 functions. `screen` sessions can be detached and resumed later on a different terminal.

- `sed` 1.16

  `sed` is a stream-oriented version of `ed`. It is used copiously in shell scripts.

- `tar` 1.11.2

  GNU `tar` includes multivolume support, the ability to archive sparse files, automatic archive compression/decompression, remote archives, and special features that allow `tar` to be used for incremental and full backups. Unfortunately GNU `tar` implements an early draft of the POSIX 1003.1 `ustar` standard which is different from the final standard. Adding support for the new changes in a backward-compatible fashion is not trivial.

- Termcap 1.2

  The GNU Termcap library is a drop-in replacement for `libtermcap.a` on any system. It does not place an arbitrary limit on the size of Termcap entries, unlike most other Termcap libraries. Included is source for the Termcap Manual in Texinfo format.

- `time` 1.4

  `time` is used to report statistics (usually from a shell) about the amount of user, system, and real time used by a process.

- `tput` 1.0

  `tput` is a portable way to allow shell scripts to use special terminal capabilities. GNU `tput` uses the Termcap database, rather than Terminfo as most implementations do.

- UUCP 1.04

  This version of UUCP was written by Ian Lance Taylor, and is the standard UUCP system for GNU. It currently supports the `f`, `g` (in all window and packet sizes), `G`, `t` and `e` protocols, as well a Zmodem protocol and two new bidirectional protocols. If you have a Berkeley sockets library, it can make TCP connections. If you have TLI libraries, it can make TLI connections.

- `wdiff` 0.4

  `wdiff` compares two files, finding which words have been deleted or added to the first in order to obtain the second. We hope eventually to integrate it, as well as some ideas from a similar program called `spiff`, into future releases of GNU `diff`.

- fileutils 3.6, shellutils 1.8, and textutils 1.6

  The "fileutils" manipulate files: `chgrp`, `chmod`, `chown`, `cp`, `dd`, `df`, `du`, `install`, `ln`, `ls`, `mkdir`, `mkfifo`, `mknod`, `mv`, `mvdir`, `rm`, `rmdir`, and `touch`.

  The "shellutils" are small commands used on the command line or in shell scripts: `basename`, `date`, `dirname`, `echo`, `env`, `expr`, `false`, `groups`, `id`, `logname`, `nice`, `nohup`, `pathchk`, `printenv`, `printf`, `sleep`, `stty`, `su`, `tee`, `test`, `true`, `tty`, `uname`, `who`, `whoami`, and `yes`.

  The "textutils" programs manipulate textual data: `cat`, `cksum`, `comm`, `csplit`, `cut`, `expand`, `fold`, `head`, `join`, `nl`, `od`, `paste`, `pr`, `sort`, `split`, `sum`, `tac`, `tail`, `tr`, `unexpand`, `uniq`, and `wc`.

- Texinfo 3.1, `gzip` 1.0.7, and `make` 3.67

  See "Contents of the Emacs Tape" for a full description of these programs.

### Contents of the Experimental Tape

This tape includes software which is currently in beta test and is available for people who are feeling adventurous. Some of the software already has released versions on the distribution tapes. The contents of this tape are transient; as the programs become stable, they will replace older versions on other tapes. Please send bug reports to the address in the notes for each program on the tape. Note that Emacs 19, in beta test, is on the Emacs tape.

- GCC 2.4.1

  Version 2 of GCC is now reliable. In addition to the version 1 features, GCC 2 has instruction scheduling, loop unrolling, filling of delay slots, leaf function optimization, optimized multiplication by constants, a certain amount of common subexpression elimination (CSE) between basic blocks (though not all of the supported machine descriptions provide for scheduling or delay slots), and a feature for assigning attributes to instructions. Function-wide CSE has been written, but needs to be cleaned up before it can be installed. Position-independent code is supported on the 68k, i386, Hitachi Slt, Hitachi H8/300, Clipper, 88k, SPARC & SPARClite.

  GCC 2 can also open-code most arithmetic on 64-bit values (type `long long int`). It supports extended floating point (type `long double`) on the 68k; other machines will follow. It can generate code for most of the same machines as version 1, plus the following: AMD 29000, Acorn RISC, DEC Alpha, Elxsi, HP-PA (700 & 800), IBM RS/6000, IBM RT/PC, Intel 80386, Intel 960, Motorola 88000 & SPARC (running Solaris 2). Version 2 can generate a.out, COFF, ELF & OSF-Rose files when used with a suitable assembler. It can produce debugging information in several formats: BSD stabs, COFF, ECOFF, ECOFF with stabs symbols & DWARF.

  Not all of the version 1 machine descriptions have been updated yet; some do not work, and others need work to take full advantage of instruction scheduling and delay slots. The old machine descriptions for the Alliant, Tahoe, and Spur (as well as a new port for the Tron) do not work, but are still included in the distribution in case someone wants to work on them.

  Using the new configuration scheme for GCC, building a cross-compiler is as easy as building a compiler for the same target machine. Version 2 supports more general calling conventions: it can pass arguments "by reference" and can preallocate the space for stack arguments. GCC 2 on the SPARC uses the standard conventions for structure arguments and return values.

  Version 2 of the compiler supports three languages: C, C`++` and Objective C; the source file name extension or a compiler option selects the language. The front end support for Objective C was donated by NeXT. The runtime support needed to run Objective C programs is now distributed with GCC (this does not include any Objective C classes aside from `object`).

  GNU C has been extended to support nested functions, nonlocal gotos, and taking the address of a label.

  Source for the manual, Using and Porting GNU CC, is included.

- Solaris binaries for GCC 2

  Since the C compiler has been unbundled in Solaris, this tape temporarily contains compiled binaries of GCC for Solaris systems in addition to the sources. In the future, Solaris binaries will be available on separate media.

- binutils 2.2.1

  Version 2 of the binutils have been completely rewritten to use the BFD library (see "Project GNU Status Report"). This version has been tested on only a few architectures including Sun-3 and Sun-4 running SunOS 4.1, and Sony News running NewsOS 3.

  This version has not been ported to as many machines as the old binutils. Some features of the old versions are missing. We would appreciate clean, easy to integrate patches to make things run on other machines; especially welcome are fixes for what used to work in the old versions.

- GAS 2.1.1

  Version 2 of the GNU assembler has been rewritten to use the BFD library (see "Project GNU Status Report"). It supports these systems, though not all have been thoroughly tested: SPARC (SunOS 4 & Solaris 2), i386, m68k, MIPS (Ultrix, Irix), Hitachi H8/500 & VAX (VMS).

- GNU C Library 1.06

  The library supports ANSI C-1989 and POSIX 1003.1-1990 and has most of the functions specified in POSIX 1003.2 draft 11.2. It is upward compatible with 4.4 BSD and includes many System V functions, plus GNU extensions.

  Version 1.06 uses a standard GNU `configure` script and runs on Sun-3 (SunOS 4.1), Sun-4 (SunOS 4.1 & Solaris 2), HP 9000/300 & Sony NEWS 800 (4.3 BSD), MIPS DECstation (Ultrix 4), i386/i486 (System V, SVR4, BSD, SCO 3.2 & SCO ODT 2.0) & Sequent Symmetry i386 (Dynix 3). Source for the new GNU C Library Reference Manual is included.

- libg`++` 2.3

  This is the GNU C`++` library for GCC version 2 (see "Contents of Languages Tape" for more info regarding libg`++`). The latest version tries to configure itself automatically, thus working out of the box on many hosts. Recent changes include portability enhancements, some use of templates, and converting the iostream classes to use multiple inheritance.

- GNU Graphics 0.17

  GNU Graphics is a set of programs which produce plots from ASCII or binary data. It supports output to Tektronix 4010, Postscript, and the X Window System or compatible devices. Improvements in this version include a revised manual (not yet printed on paper); new features in `graph`, `xplot` and `plot2ps`; support for output in ln03 and TekniCAD TDA file formats; a replacement for the `spline` program; examples of shell scripts using `graph` and `plot`; the addition of a statistics toolkit; and the use of `configure` for installation.

  Existing ports need retesting. Contact Rich Murphey, `Rich@rice.edu`, if you can help test/port it to anything beyond a SPARCstation.

- Oleo 1.4

  Oleo is a spreadsheet program, that is better for you than the more expensive spreadsheets. It supports the X Window System and character-based terminals, and can output Embedded Postscript renditions of spreadsheets. Keybindings should be familiar to Emacs users and are configurable. Under X and in Postscript output, Oleo supports multiple, variable width fonts.

### Contents of the X11 Tapes

The two X11 tapes contain Version 11, Release 5 of the MIT X Window System. The first FSF tape contains all of the core software, documentation, and some contributed clients. We call this the "required" X tape since it is necessary for running X or running GNU Emacs under X. The second, "optional", FSF tape contains contributed libraries and other toolkits, the Andrew Use Interface System, games, and other programs.

The X11 Required tape also contains all fixes and patches released to date.

### Berkeley Networking 2 Tape

The Berkeley "Net2" release contains the second 4.3 BSD distribution and is newer than both 4.3BSD-Tahoe and 4.3BSD-Reno. It includes most of the BSD software system except for a few utilities, some parts of the kernel, and some library routines which your own C library is likely to provide (we have replacements on other tapes for many of the missing programs). This release also contains third party software including Kerberos and some GNU software.

### VMS Emacs and Compiler Tapes

We offer two VMS tapes. One has just the GNU Emacs editor. The other has the GNU C compiler, Bison (to compile GCC), (gas) (to assemble GCC's output), and some library and include files. We are not aware of a GDB port for VMS. Both VMS tapes have executables from which you can bootstrap, as the DEC VMS C compiler cannot compile GCC. Please do not ask us to devote effort to VMS support, because it is peripheral to the GNU Project.

Go to the previous, next section.