-*- text -*- Last modified Sun Apr 16 18:31:18 EDT 1995
This is an incomplete and probably out-of-date list of all the packages
distributed on prep.ai.mit.edu and it's mirror sites with a brief description
explaining what each one is.
More information about these programs can typically be found in the GNU
Bulletin. To receive a copy, write to gnu@prep.ai.mit.edu.
Problems with the contents of this file (or problems pertaining to the
packaging of these programs, e.g. if a file is corrupted) should be sent to
gnu@prep.ai.mit.edu. Bug reports for the programs themselves should
go to the appropriate address indicated in the instructions to that
program.
Because the unix `compress' utility is patented (by two separate patents,
in fact), we cannot use it; it's not free software. Therefore, the GNU
Project has chosen a new compression utility, `gzip', which is free of any
known software patents and which tends to compress better anyway. Files
compressed with this new compression program end in `.gz' (as opposed to
`compress'-compressed files, which end in `.Z'). Gzip can uncompress
`compress'-compressed files and SVR4 `pack' files (which end in `.z').
This is possible because the various decompression algorithms are not
patented---only compression is.
The gzip program is available from any GNU mirror site in shar, tar, or
gzipped tar format (for those who already have a prior version of gzip and
want faster data transmission). It works on virtually every unix system,
MSDOS, OS/2, and VMS.
Filenames below ending with "/" are directories. Other entries are plain
files.
COPYING-1.0
Version 1 of the GNU General Public License.
COPYING-2.0
Version 2 of the GNU General Public License.
COPYING.LIB-2.0
Version 2 of the GNU General Public Library License (there is no
version 1).
GNUinfo/
General files of interest about the GNU Project, most of them included in
the GNU Emacs distribution.
MailingListArchives/
Archives of the GNU mailing lists (most of which are also gatewayed to
the various gnu.* newsgroups).
MicrosPorts/
The GNU Project is not directly interested in integrating or
maintaining ports of GNU software to many micro-computer systems, like
Amiga's or MSDOS, because of limited resources. However, a few files
with pointers to people who do maintain GNU software for these other
systems are available in this directory.
ProgramIndex
A file with an index of which package each GNU program is in.
The rest of this file is the articles ``Forthcoming GNUs'' and ``GNU
Software'' from the June, 1994 GNU's Bulletin which contains
descriptions of our software. For more infomation on FSF's tapes,
diskettes and CD-ROMs see the file
/pub/gnu/GNUinfo/ORDERS
FTPable from prep.ai.mit.edu or one of its mirror sites.
----------------------------------------------------------------------
GNU Software
************
All our software is available via FTP; see ``How to Get GNU Software''.
In addition, we offer software on various media and printed documentation:
* see ``CD-ROMs''.
* see ``Tapes''.
* see ``MS-DOS Diskettes''.
* see ``Documentation'', which includes manuals and reference cards.
We welcome all bug reports sent to the appropriate electronic mailing list
(see ``Free Software Support'').
In the articles describing the contents of each medium, the version number
listed after each program name was current when we published this Bulletin.
When you order a distribution tape, diskette or newer CD-ROM, some of the
programs may be newer, and therefore the version number higher.
Key to cross reference:
BinCD
Binaries CD-ROM
DjgppD
Djgpp Diskettes
DosCD
MS-DOS CD-ROM
EmcsD
Emacs Diskettes
LspEmcT
Lisps/Emacs Tape
LangT
Languages Tape
LiteT
4.4BSD-Lite Tape
SchmT
Scheme Tape
SrcCD
Source CD-ROM
UtilD
Selected Utilities Diskettes
UtilT
Utilities Tape
VMSCompT
VMS Compiler Tape
VMSEmcsT
VMS Emacs Tape
WdwsD
Windows Diskette
X11OptT
X11 Optional Tape
X11ReqT
X11 Required Tape
Configuring GNU Software:
-------------------------
We are using a uniform scheme for configuring GNU software packages in order
to compile them. It uses the `autoconf' program (see item below). The goal
is to have all GNU software support the same alternatives for naming machine
and system types. When the GNU system is complete it will be possible to
configure and build the entire system at once, eliminating the need to
separately configure each individual package. The configuration scheme can
also specify both the host and target system, so you can easily configure and
build cross-compilation tools.
GNU software currently available:
---------------------------------
(For new features and coming programs, see ``Forthcoming GNUs'')
* `acm' (SrcCD, UtilT)
`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. We are working on
more accurate simulation of real airplane flight characteristics.
* Autoconf (SrcCD, UtilT)
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. Autoconf
requires GNU `m4' to operate, but the resulting configure scripts it
generates do not.
Most GNU programs now use Autoconf-generated configure scripts.
* BASH (SrcCD, UtilT)
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. BASH conforms to the POSIX 1003.2 shell specification.
* `bc' (DjgppD, DosCD, SrcCD, UtilT)
`bc' is an interactive algebraic language with arbitrary precision
numbers. GNU `bc' follows the POSIX.2-1992 standard, with several
extensions including multi-character variable names, an `else'
statement, and full Boolean expressions. The RPN calculator `dc' is now
distributed as part of the same package, but GNU `bc' is not implemented
as a `dc' preprocessor.
* BFD (BinCD, DjggpD, DosCD, LangT, SrcCD)
The Binary File Descriptor library allows a program which operates on
object files (e.g., `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 details of a particular format. One result is that all
programs using BFD will support formats such as a.out, COFF, and ELF.
BFD comes with source for Texinfo documentation (not yet published on
paper). Presently BFD is not distributed separately; it is included
with packages that use it.
* Binutils (BinCD, DjgppD, DosCD, LangT, SrcCD)
Binutils includes the programs: `ar', `c++filt', `demangle', `gas',
`gprof', `ld', `nlmconv', `nm', `objcopy', `objdump', `ranlib', `size',
`strings', and `strip'.
Binutils Version 2 uses the BFD library. The GNU linker `ld' emits
source-line numbered error messages for multiply-defined symbols and
undefined references. It interprets a superset of the AT&T Linker
Command Language, which gives general control over where segments are
placed in memory. `nlmconv' converts object files into Novell NetWare
Loadable Modules. `objdump' can disassemble code for a29k, ALPHA,
H8/300, H8/500, HP-PA, i386, i960, m68k, m88k, MIPS, SH, SPARC, & Z8000
processors, and can display other data (e.g., symbols & relocations)
from any file format understood by BFD.
* Bison (BinCD, DjgppD, DosCD, LangT, SrcCD, VMSCompT)
Bison is an upwardly compatible replacement for the parser generator
`yacc'. Texinfo source for the `Bison Manual' and reference card are
included. See ``Documentation''.
* GNU C Library (BinCD, LangT, SrcCD)
The GNU C library supports ANSI C-1989, POSIX 1003.1-1990 and most of the
functions in POSIX 1003.2-1992. It is upwardly compatible with 4.4BSD
and includes many System V functions, plus GNU extensions.
The C Library will perform many functions of the Unix system calls in
the Hurd. Mike Haertel has written a fast `malloc' which wastes less
memory than the old GNU version. The GNU regular-expression functions
(`regex' and `rx') now nearly conform to the POSIX 1003.2 standard.
GNU `stdio' lets you define new kinds of streams, just by writing a few
C functions. The `fmemopen' function uses this to open a stream on a
string, which can grow as necessary. You can define your own `printf'
formats to use a C function you have written. For example, you can
safely use format strings from user input to implement a `printf'-like
function for another programming language. Extended `getopt' functions
are already used to parse options, including long options, in many GNU
utilities.
The C Library runs on Sun-3 (SunOS 4.1), Sun-4 (SunOS 4.1 or Solaris 2),
HP 9000/300 (4.3BSD), SONY News 800 (NewsOS 3 or 4), MIPS DECstation
(Ultrix 4), DEC Alpha (OSF/1), i386/i486 (System V, SVR4, BSD, SCO 3.2 &
SCO ODT 2.0), Sequent Symmetry i386 (Dynix 3) & SGI (Irix 4). Texinfo
source for the `GNU C Library Reference Manual' is included (see
``Documentation''); the manual is now being updated.
* GNU C++ Library (BinCD, DjgppD, DosCD, LangT, SrcCD)
The GNU C++ library (libg++) is an extensive collection of C++ `forest'
classes, an IOStream library for input/output routines, and support
tools for use with G++. Supported classes include: Obstacks,
multiple-precision Integers and Rationals, Complex numbers, arbitrary
length Strings, BitSets and BitStrings. Version 2.6.2 includes the
initial release of the libstdc++ library. This implements library
facilities defined by the forthcoming ANSI/ISO C++ standard, including
the Standard Template Library.
* Calc (LspEmcT, SrcCD)
Calc (written by Dave Gillespie in Emacs Lisp) is an extensible, advanced
desk calculator & mathematical tool that runs as part of GNU Emacs. You
can use Calc just as a simple four-function calculator, but it has many
more features including: choice of algebraic or RPN (stack-based) entry;
logarithmic, trigonometric & financial functions; arbitrary precision;
complex numbers; vectors; matrices; dates; times; infinities; sets;
algebraic simplification; differentiation & integration. It outputs to
`gnuplot' & comes with source for a reference card & a Manual. See
``Documentation''.
* GNU Chess (SrcCD, UtilT, WdwsD)
GNU Chess lets the computer play a full game of chess with you. It runs
on most platforms & has dumb terminal, "curses" & X terminal interfaces.
GNU Chess implements many specialized features including the null move
heuristic, a hash table with aging, the history heuristic (another form
of the earlier killer heuristic), caching of static evaluations, & a
database which lets it play the first several moves of the game quickly.
Recent improvements include better heuristics, faster evaluation,
thinking on opponent's time, Swedish & German language support, support
for more book formats, a rudimentary Bobby Fischer clock, & bug fixes.
It is primarily supported by Stuart Cracraft, Mike McGann, Chua Kong
Sian, & Tim Mann on behalf of the FSF.
* CLISP (LspEmcT, SrcCD)
CLISP is a Common Lisp implementation (CLtL1 + parts of CLtL2) by Bruno
Haible and Michael Stoll. It mostly supports the Lisp described by
`Common LISP: The Language (2nd edition)'. CLISP includes an
interpreter, a byte-compiler, a subset of CLOS and, for some machines, a
screen editor. The user interface language (English, German, French) is
chooseable at run time. Major packages that run in CLISP include CLX &
Garnet. CLISP needs only 2 MB of memory & runs on many microcomputers
(including MS-DOS systems, OS/2, the Atari ST, Amiga 500-4000) &
Unix-like systems (GNU/Linux, Sun4, SVR4, SGI, HP-UX, DEC Alpha,
NeXTstep & others).
* GNU Common Lisp (LspEmcT, SrcCD)
GNU Common Lisp (GCL) has a compiler and interpreter for Common Lisp.
It is very portable and extremely efficient on a wide class of
applications. It compares favorably in performance with commercial Lisps
on several large theorem-prover and symbolic algebra systems. It
supports the CLtL1 specification but is moving towards the proposed ANSI
definition. It was formerly know as Kyoto Common Lisp. GCL compiles
to C and then uses the native optimizing C compilers (e.g., GCC). A
function with a fixed number of args and one value turns into a C
function of the same number of args and returning one value, so GCL is
maximally efficient on such calls. It has a conservative garbage
collector which allows great freedom for the C compiler to put Lisp
values in arbitrary registers. It has a source level Lisp debugger for
interpreted code, with display of source code in an Emacs window. It
has profiling tools based on the C profiling tools, which count function
calls and percentage of time spent in each function. CLX works with GCL.
There is an Xlib interface via C (xgcl-2). PCL runs with GCL (see PCL
item later in this article). See ``Forthcoming GNUs'', for plans for
about GCL. GCL version 1.1 is released under the GNU Library General
Public License.
* `cpio' (DjgppD, DosCD, SrcCD, UtilD, UtilT)
`cpio' is an alternative archive program with all the features of SVR4
`cpio', including support for the final POSIX 1003.1 `ustar' standard.
`mt', a program to position magnetic tapes, is included with `cpio'.
* CVS (SrcCD, UtilT)
CVS, the Concurrent Version System, 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'. To find
out how to get a copy of this report, ask `office@usenix.org'.
* DejaGnu (LangT, SrcCD)
DejaGnu is a framework for testing other programs that provides a single
front end for all tests. The framework's flexibility and consistency
makes it easy to write tests for any program. DejaGnu comes with
`expect', which runs scripts to conduct dialogs with programs.
* Diffutils (DjgppD, DosCD, SrcCD, UtilD, UtilT)
GNU `diff' compares files showing line-by-line changes in several
flexible formats. It is much faster than traditional Unix versions. The
Diffutils package contains `diff', `diff3', `sdiff', and `cmp'.
Recent Diffutils improvements include: a new `diff' option to do all
input/output in binary; this is useful on some non-Posix hosts, and more
consistent handling of character sets.
Plans for the Diffutils package include support for internationalization
(e.g., error messages in Chinese), and for some non-Unix PC environments.
* DJGPP (BinCD, DjgppD, DosCD)
DJ Delorie has ported GCC/G++ 2.6.0 (see the GCC item in this section)
to the i386 MS-DOS platform. The DJGPP package also contains a 32-bit
80386 DOS extender with symbolic debugger; development libraries; and
ports of Bison, `flex', GAS, and the GNU Binutils. Full source code is
provided. It requires at least 5MB of hard disk space to install and
512K of RAM to use. It supports SVGA (up to 1024x768), XMS & VDISK
memory allocation, `himem.sys', VCPI (e.g., QEMM, DESQview, & 386MAX),
and DPMI (e.g., Windows 3.x, OS/2, QEMM, & QDPMI). Ask
`djgpp-request@sun.soe.clarkson.edu' to join a DJGPP users mailing list.
* `dld' (LangT, SrcCD)
`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. Currently supported are VAX (Ultrix), Sun 3 (SunOS
3.4 & 4.0), SPARC (SunOS 4.0), Sequent Symmetry (Dynix), & Atari ST.
* `doschk' (DjgppD, DosCD, SrcCD, UtilT)
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 8+3 character filenames.
* `ecc' (SrcCD, UtilT)
`ecc' is a Reed-Solomon error correction checking program, which can
correct three byte errors in a block of 255 bytes and detect more severe
errors. Contact `paulf@Stanford.EDU' for more information.
* `ed' (SrcCD, UtilT)
Ed is the standard text editor.
* Elib (LspEmcT, SrcCD)
Elib is a small library of Emacs Lisp functions, including routines for
using AVL trees and doubly-linked lists.
* GNU Emacs
In 1975, Richard Stallman developed the first Emacs, an extensible,
customizable real-time display editor and computing environment. GNU
Emacs is his second implementation. It offers true Lisp--smoothly
integrated into the editor--for writing extensions, and provides an
interface to the X Window System. In addition to its powerful native
command set, extensions which emulate other popular editors are
distributed: vi and EDT (DEC's VMS editor). It has many other features
which make it a full computing support environment. Source for the `GNU
Emacs Manual', the `GNU Emacs Lisp Reference Manual', and a reference
card come with the software. See ``Documentation''.
* GNU Emacs 18 (EmcsD, LspEmcT, SrcCD, VMSEmcsT)
GNU Emacs 18.59 is the last release of version 18 from the FSF. We are
no longer maintaining it. It runs on many Unix systems. In hardware
order: 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, SysV & VMS)), Motorola Delta 147 & 187, Dual, Elxsi 6400, Encore
(DPC, APC & XPC), Gould, HP (9000 series 200, 300, 700 & 800, but not
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), 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 vers.), Tadpole, Tahoe, Tandem
Integrity S2, Tektronix (16000 & 4300), Triton 88, Ustation E30 (SS5E),
Whitechapel (MG1) & Wicat.
In operating system order: AIX (RS/6000, RT/PC, 386-PS/2), BSD (vers.
4.1, 4.2, 4.3), DomainOS, Esix (386), HP-UX (HP 9000 series 200, 300,
700, 800 but not 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 (vers. 3.0, 4,1), Uniplus 5.2
(Dual machines), VMS (vers. 4.0, 4.2, 4.4, 5.5) & Xenix (386).
* GNU Emacs 19 (DosCD, EmacsD, LspEmcT, SrcCD)
Emacs 19 works with character-only terminals as well as with the X
Window System. New features in Emacs 19 include: multiple X windows
("frames" to Emacs), with either a separate X window for the minibuffer
or a minibuffer attached to each X window; property lists associated
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; scrollbars;
before and after change hooks; source-level debugging of Emacs Lisp
programs; European character sets support; floating point numbers;
improved buffer allocation, including returning storage to the system
when a buffer is killed; interfacing with the X resource manager; GNU
configuration scheme support; good RCS support; & many updated libraries.
Recent features include X toolkit support, dialog boxes, operation on
MS-DOS, much faster text properties, keyboard equivalents shown
automatically in menus, & text that highlights when you move the mouse
over it.
Emacs 19.28 is known to work on, in hardware order: Alliant FX/2800
(BSD); Bull DPX/2 2nn & 3nn (SVR3) & sps7 (SVR2); Clipper; Convex (BSD);
Cubix QBx (SysV); Data General Aviion (DGUX); DEC MIPS (Ultrix 4.2 &
OSF/1, not VMS); Elxsi 6400 (SysV); Gould Power Node & NP1 (4.2 &
4.3BSD); Harris Night Hawk 1200 and 3000, 4000 and 5000 (cxux); Honeywell
XPS100 (SysV); HP 9000 series 200, 300, 700, 800 (but not 500) (4.3BSD or
HP-UX 7, 8, 9); Intel i386 & i486 (386BSD, AIX, BSDI/386, FreeBSD, Esix,
GNU/Linux, ISC, MS-DOS (see ``MS-DOS Diskettes'' & ``MS-DOS CD-ROM''),
NetBSD, SCO3.2v4, SysV, Xenix); IBM RS6000 (AIX 3.2); IBM RT/PC (AIX or
BSD); Motorola Delta 147 & 187 (SVR3, SVR4, & m88kbcs); National
Semiconductor 32K (Genix); NeXT (BSD or Mach 2 w/ NeXTStep 3.0); Prime
EXL (SysV); Pyramid (BSD); Sequent Symmetry (BSD); SGI Iris 4D (Irix 4.x
& 5.x); Sony News/RISC (NewsOS); Starrdent i860 (SysV); Sun 3 & 4, SPARC
1, 1+, 2, 10 & Classic (SunOS 4.0, 4.1, Solaris 2.0-2.3); Tadpole 68k
(SysV); Tektronix XD88 (SVR3) & 4300 (BSD); & Titan P2 & P3 (SysV).
In operating system order: AIX (i386, RS6000, RT/PC); 4.1, 4.2, 4.3BSD
(i386, i860, Convex, Gould Power Node & NP1, HP9000 series 300, NeXT,
Pyramid, Symmetry, Tektronix 4300, RT/PC); DG/UX (Aviion); Esix (i386);
FreeBSD (i386); Genix (ns32k); GNU/Linux (i386); HP-UX 7, 8, 9 (HP 9000
series 200, 300, 700, 800, but not 500); Irix 4 & 5 (Iris 4D); ISC
(i386); Mach 2 & 3 (i386, NeXT); MS-DOS (see ``MS-DOS Diskettes'' &
``MS-DOS CD-ROM''); NetBSD (i386, HP9000 series 300); SCO 3.2v4 (i386);
SVR2 (Bull sps7); SVR3 (Bull DPX/2 2nn & 3nn, Motorola Delta 147 & 187,
Tektronix XD88); SVR4 (Motorola Delta 147 & 187, Stardent i860); Solaris
2 (SPARC 1, 1+, 2, 10, Classic); SunOS 4.0, 4.1 (Sun 3 & 4, SPARC 1, 1+,
2, 10 & Classic); Ultrix 4.2 (DEC MIPS); Windows NT; & Xenix (i386).
Other configurations supported by Emacs 18 should work with few changes
in Emacs 19; as users tell us more about their experiences with different
systems, we will augment the list. Also see ``Forthcoming GNUs''.
* `es' (SrcCD, UtilT)
`es' is an extensible shell based on `rc' with first class functions,
lexical scope, exceptions, 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 since its quoting rules
are much less baroque than the C or Bourne shells.
* `f2c' (LangT, SrcCD)
`f2c' converts Fortran-77 source files into C or C++, which can be
compiled with GCC. You can get bug fixes by FTP from site
`netlib.att.com' or by email from `netlib@research.att.com'. The fixes
are summarized in the file `/netlib/f2c/changes.Z'. See ``Forthcoming
GNUs'', for information about GNU Fortran.
* Fileutils (DjgppD, DosCD, SrcCD, UtilD, UtilT)
The fileutils work on files: `chgrp', `chmod', `chown', `cp', `dd', `df',
`dir', `du', `install', `ln', `ls', `mkdir', `mkfifo', `mknod', `mv',
`mvdir', `rm', `rmdir', `sync', `touch', & `vdir'. Only some of these
are on the ``Selected Utilities Diskettes''.
* Findutils (DjgppD, DosCD, SrcCD, UtilD, UtilT)
`find' is frequently used both interactively and in shell scripts to
find files which match certain criteria and perform arbitrary operations
on them. Also included are `xargs', which applies a command to a list
of files, and `locate', which scans a database for file names that match
a pattern.
* Finger (SrcCD, UtilT)
GNU Finger has more features than other finger programs. For sites with
many hosts, a single host may be designated as the finger "server" host,
and other hosts at that site configured as finger "clients". The server
host collects information about who is logged in to the clients. To
finger a user on any host at a GNU Finger site, a single query gets
useful information. GNU Finger supports many customization features,
including per-user customization.
* `flex' (DjgppD, DosCD, LangT, SrcCD, UtilD)
`flex' is a replacement for the `lex' scanner generator. `flex' was
written by Vern Paxson of the Lawrence Berkeley Laboratory and generates
far more efficient scanners than `lex' does. Source for the `Flex
Manual' and reference card are included. See ``Documentation''.
* FlexFAX (UtilT)
FlexFAX is a facsimile system for UNIX systems. It supports sending,
receiving, and polled retrieval of facsimile, as well as transparent
shared data use of the modem. Information is also available on the
World Wide Web at URL: `http://www.vix.com/flexfax/'.
* Fontutils (SrcCD, UtilT)
The fontutils 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.
Fontutils programs include: `bpltobzr', `bzrto', `charspace',
`fontconvert', `gsrenderfont', `imageto', `imgrotate', `limn', and
`xbfe'.
* GAWK (DjgppD, DosCD, LangT, SrcCD)
GAWK is upwardly compatible with the latest POSIX versions of `awk'. It
also provides several useful extensions not found in other `awk'
implementations. Texinfo source for the `GAWK Manual' comes with the
software. See ``Documentation''.
* GCC (BinCD, DjgppD, DosCD, LangT, SrcCD, VMSCompT)
Version 2 of the GNU C Compiler supports multiple languages; the source
file name suffix or a compiler option selects the language. The GNU C
Compiler distribution includes support for C, C++ and Objective-C.
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'). As much as
possible, G++ is kept compatible with the evolving draft ANSI standard,
but not with `cfront' (AT&T's compiler), which has been diverging from
ANSI.
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,
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), a feature for assigning attributes to
instructions, and many local optimizations that are automatically
deduced from the machine description. Position-independent code is
supported on the 68k, i386, i486, Pentium, Hitachi Slt, Hitachi H8/300,
Clipper, 88k, SPARC & SPARClite.
GCC can 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.
GCC supports full ANSI C, traditional C & GNU C extensions (including:
nested functions support, nonlocal gotos & taking the address of a
label).
GCC can generate a.out, COFF, ELF & OSF-Rose files when used with a
suitable assembler. It can produce debugging information in these
formats: BSD stabs, COFF, ECOFF, ECOFF with stabs & DWARF.
GCC generates code for many CPUs, including: a29k, Alpha, ARM, AT&T
DSP1610, Convex cN, Clipper, Elxsi, Fujitsu Gmicro, H8/300, HP-PA (1.0
and 1.1) i370, i386, i486, Pentium, i860, i960, m68k, m68020, m68030,
m68040, m88k, MIPS, ns32k, PDP-11, Pyramid, ROMP, RS6000, SH, SPARC,
SPARClite, VAX, & we32k.
Operating systems supported include: AIX, ACIS, AOS, BSD, Clix, Ctix,
DG/UX, Dynix, Genix, GNU/Linux, HP-UX, ISC, Irix, Luna, LynxOS, Mach,
Minix, NewsOS, OSF, OSF-Rose, RISCOS, SCO, Solaris 2, SunOS 4, SysV,
Ultrix, Unos, VMS & Windows/NT.
The old (version 1) 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 configuration scheme for GCC, building a cross-compiler is as
easy as building a compiler for the same target machine.
We no longer maintain version 1 of GCC, G++, or libg++.
Texinfo source for the `Using and Porting GNU CC' manual, is included
with GCC. See ``Forthcoming GNUs'', for plans for later releases of GCC.
* GDB (BinCD, DjgppD, DosCD, LangT, SrcCD)
In GDB (GNU DeBugger), object files and symbol tables are read via the
BFD library, which allows a single copy of GDB to debug programs with
multiple object file formats (e.g., a.out & COFF). Other features
include a rich 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 has a command line user interface; GNU Emacs comes with a GDB mode,
and `xxgdb' provides an X interface (but it is not distributed or
maintained by the FSF; FTP it from `ftp.x.org' in the `/contrib'
directory).
GDB uses a standard remote interface to a simulator library which (so
far) has simulators for the Zilog Z8001/2, Hitachi H8/300, H8/500 &
Super-H.
GDB can perform cross-debugging. To say that GDB "targets" a platform
means that it can perform native or cross-debugging for it. To say that
GDB can "host" a given platform means that it can be built on it, but
cannot necessarily debug native programs. GDB can:
* "target" & "host": Amiga 3000 (Amix), DEC Alpha (OSF/1), DECstation
3100 & 5000 (Ultrix), HP 9000/300 (BSD, HP-UX), HP 9000/700 (HP-UX),
i386 (BSD, FreeBSD, GNU/Linux, LynxOS, NetBSD, SCO), IBM RS/6000
(AIX, LynxOS), Motorola Delta m88k (System V, CX/UX), PC532
(NetBSD), Motorola m68k MVME-167 (LynxOS), NCR 3000 (SVR4), SGI
(Irix V3, V4, V5), SONY News (NewsOS 3.x), SPARC (SunOS 4.1,
Solaris, NetBSD, LynxOS) Sun-3 (SunOS 4.1), & Ultracomputer (a29k
running Sym1).
* "target", but not "host": AMD 29000 (COFF & a.out), Fujitsu
SPARClite, Hitachi H8/300, Hitachi SH, i960 (Nindy, VxWorks),
m68k/m68332 (a.out, COFF, VxWorks), MIPS (IDT ecoff), & Z8000.
* "host", but not "target": IBM RT/PC (AIX), and HP/Apollo 68k (BSD).
GDB can use the symbol tables emitted by the vendor supplied compilers of
most MIPS-based machines, including DEC. (These tables are in a format
which almost nobody else uses.) Source for the manual `Debugging with
GDB' and a reference card are included. See ``Documentation''.
* `gdbm' (LangT, SrcCD, UtilD)
`gdbm' is the GNU replacement for the traditional `dbm' and `ndbm'
libraries. It implements a database using quick lookup by hashing.
`gdbm' does not ordinarily need sparse file formats (unlike its Unix and
BSD counterparts).
* Ghostscript (DjgppD, DosCD, SrcCD, UtilT)
GNU Ghostscript is the GNU release of Ghostscript, which is an
interpreter for the Postscript graphics language (see ``Forthcoming
GNUs'', for news on future plans).
The current version of GNU Ghostscript is 2.6.2. Features include the
ability to use the fonts provided by the platform on which Ghostscript
runs (X Window System and Microsoft Windows), resulting in much
better-looking screen displays; improved text file printing (like
`enscript'); a utility to extract the text from a Postscript language
document; a much more reliable (and faster) Microsoft Windows
implementation; support for Microsoft C/C++ 7.0; drivers for many new
printers, including the SPARCprinter, and for TIFF/F (fax) file format;
many more Postscript Level 2 facilities, including most of the color
space facilities (but not patterns), and the ability to switch between
Level 1 and Level 2 dynamically. Version 2.6.2 adds a LaserJet 4 driver
and several important bug fixes to version 2.6.1.
Ghostscript executes commands in the Postscript language by writing
directly to a printer, drawing on an X window, or writing to a file for
later printing (or to a bitmap file that you can manipulate with other
graphics programs).
Ghostscript includes a C-callable graphics library (for client programs
that do not want to deal with the Postscript language). It also supports
IBM PCs and compatibles with EGA, VGA, or SuperVGA graphics (but please
do *not* ask the FSF staff any questions about this; we do not use PCs).
* Ghostview (SrcCD, UtilT)
Tim Theisen, `ghostview@cs.wisc.edu', has created Ghostview, a previewer
for multi-page files with an X11 user interface. Ghostview and
Ghostscript function as two cooperating programs; Ghostview creates a
viewing window and Ghostscript draws in it.
* `gmp' (LangT, SrcCD)
GNU mp is a library for arbitrary precision arithmetic on signed integers
and rational numbers. It has a rich set of functions with a regular
interface.
* GNATS (SrcCD, UtilT)
GNATS (GNats: A Tracking System, not to be confused with GNAT, The GNU
Ada Translator) 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 has 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.
* `gnuplot' (SrcCD, UtilT, WdwsD)
`gnuplot' is an interactive program for plotting mathematical
expressions and data. It handles both curves (2 dimensions) and surfaces
(3 dimensions). Curiously, the program was neither written nor named for
the GNU Project; the name is a coincidence. GNU Emacs' Calc mode uses
`gnuplot' smoothly.
* GnuGo (SrcCD, UtilT)
GnuGo plays the game of Go (Wei-Chi); it is not yet very sophisticated.
* `gperf' (LangT, SrcCD)
`gperf' generates perfect hash tables. There are two implementations of
`gperf', written in C and C++. Both produce hash functions in either C
or C++.
* GNU Graphics (SrcCD, UtilT)
GNU Graphics is a system which produces x-y plots from ASCII or binary
data. It supports traditional Unix device independent plot files,
Postscript and Tektronix 4010 compatible output devices and plot
previewing under the X Window System. Features include output support
in TekniCAD TDA and ln03 file formats; a `spline' program replacement;
examples of shell scripts using `graph' and `plot'; and a statistics
toolkit. Ask Rich Murphey, `Rich@rice.edu', to help test/port it to
anything beyond a SPARCstation.
* grep (DjgppD, DosCD, SrcCD, UtilD, UtilT)
This package has GNU `grep', `egrep', and `fgrep' which output lines
that match inputed patterns. They are much faster than the traditional
Unix versions.
* Groff (DjgppD, DosCD, SrcCD, UtilT)
Groff is a document formatting system, which includes drivers for
Postscript, TeX `dvi' format, and typewriter-like devices, as well as
implementations of `eqn', `nroff', `pic', `refer', `tbl', `troff', and
the `man', `ms', and `mm' macros. Groff's `mm' macro package is almost
compatible with the DWB `mm' macros and has several extensions. Also
included is a modified version of the Berkeley `me' macros and an
enhanced version of the X11 `xditview' previewer. Written in C++, these
programs can be compiled with GNU C++ Version 2.5 or later. A driver
for the LaserJet 4 series of printers is currently in test.
Groff users are encouraged to contribute enhancements. Most needed are
complete Texinfo documentation, a `grap' emulation (a `pic' preprocessor
for typesetting graphs), a page-makeup postprocessor similar to `pm'
(see `Computing Systems', Vol. 2, No. 2; ask `office@usenix.org' how to
get a copy) and an ASCII output class for `pic' so that `pic' can be
integrated with Texinfo. Questions and bug reports from users who have
read the documentation provided with Groff can be sent to
`bug-groff@prep.ai.mit.edu'.
* `gzip' (DjgppD, DosCD, LangT, LspEmcT, SrcCD, UtilT)
Some of the contents of our tape and FTP distributions are compressed.
We have software on our tapes and FTP sites to uncompress these files.
Due to patent troubles with `compress', we have switched to another
compression program, `gzip'. (Prohibitions on programming like this are
fought by the League for Programming Freedom, see ``What Is the LPF'',
for details.) `gzip' can expand LZW-compressed files but uses another,
unpatented algorithm for compression which generally produces better
results. It also expands files compressed with System V's `pack'
program.
* `hello' (DjgppD, DosCD, SrcCD, UtilT)
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.
Like any truly useful program, `hello' contains a built-in mail reader.
* `hp2xx' (SrcCD, UtilT)
GNU `hp2xx' reads HP-GL files, decomposes all drawing commands into
elementary vectors, and converts them into a variety of vector and raster
output formats. It is also an HP-GL previewer. Currently supported
vector formats include encapsulated Postscript, Uniplex RGIP, Metafont
and various special TeX-related formats, and simplified HP-GL (line
drawing only) for imports. Raster formats supported include IMG, PBM,
PCX, & HP-PCL (including Deskjet & DJ5xxC support). Previewers work
under X11 (Unix), OS/2 (PM & full screen), MS-DOS (SVGA, VGA, & HGC).
* `indent' (DjgppD, DosCD, SrcCD, UtilD, UtilT)
GNU `indent' is a revision of the BSD version. By default, it formats C
source according to the GNU coding standards. The BSD default, K&R and
other formats are available as options. It is also possible to define
your own format. GNU `indent' is more robust and provides more
functionality than other versions, e.g., it handles C++ comments.
* Ispell (DjgppD, DosCD, SrcCD, UtilT)
Ispell is an interactive spell checker that suggests "near misses" as
replacements for unrecognized words. System & user-maintained
dictionaries for multiple languages can be used. Standalone & GNU Emacs
interfaces are available. Previously, the GNU Project had its own
version of ispell ("Ispell 4.0"), but has dropped it for a parallel
branch that has had more development ("Ispell 3.1"). The version
numbers do not accurately reflect the lineage of these two branches;
version 3 is more sophisticated.
* JACAL *Not available from the FSF*
JACAL is a symbolic mathematics system for the manipulation and
simplification of equations and single and multiple-valued algebraic
expressions constructed of numbers, variables, radicals, differential
operators, and algebraic and holonomic functions. Vectors, matrices,
and tensors of these objects are also included.
JACAL was written in Scheme by Aubrey Jaffer. It comes with SCM, an IEEE
P1178 and R4RS compliant version of Scheme written in C. SCM runs on
Amiga, Atari-ST, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Unix, and similar
systems. SLIB is a portable Scheme library used by JACAL.
The FSF is not distributing JACAL on any media. To receive an IBM PC
floppy disk with the source and executable files, send $99.00 to:
Aubrey Jaffer
84 Pleasant Street
Wakefield, MA 01880-1846
USA
* `less' (SrcCD, UtilD, UtilT)
`less' is a display paginator similar to `more' and `pg' but with
various features (such as the ability to scroll backwards) that most
pagers lack.
* `m4' (DjgppD, DosCD, SrcCD, UtilD, UtilT)
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.
* `make' (BinCD, DjgppD, DosCD, LangT, LspEmcT, SrcCD, UtilD,
UtilT)
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,
flexible implicit pattern rules, conditional execution and powerful text
manipulation functions. Recent versions have improved error reporting
and added support for the popular `+=' syntax to append more text to a
variable's definition. Texinfo source for the `Make Manual' comes with
the program. See ``Documentation''.
GNU `make' is on several of our tapes because some system vendors supply
no `make' utility at all, and some native `make' programs lack the
`VPATH' feature essential for using the GNU configure system to its full
extent. The GNU `make' sources have a shell script to build `make'
itself on such systems.
DJ Delorie has ported GNU `make' to MS-DOS using the GO32 extender.
MS-DOS binaries for `make' are available with the DJGPP distribution.
* MandelSpawn (SrcCD, UtilT)
A parallel Mandelbrot generation program for the X Window System.
* mtools (SrcCD, UtilT)
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).
* MULE (EmcsD, DosCD, SrcCD)
MULE is a MULtilingual Enhancement to GNU Emacs. It can handle many
character sets at once including Japanese, Chinese, Korean, Vietnamese,
Thai, Greek, the ISO Latin-1 through Latin-5 character sets, Ukrainian,
Arabic, Hebrew, Russian, and other Cyrillic alphabets. A text buffer in
MULE can contain a mixture of characters from these languages. To input
any of these characters, you can use various input methods provided by
MULE itself. In addition, if you use MULE under some terminal emulators
(kterm, cxterm, or exterm), you can use its input methods. MULE is
being merged into GNU Emacs. See ``GNU and Other Free Software in
Japan'', for more information about MULE.
* NetHack (SrcCD, UtilT)
NetHack is a display-oriented adventure game similar to Rogue. Both
ASCII and X displays are supported.
* NIH Class Library (LangT, SrcCD)
The NIH Class Library (formerly known as "OOPS", Object-Oriented Program
Support) is a portable collection of C++ 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.
* `nvi' (SrcCD, UtilT)
`nvi' is a free implementation of the `vi'/`ex' Unix editor. It has
most of the functionality of the original `vi'/`ex', except "open" mode
& the `lisp' option, which will be added. Enhancements over `vi'/`ex'
include split screens with multiple buffers, handling 8-bit data,
infinite file & line lengths, tag stacks, infinite undo & extended
regular expressions. It runs under GNU/Linux, BSD, NetBSD, FreeBSD,
BSDI, AIX, HP-UX, DGUX, IRIX, PSF, PTX, Solaris, SunOS, Ultrix, Unixware
& should port easily to many other systems.
* GNU Objective-C Library (LangT, SrcCD)
The GNU Objective-C Class Library (`libobjects') is a library of
general-purpose, non-graphical Objective-C objects written by R. Andrew
McCallum. It includes collection objects for maintaining groups of
objects and C types, streams for I/O to various destinations, coders for
formatting objects and C types to streams, ports for network packet
transmission, distributed objects (remote object messaging),
pseudo-random number generators, and time handling facilities. It is
known to work on i386, i486, Pentium. m68k, SPARC, MIPS, & RS6000.
Contact the author at `mccallum@gnu.ai.mit.edu'.
* `OBST' (LangT, SrcCD)
`OBST' is a persistent object management system with bindings to C++.
`OBST' supports incremental loading of methods. Its graphical tools
require the X Window System. It features a hands-on tutorial including
sample programs. It compiles with g++ and should install easily on most
Unix platforms.
* Octave (LangT, SrcCD)
Octave is a high-level language that is primarily intended for numerical
computations. It provides a convenient command line interface for
solving linear and nonlinear problems numerically. Octave does
arithmetic for real and complex scalars and matrices, solves sets of
nonlinear algebraic equations, integrates systems of ordinary
differential and differential-algebraic equations, and integrates
functions over finite and infinite intervals. Send queries and bug
reports to: `bug-octave@che.utexas.edu'. Source is included for a 150+
page Texinfo manual, which is not yet published by the FSF.
* Oleo (SrcCD, UtilT)
Oleo is a spreadsheet program (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. See ``Forthcoming GNUs'', for the plans for later releases of
Oleo.
* `p2c' (LangT, SrcCD)
`p2c' is a Pascal-to-C translator written by Dave Gillespie. It
recognizes many Pascal dialects including Turbo, HP, VAX, and ISO, and
produces readable, maintainable, portable C.
* `patch' (DjgppD, DosCD, SrcCD, UtilT)
`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.
* PCL (LspEmcT, SrcCD)
PCL is a free implementation of a large subset of CLOS, the Common Lisp
Object System. It runs under both GCL and CLISP, mentioned above.
* `perl' (LangT, SrcCD)
Larry Wall's `perl' combines the features and capabilities of `sed',
`awk', `sh' and C, as well as interfaces to the Unix system calls and
many C library routines.
* `ptx' (SrcCD, UtilD, UtilT)
GNU `ptx' is our version of the traditional permuted index generator.
It handles multiple input files at once, produces TeX compatible output,
& outputs readable "KWIC" (KeyWords In Context) indexes. It does not
yet handle input files that do not fit in memory all at once.
* `rc' (SrcCD, UtilT)
`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 also great for writing
scripts. It inspired the shell `es'.
* RCS (SrcCD, UtilD, UtilT)
RCS, the Revision Control System, is used for version control &
management of software projects. When used with GNU `diff', RCS can
handle binary files (executables, object files, 8-bit data, etc). Also
see the item about CVS in this section.
* `recode' (SrcCD, UtilT)
GNU `recode' converts files between character sets and usages. When
exact transliterations are not possible, it may get rid of the offending
characters or fall back on approximations. This program recognizes or
produces nearly 150 different character sets and is able to
transliterate files between almost any pair. Most RFC 1345 character
sets are supported.
* regex (LangT, SrcCD)
The GNU regular expression library supports POSIX.2, except for
internationalization features. In the past, it has been included in
many GNU programs which do regular expression matching. Now it is
available separately. An alternative regular expression package, `rx',
comes with `sed'; it has the potential to be faster than `regex' in most
cases, but still needs work.
* Scheme (SchmT, SrcCD)
For information about Scheme, see ``Scheme Tape''.
* `screen' (SrcCD, UtilT)
`screen' is a terminal multiplexer that runs several separate "screens"
(ttys) on a single physical character-based terminal. Each virtual
terminal emulates a DEC VT100 plus several ANSI X3.64 and ISO 2022
functions. Arbitrary keyboard input translation is also supported.
`screen' sessions can be detached and resumed later on a different
terminal type.
* `sed' (DjgppD, DosCD, SrcCD, UtilD, UtilT)
`sed' is a stream-oriented version of `ed'. GNU `sed' comes with the
`rx' library, a faster version of `regex' (see ``Forthcoming GNUs'').
* Sharutils (SrcCD, UtilT)
`shar' makes so-called shell archives out of many files, preparing them
for transmission by electronic mail services, while `unshar' helps
unpack these shell archives after reception. `uuencode' prepares a file
for transmission over an electronic channel which ignores or otherwise
mangles the high order bit of bytes, while `uudecode' does the converse
transformation.
* Shellutils (DjgppD, DosCD, SrcCD, UtilT)
Use shellutils interactively or in shell scripts: `basename', `date',
`dirname', `echo', `env', `expr', `false', `groups', `hostname', `id',
`logname', `nice', `nohup', `pathchk', `printenv', `printf', `pwd',
`sleep', `stty', `su', `tee', `test', `true', `tty', `uname', `users',
`who', `whoami', and `yes'.
* GNU Shogi (SrcCD, UtilT)
Shogi is a Japanese game similar to Chess; a major difference is that
captured pieces can be returned into play. GNU Shogi has been created
by modifying GNU Chess; GNU Shogi implements the same features as GNU
Chess and uses similar heuristics. As a new feature, sequences of
partial board patterns can be introduced in order to help the program
play toward specific opening patterns. There are both character and X
display interfaces. GNU Shogi is primarily supported by Matthias Mutz
on behalf of the FSF.
* Smalltalk (LangT, SrcCD)
GNU Smalltalk is an interpreted object-oriented programming language
system written in highly portable C. It has been successfully ported to
many Unix and some other platforms, including DOS (but these non-Unix
ports are not available from the FSF). Current features include a
binary image save capability, the ability to invoke user-written C code
and pass parameters to it, a GNU Emacs editing mode, a version of the X
protocol invocable from Smalltalk, optional byte-code compilation
tracing and byte-code execution tracing, and automatically loaded
per-user initialization files. It implements all of the classes and
protocol in the Smalltalk-80 book "Smalltalk-80: The Language", except
for the graphic user interface (`GUI') related classes.
See ``Forthcoming GNUs'', for plans for later releases of Smalltalk.
* Superopt (LangT, SrcCD)
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 GNU superoptimizer, `gso', a
function, a CPU to generate code for, and how many instructions you can
accept. Its application in GCC is described in the `ACM SIGPLAN
PLDI'92' proceedings. Superopt supports: SPARC, m68k, m68020, m88k, IBM
RS/6000, AMD 29000, Intel 80x86, Pyramid, DEC Alpha, & HP-PA.
* `tar' (SrcCD, UtilT)
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 Library (SrcCD, UtilT)
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. See ``Documentation''.
* TeX (SrcCD)
TeX is a document formatting system that handles complicated
typesetting, including mathematics. It is GNU's standard text formatter.
You can obtain TeX from the University of Washington, which maintains and
supports a tape distribution of TeX for Unix systems. The core material
consists of Karl Berry's `web2c' TeX package, the sources for which are
available via anonymous ftp; retrieval instructions are in
`pub/tex/unixtex.ftp' on `ftp.cs.umb.edu'. If you receive any
installation support from the University of Washington, please consider
sending them a donation.
To order a full distribution written in `tar' on either a 1/4inch
4-track QIC-24 cartridge or a 4mm DAT cartridge, send $210.00 to:
Pierre A. MacKay
Department of Classics
DH-10, Denny Hall 218
University of Washington
Seattle, WA 98195
USA
Electronic-Mail: `mackay@cs.washington.edu'
Telephone: +1-206-543-2268
Please make checks payable to the University of Washington. Do not
specify any other payee. That causes accounting difficulties. Checks
must be in U.S. dollars, drawn on a U.S. bank. Prepaid orders are the
only orders that can now be handled. Overseas sites: please add to the
base cost $20.00 for shipment via air parcel post, or $30.00 for
shipment via courier. Please check with the above for current prices
and formats.
* Texinfo (DjgppD, DosCD, LangT, LspEmcT, SrcCD, UtilD, UtilT)
Texinfo is a set of utilities which generate both printed manuals and
online hypertext documentation (called "Info"). There are also programs
for reading online Info documents. Version 3 has both GNU Emacs Lisp
and standalone programs written in C or shell script. Texinfo mode for
GNU Emacs enables easy editing and updating of Texinfo files. Programs
provided include `makeinfo', `info', `texi2dvi', `texindex', `tex2patch',
and `fixfonts'. Source for the `Texinfo Manual' is included. See
``Documentation''.
* Textutils (DjgppD, DosCD, SrcCD, UtilT)
The Textutils programs manipulate textual data. They include: `cat',
`cksum', `comm', `csplit', `cut', `expand', `fmt', `fold', `head',
`join', `nl', `od', `paste', `pr', `sort', `split', `sum', `tac', `tail',
`tr', `unexpand', `uniq', and `wc'.
* Tile Forth (LangT, SrcCD)
Tile Forth is a 32-bit implementation of the Forth-83 standard written
in C, allowing it to be easily ported to new systems, and extended with
"any" C-function (graphics, windowing, etc). Many Forth libraries with
full documentation are available including ones for top-down parsing,
multi-threads, and object oriented programming.
* `time' (SrcCD, UtilT)
`time' is used to report statistics (usually from a shell) about the
amount of user, system and real time used by a process. On some systems
it also reports memory usage, page faults, and other statistics.
* `tput' (SrcCD, UtilT)
`tput' is a portable way for shell scripts to use special terminal
capabilities. Our `tput' uses the Termcap database, instead of Terminfo
as most others do.
* UUCP (SrcCD, UtilT)
This version of UUCP was written by Ian Lance Taylor, and is GNU's
standard UUCP system. It supports the `f', `g' and `v' (in all window
and packet sizes), `G', `t', `e', Zmodem and two new bidirectional (`i'
and `j') protocols. If you have a Berkeley sockets library, it can make
TCP connections. If you have TLI libraries, it can make TLI
connections. Source is included for a Texinfo manual, which is not yet
published by the FSF.
* `wdiff' (DjgppD, DosCD, SrcCD, UtilT)
`wdiff' is a front-end to GNU `diff'. It compares two files, finding
the words deleted or added to the first to make the second. It has many
output formats and works well with terminals and pagers. `wdiff' is
very useful when two texts differ only by a few words and paragraphs
have been refilled.
* `Ygl' (SrcCD, UtilT)
`Ygl' emulates SGI's GL (Graphics Language) library under X11. It runs
under GNU/Linux with XFree, AIX 3.2, ConvexOS, HP-UX 7.0/8.0/9.0, SunOS
and many others.
----------------------------------------------------------------------
Forthcoming GNUs
****************
Information about the current status of released GNU programs can be found in
``GNU Software''. Here is some news of future plans.
* New CD-ROMs from the FSF (see ``CD-ROMs'')
We will release the sixth edition of its Source Code CD-ROM in March
1995. We will also be releasing two new CDs: the MS-DOS CD-ROM in
February 1995; & the Debian GNU/Linux CD-ROM in Spring 1995; both of
them will come in a book describing their contents. Contact either
address on page 1, for more information then.
* Programming in Emacs Lisp, An Intro. (see ``Documentation'')
In February, the FSF will publish the first edition of `Programming in
Emacs Lisp, An Introduction' by Robert J. Chassell (who, in another
guise, is the FSF's Secretary/Treasurer). This book is an elementary
introduction, written for people who are not programmers & who do not
necessarily wish to be, but who do want to extend Emacs. The book walks
though code used in GNU Emacs & has many sample programs that you can
run in Emacs.
* GNU Objective-C Class Library (Also see ``GNU Software'')
Future versions, of the GNU Objective-C Class Library (`libobjects'),
will have String objects that are integrated into the Collection object
hierarchy, a better allocation/deallocation mechanism, improved features
for distributed objects (including a back-end using Mach ports instead
of sockets), more extensive random number generator facilities, and
ports to more machines. Volunteers are needed for additional projects;
contact `mccallum@gnu.ai.mit.edu'.
* GNUStep: GNU OpenStep
OpenStep is an object-oriented application programming interface
specification being proposed as an open object standard. Since its
announcement over a year ago, there has been much interest in a GNU
implementation, which is named GNUStep. Work has started on an
implementation using an existing library written in Objective-C as a
starting point. Much work remains to be done to bring this library
close to the OpenStep specifications. Volunteers should contact
`Paul_Kunz@slac.stanford.edu'.
* `makeinfo' and the World Wide Web (Also see ``GNU Software'')
`makeinfo' is being modified to translate Texinfo source files into HTML
documents that can be displayed from the Internet's World Wide Web.
* GNU Common Lisp (For current status, see ``GNU Software'')
Version 1.1 of GNU Common Lisp (GCL) was released in November.
Development is now concentrating on a TK based graphical window
interface; a beta version will be available by time you read this
Bulletin. Both GCL specific documentation, and a Texinfo version of the
proposed ANSI standard have been written. Work on conditions,
installing the new compiler, and internals is underway. Volunteers for
parts of the move to the ANSI standard and to convert the current GCL
specific documentation to Texinfo are most welcome; contact
`schelter@math.utexas.edu'.
* GNU Emacs (For current status, see ``GNU Software'')
Emacs is the extensible, customizable, self-documenting real-time display
editor & computing environment. The next release will have support for
Windows NT, be able to communicate with multiple X displays at once & be
able to save text properties in files for editing formatted text. Future
releases will include: different visibility conditions for regions & for
multiple windows showing the same buffer, incrementally saving the undo
history in a file, so that you can undo older changes in the history,
support for both variable-width fonts & wide character sets including
all the world's major languages.
* C Interpreter
We hope to add interpreter facilities to the GNU compiler and debugger.
This task is partly finished. GCC now generates byte code (for all
supported languages: C, C++ and Objective-C) and another package
interprets it.
To make this work usable, we need to add features to GDB to load the byte
code dynamically. We also would like C compiler support for compiling
just a specified few functions in a file. Due to limited resources, the
FSF cannot fund this. Interested volunteers should contact
`gnu@prep.ai.mit.edu'.
* GCC (For current status, see ``GNU Software'')
New front ends for GCC are being developed for Pascal and Chill. See the
GNU Fortran and GNAT items in this article for news on those front ends.
* GNAT: The GNU Ada Translator (*Not yet available from the FSF*)
A front end for much of Ada 9X (GNAT: The GNU Ada Translator) is
available via anonymous FTP from `cs.nyu.edu' in `/pub/gnat'. News about
GNAT is posted to the USENET newsgroup `comp.lang.ada'.
* GNU Fortran (For info on `f2c' & GCC, see ``GNU Software'')
We have released GNU Fortran (`g77'), developed by Craig Burley, for
public beta testing. For the time being, `g77' produces code that is
generally object-compatible with `f2c', and they use the same run-time
library (`libf2c').
The `g77' front end is stable, but work is needed to bring its overall
packaging, feature set, and performance up to the levels the Fortran
community expects. Tasks to be done include: writing documentation;
improving diagnostics; speeding up compilation especially for large
initialized data tables; implementing `INTEGER*2', `INTEGER*8', and
similar features; and arranging to build and install `libf2c'
automatically.
We don't know when these things will be done, but we hope some will be
finished in the coming months. You can speed progress by working on
some of them or by offering funding.
A mailing list exists for announcements about `g77'. To subscribe, ask
`info-gnu-fortran-request@prep.ai.mit.edu'. To contact the developer of
`g77', write to `fortran@prep.ai.mit.edu'.
* Ghostscript (For current status, see ``GNU Software'')
Ghostscript 3.0 will be released and distributed by the FSF late in
1995; a future GNU's Bulletin will have a more definite date. It will
implement the full Postscript Level 2 language except for LZW
compression, which can't be freely implemented because of software
patents. (Prohibitions on programming like this are what the League for
Programming Freedom is fighting. See ``What Is the LPF'', for details.)
* Oleo (For current status, see ``GNU Software'')
Volunteers are writing an Oleo manual and extensions to the Oleo
interface.
* rx, a faster regular expression library
Tom Lord has written `rx', a new regular expression library which is
faster than the current library we use. Currently it is only being
distributed with `sed'; eventually we will distribute it as a separate
package as well. This new library is nearly a drop-in replacement for
the current `regex' library used by the GNU Project, but it needs a few
more features to be used in Emacs.
* Smalltalk (For current status, see ``GNU Software'')
The next release, version 1.2, will use the GNU Autoconf configuration
system, and will have significant performance improvements and memory
requirement reductions, more control over the memory allocation, ability
to use the Smalltalk interpreter as a subroutine (i.e., callable from
C), better interfaces to the X Window System, ability to represent and
manipulate C data structures in Smalltalk, conditional compilation
facilities, large integer support, a complete GUI based class browsing
system, better (more complete/usable) TCP/IP interfaces, exception
support, and weak references & finalization support.
----------------------------------------------------------------------
best -gnu@prep.ai.mit.edu
Member, League for Programming Freedom,
ask: lpf@uunet.uu.net, surf: http://www.lpf.org