-*- text -*- Last modified Thu Mar 21 18:57:21 1996 This is an incomplete and probably out-of-date list of all the packages distributed on prep.ai.mit.edu and its 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 with that program and its source code. Because the unix `compress' utility is patented (by two separate patents, in fact), we cannot use it; it is 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 most recent GNU's Bulletin. They contain 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 *Note How to Get GNU Software::. We also offer software on various media and printed documentation: * *Note CD-ROMs::. * *Note Tapes::. * *Note MS-DOS Diskettes::. * *Note Documentation::, which includes manuals and reference cards. In these 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. See the *note Free Software Foundation Order Form::., for ordering information. 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 use another compression program, `gzip'. (Such prohibitions on software development are fought by the League for Programming Freedom; *note What Is the LPF::., for details.) 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. We welcome all bug reports and enhancements sent to the appropriate electronic mailing list (*note Free Software Support::.). Configuring GNU Software ------------------------ We are using, Autoconf, a uniform scheme for configuring GNU software packages in order to compile them (see "Autoconf" below, in this article). The goal is to have all GNU software support the same alternatives for naming machine and system types. Ultimately, it will be possible to configure and build the entire system all at once, eliminating the need to configure each individual package separately. You can also specify both the host and target system to build cross-compilation tools. Most GNU programs now use Autoconf-generated configure scripts. GNU Software currently available -------------------------------- For future programs and features, see *Note Forthcoming GNUs::. Key to cross reference: BinCD December 1994 Binaries CD-ROM DjgpD Djgpp Diskettes DosBC MS-DOS Book with CD-ROM EmcsD Emacs Diskettes LangT Languages Tape LiteT 4.4BSD-Lite Tape LspEmcT Lisps/Emacs Tape SchmT Scheme Tape SrcCD December 1995 Source CD-ROMs UtilD Selected Utilities Diskettes UtilT Utilities Tape VMSCmpT VMS Compiler Tape VMSEmcsT VMS Emacs Tape WdwsD Windows Diskette X11OptT X11 Optional Tape X11ReqT X11 Required Tape [FSFman] shows that we sell a manual for that package. [FSFrc] shows we sell a reference card for that package. To order them, see the *note Free Software Foundation Order Form::.. *Note Documentation::, for more information on the manuals. Source code for each manual or reference card is included with each package. * `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 a more accurate simulation of real airplane flight characteristics. * apache (SrcCD) Apache is an HTTP server designed as a plug-in replacement for version 1.3 or 1.4 of the NCSA server. It fixes numerous bugs in the NCSA server and includes many frequently requested new features, and has an API which allows it to be extended to meet users' needs more easily. * 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. * BASH (SrcCD, UtilT) GNU's 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, 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-1992 standard. * `bc' (DosBC, SrcCD, UtilT) `bc' is an interactive algebraic language with arbitrary precision numbers. GNU `bc' follows the POSIX 1003.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, DjgpD, DosBC, 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 Texinfo source for a manual (not yet published on paper). At present, BFD is not distributed separately; it is included with packages that use it. * Binutils (BinCD, DjgpD, DosBC, LangT, SrcCD; `gas' only on VMSCmpT) Binutils includes these programs: `ar', `c++filt', `demangle', `gas', `gprof', `ld', `nlmconv', `nm', `objcopy', `objdump', `ranlib', `size', `strings', & `strip'. Binutils version 2 uses the BFD library. The GNU assembler, `gas', supports the a29k, Alpha, H8/300, H8/500, HP-PA, i386, i960, m68k, m88k, MIPS, NS32K, SH, SPARC, Tahoe, Vax and Z8000 CPUs, and attempts to be compatible with many other assemblers for UNIX and embedded systems. It can produce mixed C-and-assembly listings, and includes a macro facility similar to that in some other assemblers. GNU's linker `ld' emits source-line numbered error messages for multiply-defined symbols and undefined references, and interprets a superset of AT&T's Linker Command Language, which gives control over where segments are placed in memory. `nlmconv' converts object files into Novell NetWare Loadable Modules. `objdump' can disassemble code for most of the CPUs listed above, and can display other data (e.g., symbols and relocations) from any file format read by BFD. * Bison (BinCD,DjgpD,DosBC,LangT,SrcCD,VMSCmpT)[FSFman,FSFrc] Bison is an upwardly compatible replacement for the parser generator `yacc'. Texinfo source for the `Bison Manual' and reference card are included. *Note Documentation::. A recent policy change allows non-free programs to use Bison-generated parsers. *Note Conditions for Using Bison::. * C Library (BinCD, LangT, SrcCD) [FSFman] 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 performs many functions of the Unix system calls in the GNU/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/Pentium (System V, SVR4, BSD, SCO 3.2, & SCO ODT 2.0), Sequent Symmetry i386 (Dynix 3), & SGI (Irix 4). *Note Forthcoming GNUs::. Texinfo source for the `GNU C Library Reference Manual' is included (*note Documentation::.. * C++ Library (BinCD, DjgpD, DosBC, LangT, SrcCD) The GNU C++ library (libg++) contains 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. The distribution also includes the libstdc++ library. This implements library facilities defined by the forthcoming ANSI/ISO C++ standard, including a port of the Standard Template Library. * Calc (DosBC, LspEmcT, SrcCD) [FSFman, FSFrc] 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 manual & reference card (*note Documentation::.). * `cfengine' (SrcCD, UtilT) `cfengine' is used for maintaining site-wide configuration of a heterogeneous Unix network using a simple high level language. Its appearance is similar to `rdist', but also allows many more operations to be performed automatically. See Mark Burgess, "A Site Configuration Engine", `Computing Systems', Vol. 8, No. 3 (ask `office@usenix.org' how to get a copy). * Chess (SrcCD, UtilT, WdwsD) GNU Chess enables most modern computers to play a full game of chess. It supports a plain terminal interface, a curses interface, and a spiffy X Window interface via `xboard'. Improvements this past year include fixes to the game analyzer, book, & hash table; smartening up draw and mate; improved thinking on opponent's time; Autoconf installation; a makefile for Windows NT compilation; forward pruning; unlimited quiescence captures; improved evaluation; improved null & time control logic; & repetition-detection. GNU Chess was originated by Stuart Cracraft. Improvements & rewrites are from John Stanback, Cha Kong Sian, Mike McGann, and many others. Send bugs to `bug-gnu-chess@prep.ai.mit.edu' & general comments to `info-gnu-chess@prep.ai.mit.edu'. * CLISP (LspEmcT, SrcCD) CLISP is a Common Lisp implementation by Bruno Haible and Michael Stoll. It mostly supports the Lisp described by `Common LISP: The Language (2nd edition)' and the ANSI Common Lisp standard. CLISP includes an interpreter, a byte-compiler, a large subset of CLOS, a foreign language interface, and, for some machines, a screen editor. The user interface language (English, German, French) is choosable 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, Windows NT, Amiga 500-4000, Acorn RISC PC) & Unix-like systems (GNU/Linux, Sun4, SVR4, SGI, HP-UX, DEC Alpha, NeXTStep, & others). * Common Lisp **Note Forthcoming GNUs::* (LspEmcT, SrcCD) GNU Common Lisp (GCL, formerly known as Kyoto Common Lisp) is a compiler & interpreter for Common Lisp. GCL is very portable & extremely efficient on a wide class of applications, & compares favorably in performance with commercial Lisps on several large theorem-prover & symbolic algebra systems. GCL supports the CLtL1 specification but is moving towards the proposed ANSI standard. GCL compiles to C & then uses the native optimizing C compiler (e.g., GCC). A function with a fixed number of args & one value turns into a C function of the same number of args, returning one value--so GCL is maximally efficient on such calls. Its conservative garbage collector gives great freedom to the C compiler to put Lisp values in registers. It has a source level Lisp debugger for interpreted code & displays source code in an Emacs window. Its profiler (based on the C profiling tools) counts function calls & the time spent in each function. There is now a built-in interface to the Tk widget system. It runs in a separate process, so users may monitor progress on Lisp computations or interact with running computations via a windowing interface. There is also an Xlib interface via C (xgcl-2)® CLX runs with GCL, as does PCL (see "PCL" later in this article). *Note Forthcoming GNUs::, for plans regarding GCL or for recent developments. GCL version 2.2 is released under the GNU Library General Public License. * CLX (LspEmcT, SrcCD) CLX is an X Window interface library for GCL. * `cpio' (DosBC, SrcCD, UtilD, UtilT) `cpio' is an 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 & release control at a multi-developer, multi-directory, multi-group site. It works best with RCS versions 4 and above, but will parse older RCS formats, losing some of CVS's fancier features. (See Berliner, Brian, "CVS-II: Parallelizing Software Development," `Proceedings of the Winter 1990 USENIX Association Conference'; ask `office@usenix.org' how to get a copy.) * DejaGnu (LangT, SrcCD) DejaGnu is a framework to test programs with a single front end for all tests. The framework's flexibility & consistency makes it easy to write tests. DejaGnu comes with `expect', which runs scripts to conduct dialogs with programs. * Diffutils (DjgpD, DosBC, SrcCD, 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', & `cmp'. Recent improvements include more consistent handling of character sets and a new `diff' option to do all input/output in binary; this is useful on some non-POSIX hosts. Plans for the Diffutils package include support for internationalization (e.g., error messages in Chinese) and for some non-Unix PC environments. * DJGPP (BinCD, DjgpD, DosBC) DJ Delorie has ported GCC/G++ (see "GCC" in this article) to i386s running MS-DOS. DJGPP has a 32-bit i386 DOS extender with a symbolic debugger; development libraries; & ports of Bison, `flex', & Binutils. Full source code is provided. It needs at least 5MB of hard disk space to install & 512K of RAM to use. It supports SVGA (up to 1024x768), XMS & VDISK memory allocation, `himem.sys', VCPI (e.g., QEMM, DESQview, & 386MAX), & DPMI (e.g., Windows 3.x, OS/2, QEMM, & QDPMI). The FSF offers it on the *Note Compiler Tools Binaries CD-ROM::, and on the *Note DJGPP Diskettes::. FTP from `oak.oakland.edu' in `/simtel/vendors/djgpp/' (or another SimTel mirror site). To join a DJGPP users mailing list, ask `djgpp-request@sun.soe.clarkson.edu'. * `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' (DosBC, SrcCD, UtilT) This program is 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 systems with 8+3 character filenames. * `ecc' (LangT, SrcCD) `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. It is line-oriented and can be used interactively or in scripts. * Elib (DosBC, LspEmcT, SrcCD) Elib is a small library of Emacs Lisp functions, including routines for using AVL trees and doubly-linked lists. * Elisp archive (SrcCD) This is a snapshot of Ohio State's GNU Emacs Lisp FTP Archive. FTP it from `archive.cis.ohio-state.edu' in `/pub/gnu/emacs/elisp-archive'. * Emacs **Note Forthcoming GNUs:: for future plans.* In 1975, Richard Stallman developed the first Emacs, an extensible, customizable real-time display editor & computing environment. GNU Emacs is his second implementation. It offers true Lisp--smoothly integrated into the editor--for writing extensions & provides an interface to the X Window System. It runs on Unix, MS-DOS, & Windows NT. In addition to its powerful native command set, Emacs has extensions which emulate the editors vi & EDT (Digital's VMS editor). Emacs has many other features which make it a full computing support environment. Source for the `GNU Emacs Manual' & a reference card comes with the software. Sources for the `GNU Emacs Lisp Reference Manual' & `Programming in Emacs Lisp: An Introduction' are distributed in separate packages. *Note Documentation::. * Emacs 18 (LspEmcT, SrcCD, VMSEmcsT) [FSFrc] Emacs 18.59 is the last release of version 18 from the FSF. We no longer maintain it. It supports these Unix systems that Emacs 19 doesn't support (please help port Emacs 19 to these systems): Alliant FX/80, Altos 3068, Amdahl (UTS), AT&T (3Bs & 7300 PC), CCI 5/32 & 6/32, Celerity, Digital (VAX VMS), Dual, Encore (APC, DPC, & XPC), HLH Orion (original & 1/05), ISI (Optimum V, 80386), Masscomp, NCR Tower 32 (SVR2 & SVR3), Nixdorf Targon 31, Nu (TI & LMI), pfa50, Plexus, Prime EXL, Stride (system rel. 2), Tahoe, Tandem Integrity S2, Tektronix 16000, Triton 88, Ustation E30 (SS5E), Whitechapel (MG1), & Wicat. * Emacs 19 (DosBC, EmcsD, LspEmcT, SrcCD) [FSFman(s), FSFrc] Emacs 19 works with character-only terminals & with the X Window System (with or without an X toolkit). New features in Emacs 19 include: multiple X windows ("frames" to Emacs), with 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 & colors defined by those properties; simplified/improved processing of function keys, mouse clicks, and mouse movement; X selection processing, including clipboard selections; hooks to be run if the point or mouse moves outside a certain range; menu bars and popup menus defined by keymaps; scrollbars; before- and after-change hooks; a source-level debugger for Emacs Lisp programs; floating point numbers; improved buffer allocation, including returning storage to the system when a buffer is killed; interfacing with the X resource manager; many updated libraries; integrated support for version control systems (RCS, CVS, & SCCS); Autoconf based configuration; and support for European character sets. Recent features include the ability to open frames on more than one X display from a single Emacs job, operation on MS-DOS, MS Windows, and Windows NT, displaying multiple views of an outline at the same time, support for the Athena & Motif widgets, version control support for CVS and for multiple branches, text properties for formatting text, commands to edit text properties and save them in files, and GNU-standard long-named command line options. Emacs 19.30 works on: Acorn RISC (RISCiX); Alliant FX/2800 (BSD); Alpha (OSF/1); Apollo (DomainOS); Bull DPX/2 2nn & 3nn (SysV.3) & sps7 (SysV.2); 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, 3000, 4000 & 5000 (cxux); Honeywell XPS100 (SysV); HP 9000 series 200, 300, 700, 800 (but not 500) (4.3BSD; HP-UX 7, 8, 9); Intel i386/i486/Pentium (GNU/Linux, 386BSD, AIX, BSDI/386, FreeBSD, Esix, ISC, MS-DOS (*note MS-DOS Diskettes::., & *Note MS-DOS Book with CD-ROM::), NetBSD, SCO3.2v4, Solaris, SysV, Xenix, WindowsNT); IBM RS/6000 (AIX 3.2) & RT/PC (AIX, BSD); Motorola Delta 147 & 187 (SysV.3, SysV.4, m88kbcs); National Semiconductor 32K (Genix); NeXT (BSD, Mach 2 w/ NeXTStep 3.0); Paragon (OSF/1); Prime EXL (SysV); Pyramid (BSD); Sequent Symmetry (BSD, ptx); Siemens RM400 & RM600 (SysV); SGI Iris 4D (Irix 4.x & 5.x); Sony News/RISC (NewsOS); Stardent 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 (SysV.3) & 4300 (BSD); & Titan P2 & P3 (SysV). 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 *Note 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). `es''s extensibility comes from the ability to modify and extend the shell's built-in services, such as path searching and redirection. Like `rc', it is great for both interactive use and scripting, particularly since its quoting rules are much less baroque than the C and Bourne shells. * `f2c' (LangT, SrcCD) `f2c' converts Fortran-77 source into C or C++, which can be compiled with GCC or G++. Get bug fixes by FTP from site `netlib.att.com' or by email from `netlib@research.att.com'. See the file `/netlib/f2c/readme.Z' for a summary. Also see the GNU Fortran item later in this article, and in *Note Forthcoming GNUs::. * `ffcall' (SrcCD) `ffcall' is a C library for implementing foreign function calls in embedded interpreters by Bill Triggs and Bruno Haible. It allows C functions with arbitrary argument lists and return types to be called or emulated (callbacks). * Fileutils (DosBC, SrcCD, UtilT) The Fileutils work on files: `chgrp', `chmod', `chown', `cp', `dd', `df', `dir', `du', `install', `ln', `ls', `mkdir', `mkfifo', `mknod', `mv', `rm', `rmdir', `sync', `touch', & `vdir'. * Findutils (DosBC, SrcCD, 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 `locate', which scans a database for file names that match a pattern, and `xargs', which applies a command to a list of files. * 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 on the clients. To finger a user at a GNU Finger site, a query to any of its client hosts gets useful information. GNU Finger supports many customization features, including user output filters and site programmable output for special target names. * `flex' (BinCD, DjgpD, DosBC, LangT, SrcCD, UtilD) [FSFman, FSFrc] `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. Sources for the `Flex Manual' and reference card are included (*note Documentation::.). * Fortran (`g77') **Note Forthcoming GNUs::* (LangT, SrcCD) GNU Fortran (`g77'), developed by Craig Burley, is available for public beta testing on the Internet. For now, `g77' produces code that is mostly object-compatible with `f2c' & uses the same run-time library (`libf2c'). * Fontutils (SrcCD, UtilT) The Fontutils convert between font formats, create fonts for use with Ghostscript or TeX (starting with a scanned type image & converting the bitmaps to outlines), et al. It includes: `bpltobzr', `bzrto', `charspace', `fontconvert', `gsrenderfont', `imageto', `imgrotate', `limn', & `xbfe'. * GAWK (DosBC, LangT, SrcCD) [FSFman] GAWK is upwardly compatible with the latest POSIX specification of `awk'. It also provides several useful extensions not found in other `awk' implementations. Texinfo source for the `GAWK Manual' comes with the software (*note Documentation::.). * GCC (BinCD, DjgpD, DosBC, LangT, SrcCD, VMSCmpT) [FSFman] Version 2 of the GNU C Compiler supports the languages C, C++, and Objective-C; the source file name suffix or a compiler option selects the language. Objective-C support 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', but see "GNUstep" in *Note Forthcoming GNUs::). 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. 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 the a29k, Alpha ARM AT&T DSP1610 Clipper Convex cN Elxsi Fujitsu Gmicro i370, i860, i960, MIL-STD-1750a, MIPS, ns32k, PDP-11, Pyramid, ROMP, RS/6000, SH, SPUR, Tahoe, VAX, & we32k. Position-independent code is generated for the Clipper, Hitachi H8/300, HP-PA (1.0 & 1.1), i386/i486/Pentium, m68k, m88k, SPARC, & SPARClite. Operating systems supported include: GNU/Hurd, GNU/Linux, ACIS, AIX, AOS, BSD, Clix, Concentrix, Ctix, DG/UX, Dynix, FreeBSD, Genix, HP-UX, Irix, ISC, Luna, LynxOS, Minix, NetBSD, NewsOS, NeXTStep, OS/2, OSF, OSF-Rose, RISCOS, SCO, Solaris 2, SunOS 4, System/370, SysV, Ultrix, Unos, VMS, & Windows/NT. Using the configuration scheme for GCC, building a cross-compiler is as easy as building a native compiler. Version 1 of GCC, G++, & libg++ are no longer maintained. Texinfo source for the `Using and Porting GNU CC' manual, is included with GCC (*note Documentation::.). *Note Forthcoming GNUs::, for plans for later releases of GCC. * GDB (BinCD, DjgpD, DosBC, LangT, SrcCD) [FSFman, FSFrc] GDB, the GNU DeBugger, is a source-level debugger for C, C++, & Fortran. GDB can debug both C and C++ programs, and will work with executables produced by many different compilers; however, C++ debugging will have some limitations if you do not use GCC. GDB has a command line user interface, and Emacs has a GDB mode. Two X interfaces (not distributed or maintained by the FSF) are: `gdbtk' (FTP it from `ftp.cygnus.com' in directory `/pub/gdb'); and `xxgdb' (FTP it from `ftp.x.org' in directory `/contrib/utilities'). Executable 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, ELF). 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). GDB uses a standard remote interface to a simulator library which (so far) has simulators for the Hitachi H8/300, H8/500, Super-H, & Zilog Z8001/2. GDB can perform cross-debugging. To say that GDB "targets" a platform means 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 9, 10), i386 (GNU/Hurd, GNU/Linux, BSD, FreeBSD, 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 (LynxOS, NetBSD, Solaris, & SunOS 4.1 ) Sun-3 (SunOS 4.1), & Ultracomputer (a29k running Sym1). * "target", but not "host": AMD 29000 (COFF & a.out), Hitachi H8/300, Hitachi SH, i386 (a.out, COFF, OS/9000), i960 (Nindy, VxWorks), m68k/m68332 (a.out, COFF, VxWorks), MIPS (ELF, IDT ecoff), Fujitsu SPARClite (a.out, COFF), & Z8000. * "host", but not "target": IBM RT/PC (AIX), HP/Apollo 68k (BSD), & Apple Macintosh (MacOS). Sources for the manual, `Debugging with GDB', and a reference card are included (*note 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 make sparse files (unlike its Unix and BSD counterparts). * `gettext' (LangT, SrcCD) The GNU `gettext' tool set contains everything maintainers need to internationalize a package for messages, tools that help translators localize messages to their native language, once a package has been internationalized. *Note Help the GNU Translation Project::. * Ghostscript (DosBC, SrcCD, UtilT) The GNU release of Ghostscript is an interpreter for the Postscript graphics language (*note Forthcoming GNUs::., for 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 & Microsoft (MS) 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) MS Windows implementation; support for MS C/C++ 7.0; drivers for many new printers ( e.g. the SPARCprinter), & for TIFF/F (Fax) file format; many more Postscript Level 2 facilities, including most of the color space facilities (but not patterns); & the ability to switch between Level 1 & Level 2 dynamically. Version 2.6.2 adds a LaserJet 4 driver & 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 files for printing later or manipulating 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 i386/i486/Pentiums running MS-DOS with EGA, VGA or SuperVGA graphics (but please do *not* ask the FSF staff any questions about this; we do not use MS-DOS). * Ghostview (DosBC, SrcCD, UtilT) Tim Theisen, `ghostview@cs.wisc.edu', created Ghostview, a previewer for multi-page files with an X Window interface. Ghostview & Ghostscript work together; Ghostview creates a viewing window & Ghostscript draws in it. * GIT (SrcCD, UtilT) GIT is a set of interactive tools: an extensible file system browser, an ASCII/hex file viewer, a process viewer/killer, & other related utilities & shell scripts. It can be used to increase the speed & efficiency of many daily tasks, such as copying & moving files & directories, invoking editors, compressing/uncompressing files, creating & expanding archives, compiling programs, sending mail, etc. It looks nice, has colors (if the standard ANSI color sequences are supported), & is user-friendly. * `gmp' **Note Forthcoming GNUs::* (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. * GN (SrcCD) GN is a gopher/HTTP server. It recognizes whether the request came from an HTTP (World Wide Web) or gopher client and responds accordingly. * Gnans (SrcCD) Gnans is a program (and language) for the numerical study of deterministic and stochastic dynamical systems. The dynamical systems may evolve in continuous or discrete time. Gnans has graphical & command line interfaces. * 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 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 plots both curves (2 dimensions) & surfaces (3 dimensions). Curiously, it was neither written nor named for the GNU Project; the name is a coincidence. Various GNU programs use `gnuplot'. * `gnuserv' (LspEmcT, SrcCD) `gnuserv' is a enhanced version of Emacs' `emacsclient' program. It lets the user direct a running Emacs to edit files or evaluate arbitrary Emacs Lisp constructs from another process. * GnuGo (SrcCD, UtilT) GnuGo plays the game of Go (Wei-Chi); version 1.2 was released with minor changes for portability, but it is not yet very sophisticated. * `gperf' (LangT, SrcCD) `gperf' generates perfect hash tables. The C version is in package cperf. The C++ version is in libg++. Both produce hash functions in either C or C++. * Graphics (SrcCD, UtilT) GNU Graphics produces x-y plots from ASCII or binary data. It outputs in Postscript, Tektronix 4010 compatible, and Unix device-independent "plot" formats. It has a previewer for the X Window System. Features include a `spline' interpolation program; examples of shell scripts using `graph' and `plot'; a statistics toolkit; and output in TekniCAD TDA and ln03 file formats. Email bugs or queries to Rich Murphey, `Rich@lamprey.utmb.edu'. * grep (DosBC, SrcCD, UtilT) This package has GNU `grep', `egrep', and `fgrep', which find lines that match entered patterns. They are much faster than the traditional Unix versions. * Groff (DjgpD, DosBC, SrcCD, UtilT) Groff is a document formatting system based on a device-independent version of `troff' & includes: `eqn', `nroff', `pic', `refer', `tbl', `troff'; the `man', `ms', & `mm' macros; & drivers for Postscript, TeX `dvi' format, and typewriter-like devices. Groff's `mm' macro package is almost compatible with the DWB `mm' macros with several extensions. Also included is a modified version of the Berkeley `me' macros and an enhanced version of the X11 `xditview' previewer. A driver for the LaserJet 4 series of printers is currently in test. Written in C++, these programs can be compiled with GNU C++ Version 2.5 or later. 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' to integrate `pic' 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' (DjgpD, DosBC, LangT, LspEmcT, SrcCD, UtilT) `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' (DosBC, 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. `hello' is also a good example of a program that meets the GNU coding standards. 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, 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). * HylaFAX (SrcCD, UtilT) HylaFAX (once named FlexFAX) is a facsimile system for Unix systems. It supports sending, receiving, & polled retrieval of facsimile, as well as transparent shared data use of the modem. Details are available on the World Wide Web at: `http://www.vix.com/hylafax/'. * Hyperbole (LspEmcT, SrcCD) Hyperbole, written by Bob Weiner in Emacs Lisp, is an open, efficient, programmable information management & hypertext system, intended for everyday work on any platform supported by Emacs. * `indent' (DosBC, LangT, SrcCD, UtilD) GNU `indent' formats C source code into the GNU indentation style. It also has options to output BSD, K&R, or your own special style. GNU `indent' is more robust & provides more functionality than other such programs, including handling C++ comments. It runs on a number of systems, including DOS & VMS. The next version will also format C++ source code. * Ispell (DosBC, SrcCD, UtilT) Ispell is an interactive spell checker that suggests "near misses" to replace unrecognized words. System & user-maintained dictionaries for multiple languages can be used. Standalone & Emacs interfaces are available. Previously, the FSF 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"). (Ispell 3 was an earlier release by the original Ispell author, but others have since made it more sophisticated.) * JACAL *Not available from the FSF except by FTP* JACAL is a symbolic mathematics system for the manipulation and simplification of algebraic equations and expressions. New in JACAL is multivariate factoring from Michael Thomas `(mjt@octavia.anu.edu.au)'. See JACAL's documentation at `http://www-swiss.ai.mit.edu/~jaffer/'. JACAL is written in Scheme using the SLIB portable Scheme Library. It comes with SCM, an IEEE P1178 & R4RS compliant version of Scheme written in C® SCM runs on Amiga, Atari-ST, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Unix, & similar systems. The FSF is not distributing JACAL on any physical media. To get an IBM PC floppy disk with the freely redistributable source & executable files, send $99.00 to: Aubrey Jaffer 84 Pleasant Street Wakefield, MA 01880-1846 USA * `less' (DosBC, 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' (DosBC, SrcCD, UtilD, UtilT) GNU `m4' is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible, although it has some extensions (e.g., 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,DjgpD,DosBC,LangT,LspEmcT,SrcCD,UtilD,UtilT)[FSFman] GNU `make' supports POSIX 1003.2 and has all but a few obscure features of the BSD and System V versions of `make'. GNU extensions include long options, parallel compilation, flexible implicit pattern rules, conditional execution, & powerful text manipulation functions. Texinfo source for the `Make Manual' comes with the program (*note Documentation::.). * MandelSpawn (SrcCD, UtilT) A parallel Mandelbrot generation program for the X Window System. * Midnight Commander (`mc') (SrcCD, UtilT) The Midnight Commander is a user friendly and colorful Unix file manager and shell, useful to novice and guru alike. It has a built-in virtual file system that allows the user to manipulate files inside tar files (both regular and compressed) or files on remote machines using the FTP protocol. * `mkisofs' (SrcCD, UtilT) `mkisofs' is a pre-mastering program to generate an ISO 9660 file system. It takes a snapshot of a directory tree, and makes a binary image which corresponds to an ISO 9660 file system when written to a block device. It can also generate the System Use Sharing Protocol records of the Rock Ridge Interchange Protocol (used to further describe the files in an ISO 9660 file system to a Unix host; it provides information such as longer filenames, uid/gid, permissions, and device nodes). Also included is `cdwrite', which can take an image from `mkisofs' and write it to a Phillips CD recorder system attached to a GNU/Linux 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 (DosBC, EmcsD, LspEmcT, SrcCD) MULE is a MULtilingual Enhancement to GNU Emacs. MULE text buffers can contain a mix of characters from many languages including: Japanese, Chinese, Korean, Vietnamese, Thai, modern European languages (including Greek & Russian), Arabic, & Hebrew. MULE also provides input methods for all of them. MULE is being merged into GNU Emacs. *Note GNU & Other Free Software in Japan::, for more information about MULE. * `ncurses' (LangT, SrcCD) `ncurses' is an implementation of the Unix `curses' library for developing screen based programs that are terminal independent. * NetHack (SrcCD, UtilT) NetHack is a Rogue-like adventure game supporting character & X displays. * NIH Class Library (LangT, SrcCD) The NIH Class Library (once known as "OOPS", Object-Oriented Program Support) is a portable collection of C++ classes (similar to those in Smalltalk-80) written in C++ by Keith Gorlen of the National Institutes of Health (NIH). * `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, and Unixware, & should port easily to other systems. * Oaklisp (SrcCD) Oaklisp is a fast, portable, object-oriented Scheme with first class types. * Objective-C Library **Note Forthcoming GNUs::* (LangT, SrcCD) Our Objective-C Class Library (`libobjects') has general-purpose, non-graphical Objective-C objects written by Andrew McCallum & other volunteers. It includes collection classes for using groups of objects & C types, I/O streams, coders for formatting objects & C types to streams, ports for network packet transmission, distributed objects (remote object messaging), string classes, exceptions, pseudo-random number generators, & time handling facilities. It also includes the foundation classes for the GNUstep project; over 70 of them have already been implemented. The library is known to work on i386/i486/Pentiums, m68k, SPARC, MIPS, HPPA, & RS/6000. Send queries & bug reports to `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 similar to MATLAB, primarily intended for numerical computations. It has a convenient command line interface for solving linear & nonlinear problems numerically. Octave does arithmetic for real and complex scalars and matrices, solves sets of nonlinear algebraic equations, integrates systems of ordinary differential & differential-algebraic equations, and integrates functions over finite & infinite intervals. Two- & three-dimensional plotting is available using `gnuplot'. Send queries and bug reports to: `bug-octave@bevo.che.wisc.edu'. Texinfo source is included for a 220+ page Octave manual, 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. Oleo supports multiple variable-width fonts when used under the X Window System or outputting to Postscript devices. * `p2c' (LangT, SrcCD) `p2c' is Dave Gillespie's Pascal-to-C translator. It inputs many different dialects (HP, ISO, Turbo, VAX, et al.) and generates readable, maintainable, portable C. * `patch' (DosBC, 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' (DosBC, LangT, SrcCD) Larry Wall's `perl' combines the features and capabilities of `sed', `awk', `sh', and C® It also provides interfaces to the Unix system calls and many C library routines. * `pine' (SrcCD, UtilT) `pine' is a friendly menu-driven electronic mail manager and user interface . * `ptx' **Note Forthcoming GNUs::* (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, and generates readable "KWIC" (KeyWords In Context) indexes without using `nroff'. 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. Used with GNU `diff', RCS can handle binary files (executables, object files, 8-bit data, etc). RCS now conforms to GNU configuration standards and to POSIX 1003.1b-1993. Also see the CVS item above. * `recode' **Note Forthcoming GNUs::* (SrcCD, UtilT) GNU `recode' converts files between character sets and usages. When exact transliterations are not possible, it may delete the offending characters or fall back on approximations. This program recognizes or outputs 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. It is included in many GNU programs which do regular expression matching & is available separately. An alternate regular expression package, `rx', is faster than `regex' in most cases & will replace `regex' over time. * `rx' (LangT, SrcCD) Tom Lord has written `rx', a new regular expression library which is faster than the older GNU `regex' library. It is now being distributed with `sed' and `tar'. `rx' will be used in the next releases of `m4' and `ptx'. * SAOimage (SrcCD, UtilT) SAOimage is an X-based astronomical image viewer. It reads data images and displays them with a pseudocolor colormap. There is full interactive control of the colormap, reading, and writing of colormaps, etc. * Scheme *For more information, see *Note Scheme Tape::* (SrcCD, SchmT) * `screen' (SrcCD, UtilT) `screen' is a terminal multiplexer that runs several separate "screens" (ttys) on a single character-based terminal. Each virtual terminal emulates a DEC VT100 plus several ISO 2022 and ISO 6429 (ECMA 48, ANSI X3.64) functions, including color. Arbitrary keyboard input translation is also supported. `screen' sessions can be detached and resumed later on a different terminal type. Output in detached sessions is saved for later viewing. * `sed' (DjgpD, DosBC, SrcCD, UtilD, UtilT) `sed' is a stream-oriented version of `ed'. It comes with the `rx' library. * Sharutils (SrcCD, UtilT) `shar' makes so-called shell archives out of many files, preparing them for transmission by electronic mail services; `unshar' helps unpack these shell archives after reception. `uuencode' and `uudecode' are POSIX compliant implementations of a pair of programs to transform files into a format that can be safely transmitted across a 7-bit ASCII link. * Shellutils (DosBC, SrcCD, UtilT) They are: `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', & `yes'. * 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 is a variant of GNU Chess; it implements the same features & similar heuristics. As a new feature, sequences of partial board patterns can be introduced to help the program play toward specific opening patterns. It has both character and X display interfaces. It is primarily supported by Matthias Mutz on behalf of the FSF. * SIPP (SrcCD) SIPP is a library for creating photorealistic renderings of 3D scenes. A scene is built up of objects which can be transformed with rotation, translation, and scaling. The objects form hierarchies where each object can have arbitrarily many subobjects and subsurfaces. A surface is a number of connected polygons which are rendered with either Phong, Gouraud, or flat shading. The library supports programmable shaders and texture mapping with textures in up to 3 dimensions and automatic interpolation of texture coordinates. A scene can be illuminated by an arbitrary number of light sources. The lights from some of them are capable of casting shadows of objects. * Smalltalk *Also see *Note Forthcoming GNUs::* (LangT,SrcCD) GNU Smalltalk is an interpreted object-oriented programming language system written in highly portable C® It has been ported to many Unix, DOS, & other OSes. Features include a binary image save capability, the ability to call user-written C code with parameters, an Emacs editing mode, a version of the X protocol invocable from Smalltalk, optional byte-code compilation and/or execution tracing, & automatically loaded per-user initialization files. It implements all of the classes & protocol in the book "Smalltalk-80: The Language", except for the graphic user interface (GUI) related classes. * SNePS (SrcCD) SNePS is the Semantic Network Processing System. It is an implementation of a fully intensional theory of propositional knowledge representation and reasoning. SNePS runs under CLISP or GCL. * Spinner (SrcCD) Spinner is a modularized, object oriented, non-forking World Wide Web server with high performance and throughput. * 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 a function as input, a CPU to generate code for, and how many instructions you want. Its use in GCC is described in the `ACM SIGPLAN PLDI'92 Proceedings'. It supports: SPARC, m68k, m68020, m88k, IBM POWER and PowerPC, AMD 29k, Intel x86 and 960, Pyramid, DEC Alpha, Hitachi SH, & HP-PA. * `tar' (DosBC, SrcCD, UtilT) GNU `tar' includes multi-volume support, the ability to archive sparse files, compression/decompression, remote archives, and special features that allow `tar' to be used for incremental and full backups. GNU `tar' uses an early draft of the POSIX 1003.1 `ustar' format which is different from the final version. This will be corrected in the future. * Termcap Library (SrcCD, UtilT) [FSFman] 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 (*note Documentation::.). * Termutils (SrcCD, UtilT) The Termutils package contains programs for controlling terminals. `tput' is a portable way for shell scripts to use special terminal capabilities. `tabs' is a program to set hardware terminal tab settings. * TeX (DosBC, SrcCD) TeX is a document formatting system that handles complicated typesetting, including mathematics. It is GNU's standard text formatter. The University of Washington maintains & supports a tape distribution of TeX for Unix systems. The core material is Karl Berry's `web2c' TeX package. Sources 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, 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: `University of Washington'. Do not specify any other payee. That causes accounting problems. Checks must be in U.S. dollars, drawn on a U.S. bank. Only prepaid orders can be handled. Overseas sites: please add to the base cost $20.00 to ship via air parcel post or $30.00 to ship via courier. Please check with the above for current prices & formats. * Texinfo (DjgpD,DosBC,LangT,LspEmcT,SrcCD,UtilD,UtilT)[FSFman] Texinfo is a set of utilities (`makeinfo', `info', `texi2dvi', `texindex', `tex2patch', & `fixfonts') which generate both printed manuals & online hypertext documentation (called "Info"), & can read online Info documents. Version 3 has both Emacs Lisp & standalone programs written in C or shell script. Texinfo mode for Emacs enables easy editing & updating of Texinfo files. Source for the `Texinfo Manual' is included (*note Documentation::.). * Textutils (DosBC, SrcCD, UtilT) The Textutils programs manipulate textual data. They include: `cat', `cksum', `comm', `csplit', `cut', `expand', `fmt', `fold', `head', `join', `md5sum', `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 documented Forth libraries are available, including ones for top-down parsing, multi-threads, & object oriented programming. * `time' (SrcCD, UtilT) `time' reports (usually from a shell) the user, system, & real time used by a process. On some systems it also reports memory usage, page faults, etc. * `ucblogo' (LangT, SrcCD) `ucblogo' implements the classic teaching language, Logo. * UUCP (SrcCD, UtilT) GNU's UUCP system (written by Ian Lance Taylor) supports the `f', `g', `v' (all window & packet sizes), `G', `t', `e', Zmodem, & two new bidirectional (`i' & `j') protocols. With a BSD sockets library, it can make TCP connections. With TLI libraries, it can make TLI connections. Source is included for a manual (not yet published by the FSF). * W3 (LspEmcT, SrcCD) W3 (written by William Perry in Emacs Lisp) is an extensible, advanced World Wide Web browser that runs as part of GNU Emacs. It understands many protocols: FTP, gopher, HTML, SMTP, Telnet, WAIS, et al. * `wdiff' (DosBC, 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. * X11 *For details, see *Note X11 Tapes::* (SrcCD, X11OptT, X11ReqT) * `xboard', `xshogi' (SrcCD, UtilT) `xboard' is an X Window interface to GNU Chess. `xshogi' is an X Window interface to GNU Shogi. They use the R4 Athena widgets and Xt Intrinsics to provide an interactive referee for managing a game between a user & a computer opponent, or between two computers. You can also use `xboard' without GNU Chess to play through games in files or to play through games manually (force mode); in this case, moves aren't validated. * `xgrabsc' (SrcCD) `xgrabsc' is a screen capture program similar to `xwd' but providing more ways of selecting the part of the screen to capture and different types of output: Postscript, color Postscript, xwd, bitmap, pixmap, and puzzle. * `Ygl' (SrcCD, UtilT) `Ygl' emulates a subset of SGI's GL (Graphics Language) library under X11 on GNU/Linux with XFree, AIX 3.2, ConvexOS, HP-UX, SunOS, et al. It has most two-dimensional graphics routines, the queue device & query routines, double buffering, RGB mode with dithering, FORTRAN bindings, at al. ---------------------------------------------------------------------- Forthcoming GNUs **************** Information about the current status of released GNU programs can be found in *Note GNU Software::. Here is some news of future plans. * GNU C Library (For current status, *note GNU Software::..) While there has not been a new release of our C library in some time, a great deal of work is going on; we hope for a new release in the next few months. Much of Roland's recent work has focused on support for GNU/Hurd, where the library does much more work than in Unix (*note What Is the Hurd::.). He has also been working closely with Ulrich Drepper on support for GNU/Linux; we intend a future release of the GNU C library to compatibly supersede the heavily modified version now used with GNU/Linux. The new release will add several new functions traditionally found in Unix systems & some small new GNU extensions, as well as major new internationalization support. Ulrich Drepper has contributed to the library a great deal in the last few months, by writing new floating-point printing/reading functions that are perfectly accurate & much faster than the old code. He has also written a complete set of internationalization features including POSIX.2-compatible `locale' & `localedef' programs, & catalogs for displaying program messages in languages other than English. The library now builds as a shared library for systems that use the ELF object file format. Included is the run-time loader `ld.so' which sets up the shared libraries when a program runs; it works now with the Hurd & Linux kernels, and is easy to port to other ELF systems such as SVR4 & Solaris 2. * GNU Emacs (For current status, *note GNU Software::.) Future versions of Emacs will save the undo history in a file (which allows you to undo older changes in the history), and will also have support for variable-width fonts, wide character sets, and the world's major languages. Our long term plan is to move it in the direction of a WYSIWYG word processor & make it easier for beginners to use. * GNUstep (Also see "Objective-C Library" in *Note GNU Software::) OpenStep is an object-oriented application programming interface specification being proposed as an open object standard. Since its announcement over two years ago, there has been much interest in a GNU implementation, named GNUstep. Work has begun on GNUstep, starting from a library written in Objective-C. Much remains to be done to bring this library close to the OpenStep specifications. Volunteers should contact `office@gnustep.org'. Check `http://www.gnustep.org/gnustep' for more info. * `recode' (For current status, *note GNU Software::.) The next `recode' release should give more flexible control over encodings of charsets, offer MIME conversions, & handle ISO-10646 (Unicode). It will install a library & support files to help work towards internationalizing GNU. * GUILE GNU's Ubiquitous Extension Language is an SCM-based library which programmers can use to make any ordinary C program extensible. (For info on SCM, see "JACAL" in *Note GNU Software::.) GUILE already includes a POSIX.1 interface, an SCSH-like library, a module system, a Tk interface, & a byte-code interpreter; support for Emacs Lisp & a more C-like language is coming. Get snapshots from `ftp.cygnus.com:/pub/lord'. * `ptx' (For current status, *note GNU Software::.) The next release of `ptx' should offer contextualized support for SGML texts, as the first step towards a major overhaul for that package. * GNU Common Lisp (For current status, *note GNU Software::.) Version 2.2 of GNU Common Lisp (GCL) was released in November '95. It now includes a graphical interface to the Tk widget system. All documentation is now Texinfo-based, with built-in regexp matching used to access the documentation. A first pass at the Common Lisp condition system is also included. Some new ports include DEC Alpha and ELF for GNU/Linux. Volunteers to help with the move to the ANSI standard are most welcome; contact `schelter@math.utexas.edu'. * C Interpreter We hope to add interpreter facilities to our compiler and debugger. This task is partly finished. GCC has generated byte code for all supported languages, but that support is in flux at this time. A new effort to finish this work has begun. To make this work usable, we need to enhance GDB to load the byte code dynamically. We would also like support for compiling just a few selected 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, *note 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 95 (GNAT: The GNU Ada Translator) is available via anonymous FTP from `cs.nyu.edu' in `/pub/gnat'. SGI and Digital have chosen GNU Ada as the Ada compiler for certain systems. News about GNAT is posted to the USENET newsgroup `comp.lang.ada'. * GNU Fortran (For info on `f2c' & GCC, *note GNU Software::.) The GNU Fortran (`g77') front end is stable, but work is needed to bring its overall packaging, feature set, & performance up to the levels the Fortran community expects. Tasks to be done include: improving documentation & diagnostics; speeding up compilation, especially for large initialized data tables; implementing `INTEGER*2', `INTEGER*8', & similar features; allowing intrinsics in `PARAMETER' statements; & providing debug information on `COMMON' & `EQUIVALENCE' variables. We don't know when these things will be done, but hope some will be finished in the coming months. You can speed progress by working on 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' or get current status, write or finger `fortran@gnu.ai.mit.edu'. * Ghostscript (For current status, *note GNU Software::.) Ghostscript 3.0 will be distributed by the FSF soon. It will implement nearly 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. *Note What Is the LPF::, for details.) * `gmp' (For current status, *note GNU Software::.) The next version of the GNU `mp' library, 2.0, will have arbitrary precision floating point arithmetic, and expanded support for integer and rational number arithmetic. `gmp' 2.0 is up to 4 times faster than previous versions. In particular, the speed of multiplication, division, and GCD has improved. * Smalltalk (For current status, *note GNU Software::.) The next release, version 1.2, will use Autoconf. It will have substantial performance improvements & memory requirement reductions, more control over memory allocation, ability to use the Smalltalk interpreter as a C callable library, better X Window System interfaces, ability to represent and manipulate C data structures in Smalltalk, conditional compilation facilities, large integer support, an advanced GUI-based class browsing system, better TCP/IP interfaces, exception support, weak references, & finalization support. It will run on UNIX, DOS, & Windows NT. * The Dictionary Project The FSF has a copy of the unabridged `Century Dictionary', now in the public domain, and we are planning to put it online. We tried OCR, but it wasn't reliable enough. Russell Nelson is coordinating the project. Volunteers have entered close to fifty pages so far, but the project needs more help; to volunteer, send mail to `dictionary@gnu.ai.mit.edu' or contact the FSF. ---------------------------------------------------------------------- best -gnu@prep.ai.mit.edu Member, League for Programming Freedom, ask: lpf@uunet.uu.net, surf: http://www.lpf.org