-*- text -*- Last modified Sun Nov 19 15:21:44 1995 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 a uniform scheme for configuring GNU software packages in order to compile them. It uses the Autoconf program (see item below, in this article). 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. 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 Dec. 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 June 95 Source CD-ROM 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 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. * 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 shell specification. * `bc' (DjgpD, DosBC, 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, 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 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, DjgpD, DosBC, LangT, SrcCD) 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. GNU's linker `ld' emits source-line numbered error messages for multiply-defined symbols & undefined references, & 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 a29k, ALPHA, H8/300, H8/500, HP-PA, i386, i960, m68k, m88k, MIPS, SH, SPARC & Z8000 CPUs, & can display other data (e.g., symbols & 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 GNUs Flashes::. * GNU 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 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 (*note Documentation::.); the manual is now being updated. * GNU 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. 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 (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 reference card & a manual. *Note Documentation::. * `cfengine' (SrcCD, UtilT) `cfengine' is used for maintaining site-wide configuration of a heterogenous Unix network using a simple high level language. Its functionality is similar to `rdist', but also allows many more operations to be performed automatically. * 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 (based on the `xboard' program). GNU Chess has many special 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, a perfect King and Pawn vs King endgame routine, Swedish & German language support, support for more book formats, a rudimentary Bobby Fischer clock, & bug fixes. It is primarily supported by Stuart Cracraft, Chua Kong Sian, & Tim Mann on behalf of the FSF. * 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 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, Atari ST, Amiga 500-4000, Acorn RISC PC) & 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 used to be known as Kyoto 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. 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, 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. Its profiling tools (based on the C profiling tools) count function calls and the time spent in each function. CLX works with GCL. There is now a built-in interface with the TK widget system. It runs in a separate process so that 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). PCL runs with GCL (see PCL item later in this article). *Note Forthcoming GNUs::, for plans regarding GCL or for recent developments. GCL version 2.0 is released under the GNU Library General Public License. * `cpio' (DjgpD, DosBC, 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 & 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 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, contact `office@usenix.org'. * 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++ 2.6.0 (see "GCC" in this article) to i386s running MS-DOS. DJGPP also has a 32-bit i386 DOS extender with symbolic debugger; development libraries; & ports of Bison, `flex', GAS & 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). 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' (DjgpD, DosBC, 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' (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. * Elib (DosBC, LspEmcT, SrcCD) Elib is a small library of Emacs Lisp functions, including routines for using AVL trees and doubly-linked lists. * GNU 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 also runs on MS-DOS & Windows NT. In addition to its powerful native command set, Emacs has extensions which emulate the editors vi & EDT (DEC'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. Source for the `GNU Emacs Lisp Reference Manual' & `Programming in Emacs Lisp: An Introduction' are distributed in separate packages. *Note Documentation::. * GNU 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 runs on many Unix systems: 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, et al.), 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 rel. 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. * GNU Emacs 19 (DosBC, EmacsD, LspEmcT, SrcCD) [FSFman(s), FSFrc] Emacs 19 works with character-only terminals & with the X Window System (with or without the X toolkit). 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 & colors defined by those properties; simplified/improved processing of function keys, mouse clicks, & mouse movement; X selection processing, including clipboard selections; hooks to be run if point or mouse moves outside a certain range; menu bars & popup menus defined by keymaps; scrollbars; before & after change hooks; source-level debugging of 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; & support for European character sets, RCS, & the GNU configuration scheme. Recent features include support for Motif widgets & the Athena widgets, displaying multiple views of an outline at the same time, version control support for CVS & for multiple branches, the ability to open frames on more than one X display from a single Emacs job, operation on MS-DOS, MS Windows, & Windows NT, commands to edit text properties & save them in files, text properties for formatting text, & GNU-standard long-named command line options. Emacs 19.29 is believed to work on: Acorn Risc machine (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 or 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, SysV, Xenix, WindowsNT); IBM RS6000 (AIX 3.2); IBM RT/PC (AIX or BSD); Motorola Delta 147 & 187 (SysV.3, SysV.4 & m88kbcs); National Semiconductor 32K (Genix); NeXT (BSD or 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 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 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 file `/netlib/f2c/changes.Z' for a summary. *Note Forthcoming GNUs::, for info about GNU Fortran. * Fileutils (DjgpD, DosBC, SrcCD, 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'. * Findutils (DjgpD, 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 `xargs', which apply 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 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. Source for the `Flex Manual' and reference card are included. *Note Documentation::. * FlexFAX *See the HylaFAX item elsewhere in this article* * GNU 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 programs (`bpltobzr', `bzrto', `charspace', `fontconvert', `gsrenderfont', `imageto', `imgrotate', `limn', & `xbfe') create fonts for use with Ghostscript or TeX (starting with a scanned type image & converting the bitmaps to outlines), convert between font formats, et al. * GAWK (DjgpD, 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 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, MIL-STD-1750a, MIPS, ns32k, PDP-11, Pyramid, ROMP, RS6000, SH, SPARC, SPARClite, VAX & we32k. Operating systems supported include: GNU/Linux, AIX, ACIS, AOS, BSD, Clix, Ctix, DG/UX, Dynix, Genix, GNU, HP-UX, ISC, Irix, Luna, LynxOS, Mach, Minix, NetBSD, NewsOS, OSF, OSF-Rose, RISCOS, SCO, Solaris 2, SunOS 4, SysV, Ultrix, Unos, VMS & Windows/NT. Using the configuration scheme for GCC, building a cross-compiler is as easy as building a native compiler. 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. *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; 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 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 Zilog Z8001/2, Hitachi H8/300, H8/500, & Super-H. 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), i386 (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 (SunOS 4.1, Solaris, NetBSD, LynxOS) 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 (IDT ecoff, ELF), Fujitsu SPARClite (a.out, COFF), & 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. *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). * Ghostscript (DjgpD, 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 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 (DjgpD, DosBC, SrcCD, UtilT) Tim Theisen, `ghostview@cs.wisc.edu', created Ghostview, a previewer for multi-page files with an X user interface. Ghostview & Ghostscript work together; Ghostview creates a viewing window & Ghostscript draws in it. * GIT (SrcCD, UtilT) GIT is a set of interactive tools. It has an extensible file system browser, an ASCII/hex file viewer, a process viewer/killer, and other related utilities and shell scripts. It can be used to increase the speed and efficiency of many daily tasks, such as copying and moving files and directories, invoking editors, compressing and uncompressing files, creating and expanding archives, compiling programs, sending mail, etc. It looks nice, has colors (if the standard ANSI color sequences are supported), and is user-friendly. * `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 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'. * 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. The C version is in package cperf. The C++ version is in libg++. Both produce hash functions in either C or C++. * GNU 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 (DjgpD, DosBC, SrcCD, UtilT) This package has GNU `grep', `egrep', and `fgrep' which find lines that match inputed 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 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. 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' (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' (DjgpD, 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. 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). * 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/'. * `indent' (DjgpD, DosBC, LangT, SrcCD, UtilD) 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, for example, it handles C++ comments. * Ispell (DjgpD, 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.18"). (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/simplification of equations, single & multiple-valued algebraic expressions made up of numbers, variables, radicals, differential operators, & algebraic & holonomic functions. Vectors, matrices, & tensors of these objects are supported. JACAL was written in Scheme by Aubrey Jaffer. 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. SLIB is a portable Scheme library used by JACAL. The FSF is not distributing JACAL on any 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' (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' (DjgpD, 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. * `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. `mkisofs' 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, and provides information such as longer filenames, uid/gid, POSIX permissions, and block and character devices). * 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. A text buffer in MULE can contain a mix of characters from many languages including: Japanese, Chinese, Korean, Vietnamese, Thai, Greek, the ISO Latin-1 through Latin-5 character sets, Ukrainian, Arabic, Hebrew, Russian, and other Cyrillic alphabets. 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. *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 both ASCII & 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, Unixware & should port easily to many other systems. * GNU Objective-C Library (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, pseudo-random number generators & time handling facilities. It will also include the foundation classes for the GNUStep project; over 50 of them have already been implemented. The library is known to work on i386, i486, Pentium, m68k, SPARC, MIPS & RS6000. 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 & complex scalars & matrices, solves sets of nonlinear algebraic equations, integrates systems of ordinary differential & differential-algebraic equations, & integrates functions over finite & infinite intervals. Two- & three-dimensional plotting is available using `gnuplot'. Send queries & bug reports to: `bug-octave@che.utexas.edu'. Texinfo source is included for a 220+ page Octave manual, not yet published by the FSF. * Oleo *Also see *Note Forthcoming GNUs::* (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. * `p2c' (LangT, SrcCD) `p2c' is Dave Gillespie's Pascal-to-C translator. It inputs many dialects (HP, ISO, Turbo, VAX, et al.) & produces readable, maintainable, portable C. * `patch' (DjgpD, 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' (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. * `pine' (SrcCD, UtilT) `pine' is a friendly, menu-driven electronic mail manager. * `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. Used with GNU `diff', RCS can handle binary files (executables, object files, 8-bit data, etc). Also see the CVS item above. * `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. 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' (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::* (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 6429 (ECMA 48, 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. 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, 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 (DjgpD, 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'. * 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 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. * 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 & some other platforms, including DOS (non-Unix ports are not available from the FSF). Features include a binary image save capability, the ability to invoke user-written C code & pass parameters to it, 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. * 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 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 unfortunately not trivial. * 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::. * TeX (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 (DjgpD, DosBC, 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' reports (usually from a shell) the user, system, & real time used by a process. On some systems it also reports memory usage, page faults, et al. * `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. * `ucblogo' (LangT, SrcCD) An implementation of the classic teaching language, Logo. * UUCP (SrcCD, UtilT) This version of UUCP (written by Ian Lance Taylor) is GNU's standard UUCP system. It supports the `f', `g' & `v' (in 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). * `wdiff' (DjgpD, 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::* (X11OptT, X11ReqT) * `Ygl' (SrcCD, UtilT) `Ygl' emulates SGI's GL (Graphics Language) library under X11 on GNU/ Linux with XFree, AIX 3.2, ConvexOS, HP-UX 7/8/9, SunOS, et 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 since the January GNU's Bulletin, Roland has been doing lots of work on it, with a focus on support for the Hurd (*note What Is the Hurd::.). Version 1.10 is in the works; it adds several new functions traditionally found in Unix systems and some small new GNU extensions. 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 whole set of internationalization features including POSIX.2-compatible `locale' & `localedef' programs & catalogs for displaying program messages in languages other than English. The library can now be built as a shared library for the Hurd & other systems using 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 on the Hurd and should be easy to port (using ELF) to GNU/Linux, SVR4 & Solaris 2. * GNUStep (Also see item 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 using an existing library written in Objective-C as a base. Much work remains to be done to bring this library close to the OpenStep specifications. Volunteers should contact `Paul_Kunz@slac.stanford.edu'. Check `http://fvkma.tu-graz.ac.at/gnustep/gnustep.html' for more info. * `makeinfo' and the World Wide Web (Also *note GNU Software::.) `makeinfo' is being modified to translate Texinfo source files into HTML documents that can be displayed on the Internet's World Wide Web. * GNU Common Lisp (For current status, *note GNU Software::.) Version 2.0 of GNU Common Lisp (GCL) was released in April '95. It now includes a graphical interface with 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. Work on installing the new compiler and internals is underway, as well as a port to the DEC Alpha architecture. Volunteers for parts of the move to the ANSI standard are most welcome; contact `schelter@math.utexas.edu'. * GNU Emacs (For current status, *note GNU Software::.) Future versions of Emacs will provide: saving the undo history in a file, so you can undo older changes in the history, support for both variable-width fonts and wide character sets, and support for the world's major languages. Our long term plan is to move it in the direction of a WYSIWYG word processor and make it easier for beginners to use. * 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 also would like 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, *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'. 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, 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 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 GNU `mp' library, version 2.0, will have arbitrary multiple precision floating point arithmetic, be more portable, and be up to 4 times faster than previous versions. * Oleo (For current status, *note GNU Software::.) Volunteers are writing an Oleo manual and extensions to the Oleo interface. * Smalltalk (For current status, *note GNU Software::.) The next release, version 1.2, will use the GNU Autoconf configuration. It will have significant performance improvements & memory requirement reductions, more control over the memory allocation, ability to use the Smalltalk interpreter as a subroutine (i.e., callable from C), better X Window System interfaces, 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, 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