diff options
39 files changed, 1637 insertions, 4227 deletions
@@ -1,3 +1,7 @@ +Wed Dec 3 07:55:59 1997 Jeffrey A Law (law@cygnus.com) + + * configure (gxx_include_dir): Fix thinko. + Tue Dec 2 10:55:34 1997 Jeffrey A Law (law@cygnus.com) * Makefile.in (INSTALL_TARGET_CROSS): Define. diff --git a/INSTALL/BUILD b/INSTALL/BUILD new file mode 100644 index 0000000..03779e8 --- /dev/null +++ b/INSTALL/BUILD @@ -0,0 +1,54 @@ +Building egcs-1.0 + +Now that egcs is configured, you are ready to build the compiler and +runtime libraries. + +We highly recommend that egcs be built using gnu-make; other +versions make work, then again they might not. To be safe build with gnu-make. + +Building a native compiler +For a native build issue the command "make bootstrap". This will build +the entire egcs compiler system, which includes the following steps: + + + Build host tools necessary to build the compiler such as texinfo, bison, + gperf. + + Build target tools for use by the compiler such as gas, gld, and binutils. + + Perform a 3-stage bootstrap of the compiler. + + Perform a comparison test of the stage2 and stage3 compilers. + + Build runtime libraries using the stage3 compiler from the previous step. + + +If you are short on disk space you might consider "make bootstrap-lean" +instead. This is identical to "make bootstrap" except that object files +from the stage1 and stage2 of the 3-stage bootstrap of the compiler are +deleted as soon as they are no longer needed. + +Building a cross compiler + +We recommend reading the crossgcc FAQ for information about building +cross compilers. +"ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1" + +For a cross build, issue the command "make cross", which performs the +following steps: + + Build host tools necessary to build the compiler such as texinfo, bison, + gperf. + + Build target tools for use by the compiler such as gas, gld, and binutils. + + Build the compiler (single stage only). + + Build runtime libraries using the compiler from the previous step. + + +Note that if an error occurs in any step the make process will exit. + + +Last modified on December 2, 1997. + diff --git a/INSTALL/CONFIGURE b/INSTALL/CONFIGURE new file mode 100644 index 0000000..403657f --- /dev/null +++ b/INSTALL/CONFIGURE @@ -0,0 +1,108 @@ +Configuring egcs-1.0 + +Like most GNU software, egcs must be configured before it can be built. +This document attempts to describe the recommended configuration procedure +for both native and cross targets. + +We use srcdir to refer to the toplevel source directory for +egcs; we use objdir to refer to the toplevel build/object +directory for egcs. + +First, we highly recommend that egcs be built into a separate +directory than the sources. This is how we generally build egcs; building +where srcdir == objdir should still work, but doesn't get +extensive testing. + +Second, when configuring a native system, either "cc" must be in your +path or you must set CC in your environment before running configure. +Otherwise the configuration scripts may fail. + +To configure egcs: + + % mkdir objdir + % cd objdir + % srcdir/configure [target] [options] + + +target specification + + egcs has code to correctly determine the correct value for + target for nearly all native systems. Therefore, we highly + recommend you not provide a configure target when configuring a + native compiler. + + target must be specified when configuring a cross compiler; + examples of valid targets would be i960-rtems, m68k-coff, sh-elf, etc. + + +options specification + +Use options to override several configure time options for +egcs. A partial list of supported options: + + + --prefix=dirname -- Specify the toplevel installation + directory. This is the recommended way to install the tools into a directory + other than the default. The toplevel installation directory defaults to + /usr/local. + + These additional options control where certain parts of the distribution + are installed. Normally you should not need to use these options. + + --with-local-prefix=dirname -- Specify the installation + directory for local include files. The default is /usr/local. + + --with-gxx-include-dir=dirname -- Specify the installation + directory for g++ header files. The default is /usr/local/include/g++. + + + --enable-shared -- Build shared versions of the C++ runtime + libraries if supported --disable-shared is the default. + + --enable-haifa -- Enable the new Haifa instruction scheduler in the + compiler; the new scheduler can significantly improve code on some targets. + --disable-haifa is currently the default on all platforms except the HPPA. + + --with-gnu-as -- Specify that the compiler should assume the GNU + assembler (aka gas) is available. + + --with-gnu-ld -- Specify that the compiler should assume the GNU + linker (aka gld) is available. + + --with-stabs -- Specify that stabs debugging information should be used + instead of whatever format the host normally uses. Normally GCC uses the + same debug format as the host system. + + --enable-multilib -- Specify that multiple target libraries + should be built to support different target variants, calling conventions, + etc. This is the default. + + --enable-threads -- Specify that the target supports threads. + This only effects the Objective-C compiler and runtime library. + + --enable-threads=lib -- Specify that lib is the + thread support library. This only effects the Objective-C compiler and + runtime library. + + --with-cpu=cpu -- Specify which cpu variant the compiler should + generate code for by default. This is currently only supported on the + RS6000/PowerPC ports. + + +Some options which only apply to building cross compilers: + + --with-headers=dir -- Specifies a directory which has target + include files. + --with-libs=dirs -- Specifies a list of directories which contain + the target runtime libraries. + --with-newlib -- Specifies that "newlib" is being used as the target + C library. This causes __eprintf to be omitted from libgcc.a on the + assumption that it will be provided by newlib. + + +Note that each --enable option has a corresponding --disable option and +that each --with option has a corresponding --without option. + + + +Last modified on December 2, 1997. diff --git a/INSTALL/FAQ b/INSTALL/FAQ new file mode 100644 index 0000000..343243d --- /dev/null +++ b/INSTALL/FAQ @@ -0,0 +1,322 @@ +egcs Frequently Asked Questions + + +How is egcs be different from gcc2? + +Six years ago, gcc version 1 had reached a point of stability. For the +targets it could support, it worked well. It had limitations inherent in +its design that would be difficult to resolve, so a major effort was made +and gcc version 2 was the result. When we had gcc2 in a useful state, +development efforts on gcc1 stopped and we all concentrated on making +gcc2 better than gcc1 could ever be. This is the kind of step forward +we want to make with egcs. + +In brief, the three biggest differences between egcs and gcc2 are +these: + + + More rexamination of basic architectual decisions of + gcc and an interest in adding new optimizations; + + working with the groups who have fractured out from gcc2 (like + the Linux folks, the Intel optimizations folks, Fortran folks) + including more front-ends; and finally + + An open development model (see below) for the development process. + + +These three differences will work together to result in a more +useful compiler, a more stable compiler, a central compiler that works +for more people, a compiler that generates better code. + + +There are a lot of exciting compiler optimizations that have come +out. We want them in gcc. There are a lot of front ends out there for +gcc for languages like Fortran or Pascal. We want them easily +installable by users. After six years of working on gcc2, we've come +to see problems and limitations in the way gcc is architected; it is +time to address these again. + + +What is an open development model? + +With egcs, we are going to try a bazaar style[1] approach to its +development: We're going to be making snapshots publically available +to anyone who wants to try them; we're going to welcome anyone to join +the development mailing list. All of the discussions on the +development mailing list are available via the web. We're going to be +making releases with a much higher frequency than they have been made +in the past: We're shooting for three by the end of 1997. + +In addition to weekly snapshots of the egcs development sources, we +are going to look at making the sources readable from a CVS server by +anyone. We want to make it so external maintainers of parts of egcs +are able to commit changes to their part of egcs directly into the +sources without going through an intermediary. + +There have been many potential gcc developers who were not able to +participate in gcc development in the past. We these people to help in +any way they can; we ultimately want gcc to be the best compiler in the +world. + +A compiler is a complicated piece of software, there will still be +strong central maintainers who will reject patches, who will demand +documentation of implementations, and who will keep the level of +quality as high as it is today. Code that could use wider testing may +be intergrated--code that is simply ill-conceived won't be. + +egcs is not the first piece of software to use this open development +process; FreeBSD, the Emacs lisp repository, and Linux are a few +examples of the bazaar style of development. + +With egcs, we will be adding new features and optimizations at a +rate that has not been done since the creation of gcc2; these additions +will inevitably have a temporarily destabilizing effect. With the help +of developers working together with this bazaar style development, the +resulting stability and quality levels will be better than we've had +before. + +cathedral-vs-bazaar[1] + We've been discussing different development models a lot over the + past few months. The paper which started all of this introduced two + terms: A cathedral development model versus a bazaar + development model. The paper is written by Eric S. Raymond, it is + called `` http://locke.ccil.org/~esr/writings/cathedral.html" The + Cathedral and the Bazaar''. The paper is a useful starting point + for discussions. + + + +bits/libc-lock.h: No such file or directory +egcs includes a tightly integrated libio and libstdc++ implementation which +can cause problems on hosts which have libio integrated into their C library +(most notably Linux). + +We believe that we've solved the major technical problems for the most +common versions of libc found on Linux systems. However, some versions +of Linux use pre-release versions of glibc2, which egcs has trouble detecting +and correctly handling. + +If you're using one of these pre-release versions of glibc2, you may get +a message "bits/libc-lock.h: No such file or directory" when building egcs. +Unfortunately, to fix this problem you will need to update your C library to +glibc2.0.5c. + +Late breaking news: we may have at least a partial solution for these +problems. So this FAQ entry may no longer be needed. + + +`_IO_stdfile_0_lock' was not declared in this scope +If you get this error, it means either egcs incorrectly guessed what version +of libc is installed on your linux system, or you incorrectly specified a +version of glibc when configuring egcs. + +If you did not provide a target name when configuring egcs, then you've +found a bug which needs to be reported. If you did provide a target name at +configure time, then you should reconfigure without specifying a target name. + + +Problems building the Fortran compiler +The Fortran front end can not be built with most vendor compilers; it must +be built with gcc. As a result, you may get an error if you do not follow +the install instructions carefully. + +In particular, instead of using "make" to build egcs, you should use +"make bootstrap" if you are building a native compiler or "make cross" +if you are building a cross compiler. + +It has also been reported that the Fortran compiler can not be built +on Red Hat 4.X linux for the Alpha. Fixing this may require upgrading +binutils or to Red Hat 5.0; we'll provide more information as it becomes +available. + + +Problems building on MIPS platforms +egcs requires the use of GAS on all versions of Irix, except Irix 6 due +to limitations in older Irix assemblers. + + Either of these messages indicates that you are using the MIPS assembler +when instead you should be using GAS. + + as0: Error: ./libgcc2.c, line 1:Badly delimited numeric literal + .4byte $LECIE1-$LSCIE1 + as0: Error: ./libgcc2.c, line 1:malformed statement + + + + as0: Error: /home/law/egcs_release/gcc/libgcc2.c, line 1:undefined symbol in expression + .word $LECIE1-$LSCIE1 + + + For Irix 6, you should use the native assembler as GAS is not supported +on Irix 6. + + +Problems with exception handling on x86 platforms +If you are using the GNU assembler (aka gas) on an x86 platform and +exception handling is not working correctly, then odds are you're using a +buggy assembler. + +We recommend binutils-2.8.0.1.15 or newer. +"ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.tar.gz binutils-2.8.0.1.15 source +ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.bin.tar.gz binutils-2.8.0.1.15 x86 binary for libc5 +ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.glibc.bin.tar.gz binutils-2.8.0.1.15 x86 binary for glibc2 +Or, you can try a +ftp://ftp.cygnus.com/pub/egcs/infrastructure/gas-970915.tar.gz binutils snapshot; however, be aware that the binutils snapshot is untested +and may not work (or even build). Use it at your own risk. + + +Bootstrap comparison failures on HPs +If you bootstrap the compiler on hpux10 using the HP assembler instead of +gas, every file will fail the comparison test. + +The HP asembler inserts timestamps into object files it creates, causing +every file to be different. The location of the timestamp varies for each +object file, so there's no real way to work around this mis-feature. + +Odds are your compiler is fine, but there's no way to be certain. + +If you use GAS on HPs, then you will not run into this problem because +GAS never inserts timestamps into object files. For this and various other +reasons we highly recommend using GAS on HPs. + + +Bootstrap loops rebuilding cc1 over and over +When building egcs, the build process loops rebuilding cc1 over and +over again. This happens on mips-sgi-irix5.2, and possibly other platforms. + +This is probably a bug somewhere in the egcs Makefile. Until we find and +fix this bug we recommend you use GNU make instead of vendor supplied make +programs. + + +Dynamic linker is unable to find GCC libraries +This problem manifests itself by programs not finding shared libraries +they depend on when the programs are started. Note this problem often manifests +itself with failures in the libio/libstdc++ tests after configuring with +--enable-shared and building egcs. + +GCC does not specify a runpath so that the dynamic linker can find dynamic +libraries at runtime. + +The short explaination is that if you always pass a -R option to the +linker, then your programs become dependent on directories which +may be NFS mounted, and programs may hang unnecessarily when an +NFS server goes down. + +The problem is not programs that do require the directories; those +programs are going to hang no matter what you do. The problem is +programs that do not require the directories. + +SunOS effectively always passed a -R option for every -L option; +this was a bad idea, and so it was removed for Solaris. We should +not recreate it. + + +Unable to run the testsuite +If you get a message about unable to find "standard.exp" when trying to +run the egcs testsuites, then your dejagnu is too old to run the egcs tests. +You will need to get a newer version of dejagnu; we've made a +<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971028.tar.gz"> +dejagnu snapshot available until a new version of dejagnu can be released. + + +How to build a cross compiler + Building cross compilers is a rather complex undertaking because they +usually need additional software (cross assembler, cross linker, target +libraries, target include files, etc). + + We recommend reading the <a href="ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1"> +crossgcc FAQ for information about building cross compilers. + + If you have all the pieces available, then `make cross' should build a +cross compiler. `make LANGUAGES="c c++" install'will install the cross +compiler. + + Note that if you're trying to build a cross compiler in a tree which +includes binutils-2.8 in addition to egcs, then you're going to need to +make a couple minor tweaks so that the cross assembler, linker and +nm utilities will be found. + +binutils-2.8 builds those files as gas.new, ld.new and nm.new; egcs gcc +looks for them using gas-new, ld-new and nm-new, so you may have to arrange +for any symlinks which point to <file>.new to be changed to <file>-new. + + +Snapshots, how, when, why + We make snapshots of the egcs sources about once a week; there is no +predetermined schedule. These snapshots are intended to give everyone +access to work in progress. Any given snapshot may generate incorrect code +or even fail to build. + +If you plan on downloading and using snapshots, we highly recommend you +subscribe to the egcs mailing lists. See <a href="index.html#mailinglists"> +mailing lists on the main egcs page for instructions on how to subscribe. + +When using the diff files to update from older snapshots to newer snapshots, +make sure to use "-E" and "-p" arguments to patch so that empty files are +deleted and full pathnames are provided to patch. If your version of +patch does not support "-E", you'll need to get a newer version. Also note +that you may need autoconf, autoheader and various other programs if you use +diff files to update from one snapshot to the next. + + +How to install both egcs and gcc2 +It may be desirable to install both egcs and gcc2 on the same system. This +can be done by using different prefix paths at configure time and a few +symlinks. + +Basically, configure the two compilers with different --prefix options, +then build and install each compiler. Assume you want "gcc" to be the egcs +compiler and available in /usr/local/bin; also assume that you want "gcc2" +to be the gcc2 compiler and also available in /usr/local/bin. + +The easiest way to do this is to configure egcs with --prefix=/usr/local/egcs +and gcc2 with --prefix=/usr/local/gcc2. Build and install both compilers. +Then make a symlink from /usr/local/bin/gcc to /usr/local/egcs/bin/gcc and +from /usr/local/bin/gcc2 to /usr/local/gcc2/bin/gcc. Create similar links +for the "g++", "c++" and "g77" compiler drivers. + + +Problems building Linux kernels +If you installed a recent binutils/gas snapshot on your Linux system, +you may not be able to build the kernel because objdump does not understand +the "-k" switch. The solution for this problem is to remove /usr/bin/encaps. + +You may get an internal compiler error compiling process.c in newer +versions of the Linux kernel on x86 machines. This is a bug in an asm +statement in process.c, not a bug in egcs. XXX How to fix?!? + +You may get errors with the X driver of the form +_X11TransSocketUNIXConnect: Can't connect: errno = 111 + +It's a kernel bug. The function sys_iopl in arch/i386/kernel/process.c +does an illegal hack which used to work but is now broken since GCC optimizes +more aggressively . The newer 2.1.x kernels already have a fix which should +also work in 2.0.32. + + +Virtual memory exhausted error + This error means your system ran out of memory; this can happen for large +files, particularly when optimizing. If you're getting this error you should +consider trying to simplify your files or reducing the optimization level. + +Note that using -pedantic or -Wreturn-type can cause an explosion in the +amount of memory needed for template-heavy C++ code, such as code that uses +STL. Also note that -Wall includes -Wreturn-type, so if you use -Wall you +will need to specify -Wno-return-type to turn it off. + + +GCC can not find GAS +Some configurations like irix4, irix5, hpux* require the use of the GNU +assembler intead of the system assembler. To ensure that egcs finds the GNU +assembler, you should configure the GNU assembler with the same --prefix +option as you used for egcs. Then build & install the GNU assembler. + + +egcs does not work on Red Hat 5.0 + egcs does not currently work with Red Hat 5.0; we'll update this +entry with more information as it becomes available. + + +Last modified: December 2, 1997 diff --git a/INSTALL/FINALINSTALL b/INSTALL/FINALINSTALL new file mode 100644 index 0000000..5d893c5 --- /dev/null +++ b/INSTALL/FINALINSTALL @@ -0,0 +1,19 @@ +Final install egcs-1.0 + +Now that egcs has been built and tested, you can install it with +`cd objdir; make install' for a native compiler or +`cd objdir; make install LANGUAGES="c c++"' for a cross compiler +(note installing cross compilers will be easier in the next release!). + + +That step completes the installation of egcs; user level binaries can +be found in prefix/bin where prefix is the value you specified +with the --prefix to configure (or /usr/local by default). + +If you don't mind, please send egcs@cygnus.com a short mail message +indicating that you successfully built and installed egcs. Include +the output from running srcdir/config.guess. + +If you find a bug in egcs, please report it to egcs-bugs@cygnus.com + +Last modified on December 2, 1997. diff --git a/INSTALL/INDEX b/INSTALL/INDEX new file mode 100644 index 0000000..c651389 --- /dev/null +++ b/INSTALL/INDEX @@ -0,0 +1,34 @@ +Installing egcs-1.0 + +This document describes the generic installation procedure for egcs as +well as detailing some target specific installation instructions for egcs. + +egcs includes several components that previously were separate distributions +with their own installation instructions. This document supercedes all +package specific installation instructions. We provide the component specific +installation information in the source distribution for historical reference +purposes only. + +We recommend you read the entire generic installation instructions as +well as any target specific installation instructions before you proceed +to configure, build, test and install egcs. + +If something goes wrong in the configure, build, test or install +procedures, first double check that you followed the generic and target +specific installation instructions carefully. Then check the EGCS FAQ +(FAQ) to see if your problem is covered before you file a bug report. + +The installation procedure is broken into four steps. + + + Configure see CONFIGURE + Build see BUILD + Test see TEST + Final Install see FINALINSTALL + + +Before starting the build/install procedure please browse the +host/target specific installation notes (SPECIFIC). + +Last modified on December 2, 1997. + diff --git a/INSTALL/README b/INSTALL/README new file mode 100644 index 0000000..786ca89 --- /dev/null +++ b/INSTALL/README @@ -0,0 +1,14 @@ +This directory contains installation instrutions for egcs-1.00. + +We're providing installation instructions in two forms, html and +plaintext. + +index.html is the toplevel install file for html browsers. + +INDEX is the toplevel install file in plaintext form. + +The most recent HTML installation instructions for egcs can be obtained from +the egcs web site: + +http://www.cygnus.com/egcs/install + diff --git a/INSTALL/SPECIFIC b/INSTALL/SPECIFIC new file mode 100644 index 0000000..386836b --- /dev/null +++ b/INSTALL/SPECIFIC @@ -0,0 +1,106 @@ +Host/Target specific installation notes for egcs-1.0 + +alpha*-*-* +No specific installation needs/instructions. + + +i?86-*-linux* +You will need binutils-2.8.1.0.15 or newer for exception handling to work. + +i?86-*-sco3.2v5* +The SCO assembler is currently required. The GNU assembler is not up +to the task of switching between ELF and COFF at runtime. + +Unlike various prereleases of GCC, that used '-belf' and defaulted to +COFF, you must now use the '-melf' and '-mcoff' flags to toggle between +the two object file formats. ELF is now the default. + +Look in gcc/config/i386/sco5.h (search for "messy") for additional +OpenServer-specific flags. + + + +hppa*-hp-hpux* +We highly recommend using gas/binutils-2.8 on all hppa platforms; you +may encounter a variety of problems when using the HP assembler. + +hppa*-hp-hpux9 +The HP assembler has major problems on this platform. We've tried to work +around the worst of the problems. However, those workarounds may be causing +linker crashes in some circumstances; the workarounds also probably prevent +shared libraries from working. Use the GNU assembler to avoid these problems. + +The configuration scripts for egcs will also trigger a bug in the hpux9 +shell. To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to +/bin/ksh in your environment. + +hppa*-hp-hpux10 +For hpux10.20, we highly recommend you pick up the latest sed +patch from HP. HP has two sites which provide patches free of charge. + +http://us-support.external.hp.com for US, Canada, Asia-Pacific, and +Latin-America +http://europe-support.external.hp.com for Europe + +Retrieve patch PHCO_12862. + +The HP assembler on these systems is much better than the hpux9 assembler, +but still has some problems. Most notably the assembler inserts timestamps +into each object file it creates, causing the 3-stage comparison test to fail +during a "make bootstrap". You should be able to continue by saying "make all" +after getting the failure from "make bootstrap". + +m68k-*-nextstep* +You absolutely must use GNU sed and GNU make on this platform. + +If you try to build the integrated C++ & C++ runtime libraries on this system +you will run into trouble with include files. The way to get around this is +to use the following sequence. Note you must have write permission to +prefix for this sequence to work. + +cd objdir +make all-texinfo all-bison all-byacc all-binutils all-gas all-ld +cd gcc +make bootstrap +make install-headers-tar +cd .. +make bootstrap3 + +m68k-sun-sunos4.1.1 +It is reported that you may need the GNU assembler on this platform. + +mips*-sgi-irix4 +mips*-sgi-irix5 +You must use GAS on these platforms, the native assembler can not handle the +code for exception handling support on this platform. + +These systems don't have ranlib, which various components in egcs need; you +should be able to avoid this problem by installing GNU binutils, which includes +a functional ranlib for this system. + +You may get the following warning on irix4 platforms, it can be safely +ignored. + + warning: foo.o does not have gp tables for all its sections. + +mips*-sgi-irix6 +You must not use GAS on irix6 platforms; doing so will only cause problems. + +These systems don't have ranlib, which various components in egcs need; you +should be able to avoid this problem by making a dummy script called ranlib +which just exits with zero status and placing it in your path. + +rs6000-ibm-aix* +powerpc-ibm-aix* +At least one person as reported problems with older versions of gnu-make on +this platform. make-3.76 is reported to work correctly. + +powerpc-*-linux-gnu* +You will need binutils-2.8.1.0.17 from ftp://ftp.yggdrasil.com/private/hjl for +a working egcs. It is strongly recommended to recompile binutils with egcs +if you initially built it with gcc-2.7.2.*. + + +exception handling +XXX Linux stuff +Last modified on December 2, 1997. diff --git a/INSTALL/TEST b/INSTALL/TEST new file mode 100644 index 0000000..7492045 --- /dev/null +++ b/INSTALL/TEST @@ -0,0 +1,28 @@ +Testing egcs-1.0 + +Before you install egcs, you might wish to run the egcs testsuite; this +step is optional and may require you to download additional software. + +First, you must have downloaded the egcs testsuites; the full distribution +contains testsuites. If you downloaded the "core" compiler plus any front +ends, then you do not have the testsuites. You can download the testsuites +from the same site where you downloaded the core distribution and language +front ends. + +Second, you must have a new version of dejagnu on your system; dejagnu-1.3 +will not work. We have made a dejagnu snapshot +ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971028.tar.gz +dejagnu snapshot available in ftp.cygnus.com:/pub/egcs/infrastructure until +a new version of dejagnu can be released. + +Assuming you've got the testsuites unpacked and have installed an appropriate +dejagnu, you can run the testsuite with "cd objdir; make -k check". +This may take a long time. Go get some lunch. + +The testing process will try to test as many components in the egcs +distrubution as possible, including the C, C++ and Fortran compiler as +well as the C++ runtime libraries. + + How to interpret test results XXX. + +Last modified on December 2, 1997. diff --git a/INSTALL/build.html b/INSTALL/build.html new file mode 100644 index 0000000..750b2c4 --- /dev/null +++ b/INSTALL/build.html @@ -0,0 +1,66 @@ +<html> +<head> +<title>Building egcs-1.0 </title> +</head> +<body bgcolor="white"> +<h1 align="center">Building egcs-1.0</h1> + +<p>Now that egcs is configured, you are ready to build the compiler and +runtime libraries. + +<p>We <b>highly</b> recommend that egcs be built using gnu-make; other +versions make work, then again they might not. To be safe build with gnu-make. + +<p><b>Building a native compiler</b> +<p>For a native build issue the command "make bootstrap". This will build +the entire egcs compiler system, which includes the following steps: + +<ul> + <li> Build host tools necessary to build the compiler such as texinfo, bison, + gperf.<p> + + <li> Build target tools for use by the compiler such as gas, gld, and + binutils.<p> + + <li> Perform a 3-stage bootstrap of the compiler.<p> + + <li> Perform a comparison test of the stage2 and stage3 compilers.<p> + + <li> Build runtime libraries using the stage3 compiler from the previous + step.<p> +</ul> + +<p>If you are short on disk space you might consider "make bootstrap-lean" +instead. This is identical to "make bootstrap" except that object files +from the stage1 and stage2 of the 3-stage bootstrap of the compiler are +deleted as soon as they are no longer needed. + +<p><b>Building a cross compiler</b> + +<p> We recommend reading the +<a href="ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1"> +crossgcc FAQ</a> for information about building cross compilers. + +<p>For a cross build, issue the command "make cross", which performs the +following steps: +<ul> + <li> Build host tools necessary to build the compiler such as texinfo, bison, + gperf.<p> + + <li> Build target tools for use by the compiler such as gas, gld, and + binutils.<p> + + <li> Build the compiler (single stage only).<p> + + <li> Build runtime libraries using the compiler from the previous + step.<p> +</ul> + +<p>Note that if an error occurs in any step the make process will exit. + +<p> +<hr> +<i>Last modified on December 2, 1997.</i> + +</body> +</html> diff --git a/INSTALL/configure.html b/INSTALL/configure.html new file mode 100644 index 0000000..ff26b38 --- /dev/null +++ b/INSTALL/configure.html @@ -0,0 +1,122 @@ +<html> +<head> +<title>Configuring egcs-1.0 </title> +</head> +<body bgcolor="white"> +<h1 align="center">Configuring egcs-1.0</h1> + +<p>Like most GNU software, egcs must be configured before it can be built. +This document attempts to describe the recommended configuration procedure +for both native and cross targets. + +<p>We use <i>srcdir</i> to refer to the toplevel source directory for +egcs; we use <i>objdir</i> to refer to the toplevel build/object +directory for egcs. + +<p>First, we <b>highly</b> recommend that egcs be built into a separate +directory than the sources. This is how we generally build egcs; building +where <i>srcdir</i> == <i>objdir</i> should still work, but doesn't get +extensive testing. + +<p>Second, when configuring a native system, either "cc" must be in your +path or you must set CC in your environment before running configure. +Otherwise the configuration scripts may fail. + +<p>To configure egcs: + +<blockquote> +<tt> + <br>% mkdir <i>objdir</i> + <br>% cd <i>objdir</i> + <br>% <i>srcdir</i>/configure <b>[target]</b> <b>[options]</b> +</tt> +</blockquote> + + +<p><b>target specification</b> +<ul> + <li> egcs has code to correctly determine the correct value for + <b>target</b> for nearly all native systems. Therefore, we highly + recommend you not provide a configure target when configuring a + native compiler. + + <li> <b>target</b> must be specified when configuring a cross compiler; + examples of valid targets would be i960-rtems, m68k-coff, sh-elf, etc. +</ul> + + +<p><b> options specification</b> + +<p>Use <b>options</b> to override several configure time options for +egcs. A partial list of supported <tt>options</tt>: + +<ul> + <li> <tt>--prefix=</tt><i>dirname</i> -- Specify the toplevel installation + directory. This is the recommended way to install the tools into a directory + other than the default. The toplevel installation directory defaults to + /usr/local. + + <br>These additional options control where certain parts of the distribution + are installed. Normally you should not need to use these options. + <ul> + <li> <tt>--with-local-prefix=</tt><i>dirname</i> -- Specify the installation + directory for local include files. The default is /usr/local. + + <li> <tt>--with-gxx-include-dir=</tt><i>dirname</i> -- Specify the installation + directory for g++ header files. The default is /usr/local/include/g++. + </ul> + + <li> <tt>--enable-shared</tt> -- Build shared versions of the C++ runtime + libraries if supported <tt>--disable-shared</tt> is the default. + + <li> <tt>--enable-haifa</tt> -- Enable the new Haifa instruction scheduler in the + compiler; the new scheduler can significantly improve code on some targets. + <tt>--disable-haifa</tt> is currently the default on all platforms except the HPPA. + + <li> <tt>--with-gnu-as</tt> -- Specify that the compiler should assume the GNU + assembler (aka gas) is available. + + <li> <tt>--with-gnu-ld</tt> -- Specify that the compiler should assume the GNU + linker (aka gld) is available. + + <li> <tt>--with-stabs</tt> -- Specify that stabs debugging information should be used + instead of whatever format the host normally uses. Normally GCC uses the + same debug format as the host system. + + <li> <tt>--enable-multilib</tt> -- Specify that multiple target libraries + should be built to support different target variants, calling conventions, + etc. This is the default. + + <li> <tt>--enable-threads</tt> -- Specify that the target supports threads. + This only effects the Objective-C compiler and runtime library. + + <li> <tt>--enable-threads=</tt><i>lib</i> -- Specify that <i>lib</i> is the + thread support library. This only effects the Objective-C compiler and + runtime library. + + <li> <tt>--with-cpu=</tt><i>cpu</i> -- Specify which cpu variant the compiler should + generate code for by default. This is currently only supported on the + RS6000/PowerPC ports. +</ul> + +<p>Some options which only apply to building cross compilers: +<ul> + <li> <tt>--with-headers=</tt><i>dir</i> -- Specifies a directory which has target + include files. + <li> <tt>--with-libs=</tt><i>dirs</i> -- Specifies a list of directories which contain + the target runtime libraries. + <li> <tt>--with-newlib</tt> -- Specifies that "newlib" is being used as the target + C library. This causes __eprintf to be omitted from libgcc.a on the + assumption that it will be provided by newlib. +</ul> + +<p>Note that each <tt>--enable</tt> option has a corresponding <tt>--disable</tt> option and +that each <tt>--with</tt> option has a corresponding <tt>--without</tt> option. + + +<p> +<hr> +<i>Last modified on December 2, 1997.</i> + +</body> +</html> diff --git a/INSTALL/faq.html b/INSTALL/faq.html new file mode 100644 index 0000000..cbc82da --- /dev/null +++ b/INSTALL/faq.html @@ -0,0 +1,365 @@ +<html> +<head> +<title>egcs Frequently Asked Questions</title> +</head> +<body bgcolor="white"> +<h1 align="center">egcs Frequently Asked Questions</h1> + +<ol> + <li><a href="#gcc-2-diff">How is egcs be different from gcc2?</a> + <li><a href="#open-development">What is an open development model?</a> + <li><a href="#libc-lock">bits/libc-lock.h: No such file or directory</a> + <li><a href="#morelibc">`_IO_stdfile_0_lock' was not declared in this scope</a> + <li><a href="#fortran">Problems building the Fortran compiler</a> + <li><a href="#mips">Problems building on MIPS platforms</a> + <li><a href="#x86eh">Problems with exception handling on x86 platforms</a> + <li><a href="#hpcompare">Bootstrap comparison failures on HPs</a> + <li><a href="#makebugs">Bootstrap loops rebuilding cc1 over and over</a> + <li><a href="#rpath">Dynamic linker is unable to find GCC libraries</a> + <li><a href="#rpath">libstdc++/libio tests fail badly with --enable-shared</a> + <li><a href="#dejagnu">Unable to run the testsuite</a> + <li><a href="#cross">How to build a cross compiler</a> + <li><a href="#multiple">How to install both gcc2 and egcs</a> + <li><a href="#snapshot">Snapshots, how, when, why</a> + <li><a href="#linuxkernel">Problems building Linux kernels</a> + <li><a href="#memexhausted">Virtual memory exhausted</a> + <li><a href="#gas">GCC can not find GAS</a> + <li><a href="#rh5.0">egcs does not work on Red Hat 5.0</a> + +</ol> + +<hr> +<h2><a name="gcc-2-diff">How is egcs be different from gcc2?</a></h2> + +<p>Six years ago, gcc version 1 had reached a point of stability. For the +targets it could support, it worked well. It had limitations inherent in +its design that would be difficult to resolve, so a major effort was made +and gcc version 2 was the result. When we had gcc2 in a useful state, +development efforts on gcc1 stopped and we all concentrated on making +gcc2 better than gcc1 could ever be. This is the kind of step forward +we want to make with egcs. + +<p>In brief, the three biggest differences between egcs and gcc2 are +these: + +<ul> + <li>More rexamination of basic architectual decisions of + gcc and an interest in adding new optimizations; + + <li>working with the groups who have fractured out from gcc2 (like + the Linux folks, the Intel optimizations folks, Fortran folks) + including more front-ends; and finally + + <li>An open development model (<a + href="#open-development">see below</a>) for the development process. +</ul> + +<p>These three differences will work together to result in a more +useful compiler, a more stable compiler, a central compiler that works +for more people, a compiler that generates better code. + + +<p>There are a lot of exciting compiler optimizations that have come +out. We want them in gcc. There are a lot of front ends out there for +gcc for languages like Fortran or Pascal. We want them easily +installable by users. After six years of working on gcc2, we've come +to see problems and limitations in the way gcc is architected; it is +time to address these again. + +<hr> +<h2><a name="open-development">What is an open development model?</a></h2> + +<p>With egcs, we are going to try a bazaar style<a +href="#cathedral-vs-bazaar"><b>[1]</b></a> approach to its +development: We're going to be making snapshots publically available +to anyone who wants to try them; we're going to welcome anyone to join +the development mailing list. All of the discussions on the +development mailing list are available via the web. We're going to be +making releases with a much higher frequency than they have been made +in the past: We're shooting for three by the end of 1997. + +<p>In addition to weekly snapshots of the egcs development sources, we +are going to look at making the sources readable from a CVS server by +anyone. We want to make it so external maintainers of parts of egcs +are able to commit changes to their part of egcs directly into the +sources without going through an intermediary. + +<p>There have been many potential gcc developers who were not able to +participate in gcc development in the past. We these people to help in +any way they can; we ultimately want gcc to be the best compiler in the +world. + +<p>A compiler is a complicated piece of software, there will still be +strong central maintainers who will reject patches, who will demand +documentation of implementations, and who will keep the level of +quality as high as it is today. Code that could use wider testing may +be intergrated--code that is simply ill-conceived won't be. + +<p>egcs is not the first piece of software to use this open development +process; FreeBSD, the Emacs lisp repository, and Linux are a few +examples of the bazaar style of development. + +<p>With egcs, we will be adding new features and optimizations at a +rate that has not been done since the creation of gcc2; these additions +will inevitably have a temporarily destabilizing effect. With the help +of developers working together with this bazaar style development, the +resulting stability and quality levels will be better than we've had +before. + +<blockquote> +<a name="cathedral-vs-bazaar"><b>[1]</b></a> + We've been discussing different development models a lot over the + past few months. The paper which started all of this introduced two + terms: A <b>cathedral</b> development model versus a <b>bazaar</b> + development model. The paper is written by Eric S. Raymond, it is + called ``<a + href="http://locke.ccil.org/~esr/writings/cathedral.html">The + Cathedral and the Bazaar</a>''. The paper is a useful starting point + for discussions. +</blockquote> + + +<hr> +<h2><a name="libc-lock">bits/libc-lock.h: No such file or directory</a></h2> +<p>egcs includes a tightly integrated libio and libstdc++ implementation which +can cause problems on hosts which have libio integrated into their C library +(most notably Linux). + +<p>We believe that we've solved the major technical problems for the most +common versions of libc found on Linux systems. However, some versions +of Linux use pre-release versions of glibc2, which egcs has trouble detecting +and correctly handling. + +<p>If you're using one of these pre-release versions of glibc2, you may get +a message "bits/libc-lock.h: No such file or directory" when building egcs. +Unfortunately, to fix this problem you will need to update your C library to +glibc2.0.5c. + +<p>Late breaking news: we may have at least a partial solution for these +problems. So this FAQ entry may no longer be needed. + +<hr> +<h2><a name="morelibc">`_IO_stdfile_0_lock' was not declared in this scope</a></h2> +<p>If you get this error, it means either egcs incorrectly guessed what version +of libc is installed on your linux system, or you incorrectly specified a +version of glibc when configuring egcs. + +<p>If you did not provide a target name when configuring egcs, then you've +found a bug which needs to be reported. If you did provide a target name at +configure time, then you should reconfigure without specifying a target name. + +<hr> +<h2><a name="fortran">Problems building the Fortran compiler</a></h2> +<p>The Fortran front end can not be built with most vendor compilers; it must +be built with gcc. As a result, you may get an error if you do not follow +the install instructions carefully. + +<p>In particular, instead of using "make" to build egcs, you should use +"make bootstrap" if you are building a native compiler or "make cross" +if you are building a cross compiler. + +<p>It has also been reported that the Fortran compiler can not be built +on Red Hat 4.X linux for the Alpha. Fixing this may require upgrading +binutils or to Red Hat 5.0; we'll provide more information as it becomes +available. + +<hr> +<h2><a name="mips">Problems building on MIPS platforms</a></h2> +<p>egcs requires the use of GAS on all versions of Irix, except Irix 6 due +to limitations in older Irix assemblers. + +<p> Either of these messages indicates that you are using the MIPS assembler +when instead you should be using GAS. + +<pre> + as0: Error: ./libgcc2.c, line 1:Badly delimited numeric literal + .4byte $LECIE1-$LSCIE1 + as0: Error: ./libgcc2.c, line 1:malformed statement +</pre> + +<hr> +<pre> + as0: Error: /home/law/egcs_release/gcc/libgcc2.c, line 1:undefined symbol in expression + .word $LECIE1-$LSCIE1 + +</pre> + + +<p> For Irix 6, you should use the native assembler as GAS is not supported +on Irix 6. + +<hr> +<h2> <a name="x86eh">Problems with exception handling on x86 platforms</a></h2> +<p>If you are using the GNU assembler (aka gas) on an x86 platform and +exception handling is not working correctly, then odds are you're using a +buggy assembler. + +<p>We recommend binutils-2.8.0.1.15 or newer. +<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.tar.gz"> binutils-2.8.0.1.15 source</a> +<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.bin.tar.gz"> binutils-2.8.0.1.15 x86 binary for libc5</a> +<br><a href="ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.8.1.0.15.glibc.bin.tar.gz"> binutils-2.8.0.1.15 x86 binary for glibc2</a> +Or, you can try a +<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/gas-970915.tar.gz"> binutils snapshot</a>; however, be aware that the binutils snapshot is untested +and may not work (or even build). Use it at your own risk. + +<hr> +<h2> <a name="hpcompare">Bootstrap comparison failures on HPs</a></h2> +<p>If you bootstrap the compiler on hpux10 using the HP assembler instead of +gas, every file will fail the comparison test. + +<p>The HP asembler inserts timestamps into object files it creates, causing +every file to be different. The location of the timestamp varies for each +object file, so there's no real way to work around this mis-feature. + +<p>Odds are your compiler is fine, but there's no way to be certain. + +<p>If you use GAS on HPs, then you will not run into this problem because +GAS never inserts timestamps into object files. For this and various other +reasons we highly recommend using GAS on HPs. + +<hr> +<h2> <a name="makebugs">Bootstrap loops rebuilding cc1 over and over</a></h2> +<p>When building egcs, the build process loops rebuilding cc1 over and +over again. This happens on mips-sgi-irix5.2, and possibly other platforms. + +<p>This is probably a bug somewhere in the egcs Makefile. Until we find and +fix this bug we recommend you use GNU make instead of vendor supplied make +programs. + +<hr> +<h2> <a name="rpath">Dynamic linker is unable to find GCC libraries</a></h2> +<p>This problem manifests itself by programs not finding shared libraries +they depend on when the programs are started. Note this problem often manifests +itself with failures in the libio/libstdc++ tests after configuring with +--enable-shared and building egcs. + +<p>GCC does not specify a runpath so that the dynamic linker can find dynamic +libraries at runtime. + +<p>The short explaination is that if you always pass a -R option to the +linker, then your programs become dependent on directories which +may be NFS mounted, and programs may hang unnecessarily when an +NFS server goes down. + +<p>The problem is not programs that do require the directories; those +programs are going to hang no matter what you do. The problem is +programs that do not require the directories. + +<p>SunOS effectively always passed a -R option for every -L option; +this was a bad idea, and so it was removed for Solaris. We should +not recreate it. + +<hr> +<h2> <a name="dejagnu">Unable to run the testsuite</a></h2> +<p>If you get a message about unable to find "standard.exp" when trying to +run the egcs testsuites, then your dejagnu is too old to run the egcs tests. +You will need to get a newer version of dejagnu; we've made a +<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971028.tar.gz"> +dejagnu snapshot</a> available until a new version of dejagnu can be released. + +<hr> +<h2> <a name="cross">How to build a cross compiler</a></h2> +<p> Building cross compilers is a rather complex undertaking because they +usually need additional software (cross assembler, cross linker, target +libraries, target include files, etc). + +<p> We recommend reading the <a href="ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ-0.8.1"> +crossgcc FAQ</a> for information about building cross compilers. + +<p> If you have all the pieces available, then `make cross' should build a +cross compiler. `make LANGUAGES="c c++" install'will install the cross +compiler. + +<p> Note that if you're trying to build a cross compiler in a tree which +includes binutils-2.8 in addition to egcs, then you're going to need to +make a couple minor tweaks so that the cross assembler, linker and +nm utilities will be found. + +<p>binutils-2.8 builds those files as gas.new, ld.new and nm.new; egcs gcc +looks for them using gas-new, ld-new and nm-new, so you may have to arrange +for any symlinks which point to <file>.new to be changed to <file>-new. + +<hr> +<h2> <a name="snapshot">Snapshots, how, when, why</a></h2> +<p> We make snapshots of the egcs sources about once a week; there is no +predetermined schedule. These snapshots are intended to give everyone +access to work in progress. Any given snapshot may generate incorrect code +or even fail to build. + +<p>If you plan on downloading and using snapshots, we highly recommend you +subscribe to the egcs mailing lists. See <a href="index.html#mailinglists"> +mailing lists</a> on the main egcs page for instructions on how to subscribe. + +<p>When using the diff files to update from older snapshots to newer snapshots, +make sure to use "-E" and "-p" arguments to patch so that empty files are +deleted and full pathnames are provided to patch. If your version of +patch does not support "-E", you'll need to get a newer version. Also note +that you may need autoconf, autoheader and various other programs if you use +diff files to update from one snapshot to the next. + +<hr> +<h2> <a name="multiple">How to install both egcs and gcc2</a></h2> +<p>It may be desirable to install both egcs and gcc2 on the same system. This +can be done by using different prefix paths at configure time and a few +symlinks. + +<p>Basically, configure the two compilers with different --prefix options, +then build and install each compiler. Assume you want "gcc" to be the egcs +compiler and available in /usr/local/bin; also assume that you want "gcc2" +to be the gcc2 compiler and also available in /usr/local/bin. + +<p>The easiest way to do this is to configure egcs with --prefix=/usr/local/egcs +and gcc2 with --prefix=/usr/local/gcc2. Build and install both compilers. +Then make a symlink from /usr/local/bin/gcc to /usr/local/egcs/bin/gcc and +from /usr/local/bin/gcc2 to /usr/local/gcc2/bin/gcc. Create similar links +for the "g++", "c++" and "g77" compiler drivers. + +<hr> +<h2> <a name="linuxkernel">Problems building Linux kernels</a></h2> +<p>If you installed a recent binutils/gas snapshot on your Linux system, +you may not be able to build the kernel because objdump does not understand +the "-k" switch. The solution for this problem is to remove /usr/bin/encaps. + +<p>You may get an internal compiler error compiling process.c in newer +versions of the Linux kernel on x86 machines. This is a bug in an asm +statement in process.c, not a bug in egcs. XXX How to fix?!? + +<p>You may get errors with the X driver of the form +<pre> +_X11TransSocketUNIXConnect: Can't connect: errno = 111 +</pre> + +<p>It's a kernel bug. The function sys_iopl in arch/i386/kernel/process.c +does an illegal hack which used to work but is now broken since GCC optimizes +more aggressively . The newer 2.1.x kernels already have a fix which should +also work in 2.0.32. + +<hr> +<h2> <a name="memexhausted">Virtual memory exhausted error</a></h2> +<p> This error means your system ran out of memory; this can happen for large +files, particularly when optimizing. If you're getting this error you should +consider trying to simplify your files or reducing the optimization level. + +<p>Note that using -pedantic or -Wreturn-type can cause an explosion in the +amount of memory needed for template-heavy C++ code, such as code that uses +STL. Also note that -Wall includes -Wreturn-type, so if you use -Wall you +will need to specify -Wno-return-type to turn it off. + +<hr> +<h2> <a name="gas">GCC can not find GAS</a></h2> +<p>Some configurations like irix4, irix5, hpux* require the use of the GNU +assembler intead of the system assembler. To ensure that egcs finds the GNU +assembler, you should configure the GNU assembler with the same --prefix +option as you used for egcs. Then build & install the GNU assembler. + +<hr> +<h2> <a name="rh5.0">egcs does not work on Red Hat 5.0</a></h2> +<p> egcs does not currently work with Red Hat 5.0; we'll update this +entry with more information as it becomes available. + +<hr> +<p><a href="index.html">Return to the egcs home page</a> +<p><i>Last modified: December 2, 1997</i> + +</body> +</html> diff --git a/INSTALL/finalinstall.html b/INSTALL/finalinstall.html new file mode 100644 index 0000000..c7984f1 --- /dev/null +++ b/INSTALL/finalinstall.html @@ -0,0 +1,30 @@ +<html> +<head> +<title>Final install egcs-1.0 </title> +</head> +<body bgcolor="white"> +<h1 align="center">Final install egcs-1.0</h1> + +<p>Now that egcs has been built and tested, you can install it with +`cd <i>objdir</i>; make install' for a native compiler or +`cd <i>objdir</i>; make install LANGUAGES="c c++"' for a cross compiler +(note installing cross compilers will be easier in the next release!). + + +<p>That step completes the installation of egcs; user level binaries can +be found in <i>prefix</i>/bin where <i>prefix</i> is the value you specified +with the --prefix to configure (or /usr/local by default). + +<p>If you don't mind, please send egcs@cygnus.com a short mail message +indicating that you successfully built and installed egcs. Include +the output from running <i>srcdir</i>/config.guess. + +<p>If you find a bug in egcs, please report it to +<a href="mailto:egcs-bugs@cygnus.com">egcs-bugs@cygnus.com</a>. + +<p> +<hr> +<i>Last modified on December 2, 1997.</i> + +</body> +</html> diff --git a/INSTALL/index.html b/INSTALL/index.html new file mode 100644 index 0000000..ab4e4e4 --- /dev/null +++ b/INSTALL/index.html @@ -0,0 +1,47 @@ +<html> +<head> +<title>Installing egcs-1.0 </title> +</head> +<body bgcolor="white"> +<h1 align="center">Installing egcs-1.0</h1> + +<p>This document describes the generic installation procedure for egcs as +well as detailing some target specific installation instructions for egcs. + +<p>egcs includes several components that previously were separate distributions +with their own installation instructions. This document supercedes all +package specific installation instructions. We provide the component specific +installation information in the source distribution for historical reference +purposes only. + +<p>We recommend you read the entire generic installation instructions as +well as any target specific installation instructions before you proceed +to configure, build, test and install egcs. + +<p>If something goes wrong in the configure, build, test or install +procedures, first double check that you followed the generic and target +specific installation instructions carefully. Then check the +<a href="../faq.html">FAQ</a> to see if your problem is covered before you file +a bug report. + +<p>The installation procedure is broken into four steps. + +<ul> + + <li> <a href="configure.html">configure</a> + <li> <a href="build.html">build</a> + <li> <a href="test.html">test</a> (optional) + <li> <a href="finalinstall.html">install</a> + +</ul> + +<p>Before starting the build/install procedure <b>please</b> browse the +<a href="specific.html">host/target specific installation notes</a>. + +<hr> +<a href="../index.html">Return to the egcs home page</a> +</body> +</html> +<hr> +<i>Last modified on December 2, 1997.</i> + diff --git a/INSTALL/specific.html b/INSTALL/specific.html new file mode 100644 index 0000000..89a81db --- /dev/null +++ b/INSTALL/specific.html @@ -0,0 +1,119 @@ +<html> +<head> +<title>Host/Target specific installation notes for egcs-1.0 </title> +</head> +<body bgcolor="white"> +<h1 align="center">Host/Target specific installation notes for egcs-1.0</h1> + +<p><b>alpha*-*-*</b><br> +No specific installation needs/instructions. + + +<p><b>i?86-*-linux*</b><br> +You will need binutils-2.8.1.0.15 or newer for exception handling to work. + +<p><b>i?86-*-sco3.2v5*</b><br> +The SCO assembler is currently required. The GNU assembler is not up +to the task of switching between ELF and COFF at runtime. + +<br>Unlike various prereleases of GCC, that used '-belf' and defaulted to +COFF, you must now use the '-melf' and '-mcoff' flags to toggle between +the two object file formats. ELF is now the default. + +<br>Look in gcc/config/i386/sco5.h (search for "messy") for additional +OpenServer-specific flags. + + + +<p><b>hppa*-hp-hpux*</b><br> +We <b>highly</b> recommend using gas/binutils-2.8 on all hppa platforms; you +may encounter a variety of problems when using the HP assembler. + +XXX How to make sure gcc finds/uses gas. + +<p><b>hppa*-hp-hpux9</b><br> +The HP assembler has major problems on this platform. We've tried to work +around the worst of the problems. However, those workarounds may be causing +linker crashes in some circumstances; the workarounds also probably prevent +shared libraries from working. Use the GNU assembler to avoid these problems. + +<br>The configuration scripts for egcs will also trigger a bug in the hpux9 +shell. To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to +/bin/ksh in your environment. + +<p><b>hppa*-hp-hpux10</b><br> +For hpux10.20, we <b>highly</b> recommend you pick up the latest sed +patch from HP. HP has two sites which provide patches free of charge. + +<br><a href="http://us-support.external.hp.com">US, Canada, Asia-Pacific, and +Latin-America</a> +<br><a href="http://europe-support.external.hp.com">Europe</a> + +<p>Retrieve patch PHCO_12862. + +<p>The HP assembler on these systems is much better than the hpux9 assembler, +but still has some problems. Most notably the assembler inserts timestamps +into each object file it creates, causing the 3-stage comparison test to fail +during a "make bootstrap". You should be able to continue by saying "make all" +after getting the failure from "make bootstrap". + +<p><b>m68k-*-nextstep*</b><br> +You absolutely must use GNU sed and GNU make on this platform. + +<p>If you try to build the integrated C++ & C++ runtime libraries on this system +you will run into trouble with include files. The way to get around this is +to use the following sequence. Note you must have write permission to +<i>prefix</i> for this sequence to work. + +<p>cd <i>objdir</i><br> +make all-texinfo all-bison all-byacc all-binutils all-gas all-ld<br> +cd gcc<br> +make bootstrap<br> +make install-headers-tar<br> +cd ..<br> +make bootstrap3<br> + +<p><b>m68k-sun-sunos4.1.1</b><br> +It is reported that you may need the GNU assembler on this platform. + +<p><b>mips*-sgi-irix4</b><br> +<b>mips*-sgi-irix5</b><br> +You must use GAS on these platforms, the native assembler can not handle the +code for exception handling support on this platform. + +<p>These systems don't have ranlib, which various components in egcs need; you +should be able to avoid this problem by installing GNU binutils, which includes +a functional ranlib for this system. + +<p>You may get the following warning on irix4 platforms, it can be safely +ignored. +<pre> + warning: foo.o does not have gp tables for all its sections. +</pre> + +<p><b>mips*-sgi-irix6</b><br> +You must not use GAS on irix6 platforms; doing so will only cause problems. + +<p>These systems don't have ranlib, which various components in egcs need; you +should be able to avoid this problem by making a dummy script called ranlib +which just exits with zero status and placing it in your path. + +<p><b>rs6000-ibm-aix*</b><br> +<b>powerpc-ibm-aix*</b><br> +At least one person as reported problems with older versions of gnu-make on +this platform. make-3.76 is reported to work correctly. + +<p><b>powerpc-*-linux-gnu*</b><br> +You will need +<a href="ftp://ftp.yggdrasil.com/private/hjl">binutils-2.8.1.0.17</a> for +a working egcs. It is strongly recommended to recompile binutils with egcs +if you initially built it with gcc-2.7.2.*. + +<p> +exception handling +<p>XXX Linux stuff +<hr> +<i>Last modified on December 2, 1997.</i> + +</body> +</html> diff --git a/INSTALL/test.html b/INSTALL/test.html new file mode 100644 index 0000000..c77de85 --- /dev/null +++ b/INSTALL/test.html @@ -0,0 +1,37 @@ +<html> +<head> +<title>Testing egcs-1.0 </title> +</head> +<body bgcolor="white"> +<h1 align="center">Testing egcs-1.0</h1> + +<p>Before you install egcs, you might wish to run the egcs testsuite; this +step is optional and may require you to download additional software. + +<p>First, you must have downloaded the egcs testsuites; the full distribution +contains testsuites. If you downloaded the "core" compiler plus any front +ends, then you do not have the testsuites. You can download the testsuites +from the same site where you downloaded the core distribution and language +front ends. + +<p>Second, you must have a new version of dejagnu on your system; dejagnu-1.3 +will not work. We have made a +<a href="ftp://ftp.cygnus.com/pub/egcs/infrastructure/dejagnu-971028.tar.gz"> +dejagnu snapshot</a> available in ftp.cygnus.com:/pub/egcs/infrastructure until +a new version of dejagnu can be released. + +<p>Assuming you've got the testsuites unpacked and have installed an appropriate +dejagnu, you can run the testsuite with "cd <i>objdir</i>; make -k check". +This may take a long time. Go get some lunch. + +<p>The testing process will try to test as many components in the egcs +distrubution as possible, including the C, C++ and Fortran compiler as +well as the C++ runtime libraries. + +<p> How to interpret test results XXX. + +<hr> +<i>Last modified on December 2, 1997.</i> + +</body> +</html> @@ -81,7 +81,7 @@ subdirs= target_alias=NOTARGET target_makefile_frag= undefs=NOUNDEFS -version="$Revision: 1.2 $" +version="$Revision: 1.3 $" x11=default ### we might need to use some other shell than /bin/sh for running subshells @@ -1174,10 +1174,10 @@ EOF # provide a proper gxx_include_dir to all subdirs. # Note, if you change the default, make sure to fix both here # and in the gcc subdirectory. - if test -z "${gxx_include_dir}"; then + if test -z "${with_gxx_include_dir}"; then echo gxx_include_dir = '${prefix}/include/g++' >> ${Makefile} else - echo gxx_include_dir = ${gxx_include_dir} >> ${Makefile} + echo gxx_include_dir = ${with_gxx_include_dir} >> ${Makefile} fi # reset prefix, exec_prefix, srcdir, SUBDIRS, NONSUBDIRS, diff --git a/gcc/ChangeLog b/gcc/ChangeLog index da734b7..fbb01cc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -53,6 +53,12 @@ Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com> * unroll.c (find_splittable_givs): Remove last change. Handle givs with a dest_reg that was created by loop. +Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu> + + * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch. + + * rs6000/aix41.h (ASM_CPU_SPEC): Define. + Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com) * configure.in: Fix NCR entries. @@ -90,6 +96,11 @@ Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com> * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16 byte boundary, and maintain stack backchain. +Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com> + + * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2, + fix_truncsfdi2): Change *. + Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com> * toplev.c (main): Complain about -gdwarfn. diff --git a/gcc/INSTALL b/gcc/INSTALL index 0c646b8..1b1a8c0 100644 --- a/gcc/INSTALL +++ b/gcc/INSTALL @@ -3,6 +3,9 @@ This file documents the installation of the GNU compiler. Copyright may copy, distribute, and modify it freely as long as you preserve this copyright notice and permission notice. +Note most of this information is out of date and superceded by the EGCS +install procedures. It is provided for historical reference only. + Installing GNU CC ***************** @@ -1,4 +1,4 @@ -Noteworthy changes in GCC version 2.8.0: +Noteworthy changes in GCC for EGCS. The -specs=file switch allows you to override default specs used in invoking programs like cc1, as, etc. @@ -14,6 +14,8 @@ The following new targets are supported: Solaris 2.51 running on PowerPC's. Linux running on PowerPC's. Embedded target m32r-elf. + Embedded target arc-elf. + IRIX 6.2 running on MIPS. New features for the Hitachi H8/300(H). @@ -26,6 +28,9 @@ New features for SPARC-based systems: -mcpu=xxx -mtune=xxx + -malign-loops=xxx + -malign-jumps=xxx + -malign-functions=xxx -mimpure-text and -mno-impure-text New features for all rs6000 and PowerPC systems: @@ -56,6 +61,8 @@ or embedded systems: -memb -msim -mmvme + -myellowknife + -mads wchar_t is now of type long, not unsigned short as per ABI. -p/-pg support -mcpu=403 now implies -mstrict-align. @@ -82,6 +89,9 @@ Directory names used for storing the multilib libraries on System V and embedded PowerPC systems have been shortened to work with commands like tar that have fixed limits on pathname size. +The DWARF 2 debugging information format is supported on ELF systems, and +is the default for -ggdb where available. + Noteworthy changes in GCC version 2.7.2: A few bugs have been fixed (most notably the generation of an diff --git a/gcc/ORDERS b/gcc/ORDERS deleted file mode 100644 index 7b5fdee..0000000 --- a/gcc/ORDERS +++ /dev/null @@ -1,4157 +0,0 @@ -The actual order form follows the descriptions of media contents. - -Most of this file is excerpted from the July 1997 GNU's Bulletin. - -Please send suggestions for improvements to gnu@prep.ai.mit.edu or the postal -address at the end of the order form. Thank You. - ------------------------------------------------------------------------------ - - -FSF Order Form with Descriptions July, 1997 - - - -Free Software Foundation, Inc. Telephone: +1-617-542-5942 -59 Temple Place - Suite 330 Fax: (including Japan) +1-617-542-2652 -Boston, MA 02111-1307 Electronic Mail: `gnu@prep.ai.mit.edu' -USA World Wide Web: http://www.gnu.ai.mit.edu - ------------------------------------------------------------------------------ - - - -There are some sections (e.g. ``Forthcoming GNUs'' and ``How to Get GNU -Software'') which are not in this Order Form file. If you wish to see them, -ask gnu@prep.ai.mit.edu for the complete July, 1997 GNU's Bulletin. - - - -Table of Contents ------------------ - - New European Distributor - Donations Translate Into Free Software - Cygnus Matches Donations! - Free Software Redistributors Donate - Help from Free Software Companies - Major Changes in GNU Software and Documentation - The Deluxe Distribution - GNU Documentation - GNU Software - - Program/Package Cross Reference - CD-ROMs - Pricing of the GNU CD-ROMs - What Do the Different Prices Mean? - Why Is There an Individual Price? - Is There a Maximum Price? - January 1997 Compiler Tools Binaries CD-ROM - Source Code CD-ROMs - July 1997 Source Code CD-ROMs - January 1997 Source Code CD-ROMs - CD-ROM Subscription Service - FSF T-shirt - Free Software Foundation Order Form - - ------------------------------------------------------------------------------ - - - -New European Distributor -************************ - -The Free Software Foundation now has a European distribution agent: GNU -Distribution Europe, Belgium. - -Users in European Community countries can order GNU manuals, CD-ROMs and -T-shirts through this distribution agent, and get a lower overall price (due -to reduced shipping costs) and quicker delivery. - -Write to GNU Distribution Europe--Belgium, Sportstaat 28, 9000 Gent, Belgium; -Fax: +32-9-2224976; Phone: +32-9-2227542; Email: -`europe-order@gnu.ai.mit.edu'. - - -Donations Translate Into Free Software -************************************** - -If you appreciate Emacs, GNU CC, Ghostscript, and other free software, you -may wish to help us make sure there is more in the future--remember, -*donations translate into more free software!* - -Your donation to us is tax-deductible in the United States. We gladly accept -*any* currency, although the U.S. dollar is the most convenient. - -If your employer has a matching gifts program for charitable donations, -please arrange to: add the FSF to the list of organizations for your -employer's matching gifts program; and have your donation matched (note *Note -Cygnus Matches Donations!::). If you do not know, please ask your personnel -department. - -Circle amount you are donating, cut out this form, and send it with your -donation to: - - Free Software Foundation, Inc. - 59 Temple Place - Suite 330 - Boston, MA 02111-1307 - USA - - $500 $250 $100 $50 Other $_____ Other currency:_____ - -You can charge a donation to any of Carte Blanche, Diner's Club, JCB, -MasterCard, Visa, or American Express. Charges may also be faxed to -+1-617-542-2652. - - Card type: __________________ Expiration Date: _____________ - - Account Number: _____________________________________________ - - Cardholder's Signature: _____________________________________ - - Name: _______________________________________________________ - - Street Address: _____________________________________________ - - City/State/Province: ________________________________________ - - Zip Code/Postal Code/Country: _______________________________ - - Telephone Number: ___________________________________________ - - Email Address: ______________________________________________ - - - -Cygnus Matches Donations! -************************* - -To encourage cash donations to the Free Software Foundation, Cygnus Solutions -will continue to contribute corporate funds to the FSF to accompany gifts by -its employees, and by its customers and their employees. - -Donations payable to the Free Software Foundation should be sent by eligible -persons to Cygnus Solutions, which will add its gifts and forward the total -to the FSF each quarter. The FSF will provide the contributor with a receipt -to recognize the contribution (which is tax-deductible on U.S. tax returns). -To see if your employer is a Cygnus customer, or for more information, -please contact Cygnus: - - Cygnus Solutions - 1325 Chesapeake Terrace - Sunnyvale, CA 94089 - USA - - Telephone: +1 408 542 9600 - +1 800 Cygnus1 (-294-6871) - Fax: +1 408 542 9700 - Electronic-Mail: `info@cygnus.com' - FTP: `ftp.cygnus.com' - - - -Free Software Redistributors Donate -*********************************** - -The French redistributor PACT has agreed to donate $1.00 for each GNU/Linux -CD that they sell. - -Red Hat Software has agreed to donate $1.00 to the FSF for every copy of Red -Hat Archives sold. They have also added a GNU logo to the back of that CD -with the words "Supports the Free Software Foundation". - -The SNOW 2.1 CD producers added the words "Includes $5 donation to the FSF" -to the front of their CD. Potential buyers will know just how much of the -price is for the FSF & how much is for the redistributor. - -The Sun Users Group Deutschland has made it even clearer: their CD says, -"Price 90 DM, + 12 DM donation to the FSF." We thank them for their -contribution to our efforts. - -Kyoto Micro Computer of Japan regularly gives us 10% of their GNU-related -sales. - -Mr. Hiroshi, Mr. Kojima, and the other authors of the `Linux Primer' in Japan -have donated money from the sales of their book. - -Infomagic has continued to make sizable donations to the FSF. - -At the request of author Arnold Robbins, Specialized Systems Consultants, Inc. -continues to donate 3% of their profits from selling `Effective AWK -Programming'. We would also like to acknowledge the many SSC authors who -have donated their royalties and fees to the FSF. - -In the long run, the success of free software depends on how much new free -software people develop. Free software distribution offers an opportunity to -raise funds for such development in an ethical way. These redistributors -have made use of the opportunity. Many others let it go to waste. - -You can help promote free software development by convincing for-a-fee -redistributors to contribute--either by doing development themselves or by -donating to development organizations (the FSF and others). - -The way to convince distributors to contribute is to demand and expect this -of them. This means choosing among distributors partly by how much they give -to free software development. Then you can show distributors they must -compete to be the one who gives the most. - -To make this work, you must insist on numbers that you can compare, such as, -"We will give ten dollars to the Foobar project for each disk sold." A vague -commitment, such as "A portion of the profits is donated," doesn't give you a -basis for comparison. Even a precise fraction "of the profits from this -disk" is not very meaningful, since creative accounting and unrelated -business decisions can greatly alter what fraction of the sales price counts -as profit. - -Also, press developers for firm information about what kind of development -they do or support. Some kinds make much more long-term difference than -others. For example, maintaining a separate version of a GNU program -contributes very little; maintaining a program on behalf of the GNU Project -contributes much. Easy new ports contribute little, since someone else would -surely do them; difficult ports such as adding a new CPU to the GNU compiler -or Mach contribute more; major new features & programs contribute the most. - -By establishing the idea that supporting further development is "the proper -thing to do" when distributing free software for a fee, we can assure a -steady flow of resources for making more free software. - - - -Help from Free Software Companies -********************************* - -When choosing a free software business, ask those you are considering how -much they do to assist free software development, e.g., by contributing money -to free software development or by writing free software improvements -themselves for general use. By basing your decision partially on this -factor, you can help encourage those who profit from free software to -contribute to its growth. - -Wingnut (SRA's special GNU support group) supports the FSF by purchasing -Deluxe Distribution packages on a regular basis. In this way they transfer -10% of their income to the FSF. Listing them here is our way of thanking -them. - - Wingnut Project - Software Research Associates, Inc. - 1-1-1 Hirakawa-cho, Chiyoda-ku - Tokyo 102, Japan - - Phone: (+81-3)3234-2611 - Fax: (+81-3)3942-5174 - E-mail: `info-wingnut@sra.co.jp' - WWW: `http://www.sra.co.jp/public/sra/product/wingnut/' - - - -Major Changes in GNU Software and Documentation -*********************************************** - - * Hurd Progress (Also *note What Is the Hurd::.) - - We have made three test releases of the Hurd, the most recent being 0.2. - The Hurd is currently much more reliable than previously, and various - utilities and file system translators, such as an FTP file system, have - been written that take advantage of the Hurd's unique design. - - One way for people to help out is to compile and run as much third-party - free software as they can; in this way we can find bugs and deficiencies - with some rapidity. Volunteers with a PC are therefore eagerly sought to - get the 0.2 release and compile their favorite Unix programs and games. - - Daily snapshots of the Hurd sources are now available for those that - want to see the latest (non-stable) version; see the Hurd page on the - FSF Web site, `http://www.gnu.ai.mit.edu', for more information. - - * New Source Code CD! (*note July 1997 Source Code CD-ROMs::.) - - We are releasing the July 1997 (Edition 10) Source Code CD-ROM this - month. Once again, it is a two disk set. It includes several new - packages: `aegis', `cook', `guavac', `lesstif', `prcs', `rsync', `swarm', - & `vera'. On the CD-ROMs are full distributions of X11R6.3,, - Emacs, GCC, and current versions of all other GNU Software. *Note GNU - Software::, for more about these packages. - - * New/Updated Manuals since Last Bulletin (*note Documentation::.) - - Since the last bulletin, we have published several updated editions of - our manuals (note the price changes): `GNU Emacs Manual', revised for - GNU Emacs version 20, now $30; & `Texinfo Manual', for version 3.11 of - Texinfo, now $25. We hope to have the following available very soon: - `GNU Tar manual', first time in print, freshly reorganized and - rewritten, $20; `GNU Software for MS-Windows and MS-DOS', a book and - CD-ROM set with a variety of GNU software compiled for MS-DOS and - Windows 3.1/95/97/NT, $35 ($140 for corporate orders). Watch our Web - site, `http://www.gnu.ai.mit.edu', for announcements of these - publications. - - * Fonts freed - - A free commercial-quality set of the basic 35 Postscript Type 1 fonts is - now finally available. The copyright holder of these fonts, URW++ - Design and Development Incorporated, has decided to release them under - the GPL. Each font includes `.pfb' (outlines), `.afm' (metrics), and - `.pfm' (Windows printer metrics) files. The fonts are compatible with - Adobe Type Manager and with general Type 1 manipulation tools, as well - as with Ghostscript and other Postscript language interpreters. - - The fonts are available in `ghostscript-fonts-4.0.tar.gz' on the usual - FTP sites. - - * DDD now works with LessTif (Also *note GNU Software::.) Release 2.1.1 - of DDD, the Data Display Debugger, now works with LessTif, a free Motif - clone. - - * Give to GNU the United Way! - - As a 501(c)3 tax-exempt organization, the FSF is eligible to receive - United Way funds. When donating to United Way, one can specify that all - or part of the donation be directed to the FSF. On the donor form, - check the "Specific Requests" box and include the sentence, "Send my - gift to the Free Software Foundation, 59 Temple Place, Suite 330, - Boston, MA 02111." We especially appreciate the donations from Microsoft - matching the United Way donations of their employees. Also see *Note - Donations Translate Into Free Software::, and *Note Cygnus Matches - Donations!::. - - * Tapes and MS-DOS Diskettes No Longer Available from the FSF - - We no longer offer tapes or MS-DOS diskettes due to very low demand. - - * GNU Software Works on MS-DOS (Also *note GNU Software::.) - - GNU Emacs 19 and many other GNU programs have been ported to MS-DOS for - i386/i486/Pentium machines. We ship binaries & sources on the *Note - Compiler Tools Binaries CD-ROM::. - - * The FSF Takes Discover - - The Free Software Foundation now accepts the Discover card for orders or - donations. We also accept the following: Carte Blanche, Diner's Club, - JCB, MasterCard, Visa, and American Express. Note that we are charged - about 5% of an order's total amount in credit card processing fees; - please consider paying by check instead or adding on a 5% donation to - make up the difference. We do *not* recommend that you send credit card - numbers to us via email, since we have no way of insuring that the - information will remain confidential. - - * MULE Merge Complete - - MULE is the Multi-Lingual Emacs developed by Ken'ichi Handa at the - Electrotechnical Lab in Tsukuba, Japan. This code has been merged into - Emacs and is included in Emacs 20. - - * GPC, the GNU Pascal Compiler - - The GNU Pascal Compiler (GPC) is part of the GNU compiler family, GNU CC - or GCC. It combines a Pascal front end with the proven GNU compiler - backend for code generation and optimization. Unlike utilities such as - p2c, this is a true compiler, not just a converter. - - Version 2.0 of GPC corresponds to GCC version 2.7.2.1. - - The purpose of the GNU Pascal project is to produce a compiler which: - * combines the clarity of Pascal with powerful tools suitable for - real-life programming, - - * supports both the Pascal standard and the Extended Pascal standard - as defined by ISO, ANSI and IEEE. (ISO 7185:1990, ISO/IEC - 10206:1991, ANSI/IEEE 770X3.160-1989) - - * supports other Pascal standards (UCSD Pascal, Borland Pascal, - Pascal-SC) in so far as this serves the goal of clarity and - usability, - - * can generate code for and run on any computer for which the GNU C - Compiler can generate code and run on. - - The current release (2.0) implements Standard Pascal (ISO 7185, level 0) - and a large subset of Extended Pascal (ISO 10206) and Borland Pascal. - - The upcoming release 2.1 features better conformance to the various - Pascal standards, and of course bug fixes. - - A growing group of GPC enthusiasts contributes to the project with code, - bug reports or fixes. - - `http://agnes.dida.physik.uni-essen.de/~gnu-pascal/', also known as - `http://home.pages.de/~gnu-pascal/', is the GNU Pascal home page; - sources may be downloaded from `ftp://kampi.hut.fi/jtv/gnu-pascal/' - (official) or `ftp://agnes.dida.physik.uni-essen.de/pub/gnu-pascal/' - (development versions). - - * GUILE - - GUILE 1.2 is released. GNU's Ubiquitous Intelligent Language for - Extension is an SCM-based library that can make any ordinary C program - extensible. (For SCM info, see "JACAL" in *Note GNU Software::.) - Nightly snapshots of the development sources are also available, in - `ftp://ftp.red-bean.com/pub/guile/guile-core-snap.tar.gz'. - - Also being developed are SCSH-compatible system call & Tk interfaces, a - module system, dynamic linking support, & a byte-code interpreter. - Support for Emacs Lisp & a more C-like language is coming. - - * A New FSF T-shirt! - - We have a new T-shirt design. *Note FSF T-shirt::, for the description. - - * New free game - - In August 1995, the action game Abuse by Jonathan Clark was released for - the first time. It wasn't free software then--but now, less than two - years later, the company Crack dot Com has rereleased it as free - software. Abuse was initially developed on Linux-based GNU systems, and - we've included it on our our source CD set. - - Beyond providing the free software community with a game that many - people enjoy, and code that could be useful for developing other free - games, this demonstrates an important fact about the economic - circumstances of computer game development: most non-free games bring - their profit in a very short period of time. Therefore, a game company - can turn a game into free software fairly soon, with little hardship. - - Let's hope that other game developers follow this example. - - - -The Deluxe Distribution -*********************** - -The Free Software Foundation has been asked repeatedly to create a package -that provides executables for all of our software. Normally we offer only -sources. The Deluxe Distribution provides binaries with the source code and -includes six T-shirts, all our CD-ROMs, printed manuals, & reference cards. - -The FSF Deluxe Distribution contains the binaries and sources to hundreds of -different programs including Emacs, the GNU C/C++ Compiler, the GNU Debugger, -the complete X Window System, and all the GNU utilities. - -We will make a Deluxe Distribution for most machines/operating systems. We -may be able to send someone to your office to do the compilation, if we can't -find a suitable machine here. However, we can only compile the programs that -already support your chosen machine/system - porting is a separate matter. -(To commission a port, see the GNU Service Directory; details in *Note Free -Software Support::.) Compiling all these programs takes time; a Deluxe -Distribution for an unusual machine will take longer to produce than one for -a common machine. Please contact the FSF Office with any questions. - -We supply the software on a write-once CD-ROM (in ISO 9660 format with "Rock -Ridge" extensions), or on one of these tapes in Unix `tar' format: 1600 or -6250bpi 1/2in reel, Sun DC300XLP 1/4in cartridge - QIC24, IBM RS/6000 1/4in -c.t. - QIC 150, Exabyte 8mm c.t., or DAT 4mm c.t. If your computer cannot -read any of these, please contact us to see if we can handle your format. - -The manuals included are one each of `Bison', `Calc', `GAWK', `GCC', `GNU C -Library', `GDB', `Flex', `GNU Emacs Lisp Reference', `Programming in Emacs -Lisp: An Introduction', `Make', `Texinfo', & `Termcap' manuals; six copies of -the `GNU Emacs' manual; and ten reference cards each for Emacs, Bison, Calc, -Flex, & GDB. - -Every Deluxe Distribution also has a copy of the latest editions of our -CD-ROMs that have sources of our software & compiler tool binaries for some -systems. The CDs are in ISO 9660 format with Rock Ridge extensions. - -The price of the Deluxe Distribution is $5000 (shipping included). These -sales provide enormous financial assistance to help the FSF develop more free -software. To order, please fill out the "Deluxe Distribution" section on the -*note Free Software Foundation Order Form::. and send it to: - - Free Software Foundation, Inc. - 59 Temple Place - Suite 330 - Boston, MA 02111-1307 - USA - - Telephone: +1-617-542-5942 - Fax (including Japan): +1-617-542-2652 - Electronic Mail: gnu@prep.ai.mit.edu - World Wide Web: http://www.gnu.ai.mit.edu - - - -GNU Documentation -***************** - -GNU is dedicated to having quality, easy-to-use online & printed -documentation. GNU manuals are intended to explain underlying concepts, -describe how to use all the features of each program, & give examples of -command use. GNU manuals are distributed as Texinfo source files, which -yield both typeset hardcopy via the TeX document formatting system and online -hypertext display via the menu-driven Info system. Source for these manuals -comes with our software; here are the manuals that we publish as printed -books. *Note Free Software Foundation Order Form::, to order them. - -Most GNU manuals are bound as soft cover books with "lay-flat" bindings. -This allows you to open them so they lie flat on a table without creasing the -binding. They have an inner cloth spine and an outer cardboard cover that -will not break or crease as an ordinary paperback will. Currently, the -`Using and Porting GNU CC', `GDB', `Emacs', `Emacs Lisp Reference', -`Programming in Emacs Lisp: An Introduction', `GNU Awk User's Guide', `Make', -& `Bison' manuals have this binding. Our other manuals also lie flat when -opened, using a GBC binding. Our manuals are 7in by 9.25in except the 8.5in -by 11in `Calc' manual. - -The edition number of the manual and version number of the program listed -after each manual's name were current at the time this Bulletin was published. - -`Debugging with GDB' (for Version 4.16) tells how to run your program under -GNU Debugger control, examine and alter data, modify a program's flow of -control, and use GDB through GNU Emacs. - -The `GNU Emacs Manual' (13th Edition for Version 20) describes editing with -GNU Emacs. It explains advanced features, including international character -sets; outline mode and regular expression search; how to use special -programming modes to write languages like C++ and TeX; how to use the `tags' -utility; how to compile and correct code; how to make your own keybindings; -and other elementary customizations. - -`Programming in Emacs Lisp: An Introduction' (October 1995 Edition 1.04) is -for people who are not necessarily interested in programming, but who do want -to customize or extend their computing environment. If you read it in Emacs -under Info mode, you can run the sample programs directly. - -`The GNU Emacs Lisp Reference Manual' (Edition 2.4 for Version 19.29) and -`The GNU Emacs Lisp Reference, Japanese Edition' (Japanese Draft Revision -1.0, from English Edition 2.4 for Version 19.29) cover this programming -language in depth, including data types, control structures, functions, -macros, syntax tables, searching/matching, modes, windows, keymaps, byte -compilation, and the operating system interface. - -`The GNU Awk User's Guide' (Edition 1.0 for Version 3.0) tells how to use -`gawk'. It is written for those who have never used `awk' and describes -features of this powerful string and record manipulation language. It -clearly delineates those features which are part of POSIX `awk' from `gawk' -extensions, providing a comprehensive guide to `awk' program portability. - -`GNU Make' (Edition 0.51 for Version 3.76 Beta) describes GNU `make', a -program used to rebuild parts of other programs. The manual tells how to -write "makefiles", which specify how a program is to be compiled and how its -files depend on each other. Included are an introductory chapter for novice -users and a section about automatically generated dependencies. - -The `Flex' manual (Edition 1.03 for Version 2.3.7) teaches you to write a -lexical scanner definition for the `flex' program to create a C++ or C-coded -scanner that recognizes the patterns defined. You need no prior knowledge of -scanners. - -`The Bison Manual' (November 1995 Edition for Version 1.25) teaches you how -to write context-free grammars for the Bison program that convert into -C-coded parsers. You need no prior knowledge of parser generators. - -`Using and Porting GNU CC' (November 1995 Edition for Version 2.7.2) tells -how to run, install, and port the GNU C Compiler to new systems. It lists -new features and incompatibilities of GCC, but people not familiar with C -will still need a good reference on the C programming language. It also -covers G++. - -The `Texinfo' manual (Edition 2.24 for Version 3) explains the markup -language that produces our online Info documentation & typeset hardcopies. -It tells you how to make tables, lists, chapters, nodes, accented & special -characters, indexes, cross references, & how to catch mistakes. - -`The Termcap Manual' (3rd Edition for Version 1.3), often described as "twice -as much as you ever wanted to know about termcap," details the format of the -termcap database, the definitions of terminal capabilities, and the process -of interrogating a terminal description. This manual is primarily for -programmers. - -The `C Library Reference Manual' (Edition 0.08 for Version 2.0) describes the -library's facilities, including both what Unix calls "library functions" & -"system calls." We are doing small copier runs of this manual until it -becomes more stable. Please send fixes to `bug-glibc-manual@prep.ai.mit.edu'. - -The `Emacs Calc Manual' (for Version 2.02) is both a tutorial and a reference -manual. It tells how to do ordinary arithmetic, how to use Calc for algebra, -calculus, and other forms of mathematics, and how to extend Calc. - - - -GNU Software -************ - -All our software is available via FTP; see *Note How to Get GNU Software::. -We also offer *Note CD-ROMs::, and printed *Note Documentation::, which -includes manuals and reference cards. In the articles describing the -contents of each medium, the version number listed after each program name -was current when we published this Bulletin. When you order a newer CD-ROM, -some of the programs may be newer and therefore the version number higher. -*Note Free Software Foundation Order Form::, for ordering information. - -Some of the contents of our FTP distributions are compressed. We have -software on our FTP sites to uncompress these files. Due to patent troubles -with `compress', we use another compression program, `gzip'. - -You may need to build GNU `make' before you build our other software. Some -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" and "Automake" 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 Now Available --------------------------- - -For future programs and features, see *Note Forthcoming GNUs::. - -Key to cross reference: - - BinCD January 1997 Binaries CD-ROM - SrcCD July 1997 Source CD-ROMs - -[FSFman] shows that we sell a manual for that package. [FSFrc] shows we sell -a reference card for that package. To order them, *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. - - * `abuse' *Also *note GNUs Flashes::.* (SrcCD) - - The recently-freed program `abuse' is a dark, side-scrolling game with - Robotron-esque controls: you control your movement with the keyboard and - fire & aim with the mouse. You can get more info at - `http://crack.com/games/abuse'. - - * acct (SrcCD) - - acct is a system accounting package. It includes the programs `ac' - (summariize login accounting), `accton' (turn accounting on or off), - `last' (show who has logged in recently), `lastcomm' (show which - commands have been used), `sa' (summarize process accounting), - `dump-utmp' (print a `utmp' file in human-readable format), & - `dump-acct' (print an `acct' or `pacct' file in human-readable format). - - * `acm' (SrcCD) - - `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. - - * aegis (SrcCD) - - Aegis is a transaction-based software configuration management system. - It provides a framework within which a team of developers may work on - many changes to a program concurrently, and Aegis coordinates - integrating these changes back into the master source of the program, - with as little disruption as possible. - - * Apache *Also see* `http://www.apache.org/' (SrcCD) - - Apache is an HTTP server designed as a successor to the NCSA family of - Web servers. It adds a significant amount of new functionality, has an - extensive API for modular enhancements, is extremely flexible without - compromising speed, and has an active development group and user - community. - - * Autoconf (SrcCD) - - 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. - - * Automake (SrcCD) - - Automake is a tool for generating `Makefile.in' files for use with - Autoconf. The generated makefiles are compliant with GNU Makefile - standards. - - * BASH (SrcCD) - - 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 (SrcCD) - - `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, 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, SrcCD) - - Binutils includes these programs: `addr2line', `ar', `c++filt', `gas', - `gprof', `ld', `nm', `objcopy', `objdump', `ranlib', `size', `strings', & - `strip'. - - Binutils version 2 uses the BFD library. The GNU assembler, `gas', - supports the a29k, Alpha, ARM, D10V, H8/300, H8/500, HP-PA, i386, i960, - M32R, m68k, m88k, MIPS, Matsushita 10200 and 10300, NS32K, PowerPC, - RS/6000, 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', supports - shared libraries on many systems, 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. `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, SrcCD) [FSFman, FSFrc] - - Bison is an upwardly compatible replacement for the parser generator - `yacc'. Texinfo source for the `Bison Manual' and reference card are - included. - - * C Library (`glibc') (BinCD, SrcCD) [FSFman] - - The GNU C library supports ISO C-1989, ISO C/amendment 1-1995, POSIX - 1003.1-1990, POSIX 1003.1b-1993, POSIX 1003.1c-1995 (when the underlying - system permits), & most of the functions in POSIX 1003.2-1992. It is - nearly compliant with the extended XPG4.2 specification which guarantees - upward compatibility with 4.4BSD & many System V functions. - - When used with the GNU Hurd, the C Library performs many functions of the - Unix system calls directly. Mike Haertel has written a fast `malloc' - which wastes less memory than the old GNU version. - - GNU `stdio' lets you define new kinds of streams, just by writing a few - C functions. Two methods for handling translated messages help writing - internationalized programs & the user can adopt the environment the - program runs in to conform with local conventions. Extended `getopt' - functions are already used to parse options, including long options, in - many GNU utilities. The name lookup functions now are modularized which - makes it easier to select the service which is needed for the specific - database & the document interface makes it easy to add new services. - Texinfo source for the `GNU C Library Reference Manual' is included - (*note Documentation::.). - - Previous versions of the GNU C library ran on a large number of systems. - The architecture-dependent parts of the C library have not been updated - since development on version 2.0 started, so today it runs out of the - box only on GNU/Hurd (all platforms GNU/Hurd also runs on) & GNU/Linux - (ix86, Alpha, m68k, MIPS, Sparc, PowerPC; work is in progress for ARM). - Other architectures will become available again as soon as somebody does - the port. - - * C++ Library (`libg++') (BinCD, SrcCD) - - The GNU C++ library (traditionally called `libg++') includes libstdc++, - which implements the library facilities defined by the forthcoming ISO - C++ standard. This includes strings, iostream, and various container - classes. All of this is templatized. - - The package also contains the older libg++ library for backward - compatibility, but new programs should avoid using it. - - * Calc (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 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) - - `cfengine' is used to maintain site-wide configuration of a - heterogeneous Unix network using a simple high level language. Its - appearance is similar to `rdist', but 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) - - GNU Chess enables you to play a game of chess with a computer instead of - a person. It is useful to practice with when there are significant - spare cpu cycles and a real person is unavailable. - - The program offers a plain terminal interface, one using curses, and a - reasonable X Windows interface `xboard'. Best results are obtained by - compiling with GNU C. - - Improvements this past year are in the Windows-compatible version, - mostly bugfixes. - - Stuart Cracraft started the GNU mascot back in the mid-1980's. John - Stanback (and innumerable contributors) are responsible for GNU's brain - development and its fair play. Acknowledgements for the past year's - work are due Conor McCarthy. - - Send bugs to `bug-gnu-chess@prep.ai.mit.edu' & general comments to - `info-gnu-chess@prep.ai.mit.edu'. Visit the author's Web site at - `http://www.earthlink.net/~cracraft/index.html'. Play GNU Chess on the - Web at `http://www.delorie.com/game-room/chess'. - - * CLISP (SrcCD) - - CLISP is a Common Lisp implementation by Bruno Haible & Michael Stoll. - It mostly supports the Lisp described by `Common LISP: The Language (2nd - edition)' & the ANSI Common Lisp standard. CLISP includes an - interpreter, a byte-compiler, a large subset of CLOS & a foreign language - interface. The user interface language (English, German, French) can be - chosen at run time. An X11 API is available through CLX & Garnet. - CLISP needs only 2 MB of memory & runs on all kinds of Unix systems & on - many microcomputers (including MS-DOS systems, OS/2, Windows NT, Windows - 95, Amiga 500-4000, & Acorn RISC PC). See also item "Common Lisp", - which describes GCL, a complete Common Lisp implementation with compiler. - - * CLX (SrcCD) - - CLX is an X Window interface library for GCL. This is separate from the - built-in TK interface. - - * Common Lisp (`gcl') (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). - - GCL version 2.2.2 is released under the GNU Library General Public - License. - - * cook (SrcCD) - - Cook is a tool for constructing files, and maintaining referential - integrity between files. It is given a set of files to create, and - recipes of how to create and maintain them. In any non-trivial program - there will be prerequisites to performing the actions necessary to - creating any file, such as include files. The `cook' program provides a - mechanism to define these. - - Some features which distinguish Cook include a strong procedural - description language, and fingerprints to supplement file modification - time stamps. There is also a `make2cook' utility included to ease - transition. - - * `cpio' (SrcCD) - - `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) - - CVS is a version control system (like RCS or SCCS) which allows you to - keep old versions of files (usually source code), keep a log of who, - when, and why changes occurred, etc. It handles multiple developers, - multiple directories, triggers to enable/log/control various operations, - and can work over a wide area network. It does not handle build - management or bug-tracking; these are handled by `make' and GNATS, - respectively. - - * `cxref' (SrcCD) - - `cxref' is a program that will produce documentation (in LaTeX or HTML) - including cross-references from C program source code. It has been - designed to work with ANSI C, incorporating K&R, and most popular GNU - extensions. The documentation for the subject program is produced from - comments in the code that are appropriately formatted. The cross - referencing comes from the code itself and requires no extra work. - - * DDD (SrcCD) - - The Data Display Debugger (DDD) is a common graphical user interface to - GDB, DBX, and XDB, the popular Unix debuggers. DDD provides a graphical - data display where complex data structures can be explored incrementally - and interactively. DDD has been designed to compete with well-known - commercial debuggers; as of release 2.1.1, DDD also compiles and runs - with LessTif, a free Motif clone, without loss of functionality. For - more details, see the DDD WWW page at - `http://www.cs.tu-bs.de/softech/ddd/'. - - * DejaGnu (SrcCD) - - DejaGnu is a framework to test programs with a single front end for all - tests. DejaGnu's flexibility & consistency makes it easy to write tests. - DejaGnu will also work with remote hosts and embedded systems. - - DejaGnu comes with `expect', which runs scripts to conduct dialogs with - programs. - - * Diffutils (SrcCD) - - GNU `diff' compares files showing line-by-line changes in several - flexible formats. It is much faster than traditional Unix versions. The - Diffutils package has `diff', `diff3', `sdiff', & `cmp'. Future plans - include support for internationalization (e.g., error messages in - Chinese) & some non-Unix PC environments, & a library interface that can - be used by other free software. - - * DJGPP *Also see "GCC" below* (BinCD) - - DJ Delorie has ported GCC/G++ to i386s running 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). Version 2 was released in Feb. 1996, - & needs a DPMI environment; a free DPMI server is included. - - WWW at `http://www.delorie.com/djgpp/' or FTP from `ftp.simtel.net' in - `/pub/simtelnet/gnu/djgpp/' (or a SimTel mirror site). - - Ask `listserv@delorie.com', to join a DJGPP users mailing list. - - * `dld' (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. `dld' supports a.out object types on the following - platforms: Convex C-Series (BSD), i386/i486/Pentium (GNU/Linux), Sequent - Symmetry i386 (Dynix 3), Sun-3 (SunOS 3 & 4), Sun-4 (SunOS 4), & VAX - (Ultrix). - - * `doschk' (SrcCD) - - 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. - - * `ed' (SrcCD) - - `ed' is the standard text editor. It is line-oriented and can be used - interactively or in scripts. - - * Elib (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 *Also *note GNUs Flashes::.* [FSFman(s), FSFrc] - - 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 or 95. In - addition to its powerful native command set, Emacs can 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. Sources for the - `GNU Emacs Lisp Reference Manual', & `Programming in Emacs Lisp: An - Introduction' are distributed in separate packages. *Note - Documentation::. - - * Emacs 20 (SrcCD) [FSFman(s), FSFrc] - - Emacs 20.1 was just released recently. Its main new features include - support for many languages and many character codes (the MULE facility) - and a new convenient customization feature. The text-filling commands - handle indented and bulleted paragraphs conveniently; there are new help - facilities for looking up documentation about functions and symbols in - various languages. A new method of file-locking works even when using - NFS. Some dired commands have been made more systematic. - - We believe Emacs 20 operates on the same systems as Emacs 19, but we do - not have confirmation for all of them. - - * Emacs 19 (SrcCD) [FSFman(s), FSFrc] - - Emacs 19 works with character-only terminals & with the X Window System - (with or without an X toolkit). It also runs on MS-DOS, MS Windows, and - with multiple-window support on MS Windows 95/NT. - - Emacs 19 works on: Acorn RISC (RISCiX); Alliant FX/2800 (BSD); Alpha - (OSF/1 or GNU/Linux); 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); Harris Night Hawk Power PC (powerunix); Honeywell - XPS100 (SysV); HP 9000 series 200, 300, 700, 800 (but not 500) (4.3BSD; - HP-UX 7, 8, 9; NextStep); Intel i386/i486/Pentium (GNU/Hurd, GNU/Linux, - 386BSD, AIX, BSDI/386, FreeBSD, Esix, ISC, MS-DOS, NetBSD, SCO3.2v4, - Solaris, SysV, Xenix, WindowsNT, Windows95); 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). - - * Emacs 18 (SrcCD) [FSFrc] - - Emacs 18 is several years old. We no longer maintain it, but still - distribute it for those using platforms which Emacs 19 does not support. - - * `enscript' (SrcCD) - - `enscript' is an upwardly-compatible replacement for the Adobe - `enscript' program. It formats ASCII files (outputting in Postscript) - and stores generated output to a file or sends it directly to the - printer. - - * `es' (SrcCD) - - `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. - - * Exim (SrcCD) - - Exim is a new Internet mail transfer agent, similar in style to Smail 3. - It can handle relatively high volume mail systems, header rewriting, - control over which hosts/nets may use it as a relay, blocking of - unwanted mail from specified hosts/nets/senders, and multiple local - domains on one mail host ("virtual domains") with several options for - the way these are handled. - - * `f2c' *Also see "Fortran" below & in *Note Forthcoming GNUs::.* - (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.bell-labs.com' - or by email from `netlib@netlib.bell-labs.com'. For a summary, see the - file `/netlib/f2c/readme.gz'. - - * `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 (SrcCD) - - The Fileutils are: `chgrp', `chmod', `chown', `cp', `dd', `df', `dir', - `dircolors', `du', `install', `ln', `ls', `mkdir', `mkfifo', `mknod', - `mv', `rm', `rmdir', `sync', `touch', & `vdir'. - - * Findutils (SrcCD) - - `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) - - 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, SrcCD) [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::.). - - * Fontutils (SrcCD) - - 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), etc. It includes: `bpltobzr', `bzrto', - `charspace', `fontconvert', `gsrenderfont', `imageto', `imgrotate', - `limn', & `xbfe'. - - * Fortran (`g77') *Also *note Forthcoming GNUs::.* (BinCD, 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'). - - * `gawk' (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 `The GNU Awk User's - Guide' comes with the software (*note Documentation::.). - - * `gcal' (SrcCD) - - `gcal' is a program for printing calendars. It displays different - styled calendar sheets, eternal holiday lists, and fixed date warning - lists. - - * GCC (BinCD, SrcCD) [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. (Also see "GNAT" later in this article for Ada language - supports.) 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::.) G++ seeks to be compliant with - the ANSI C++ language standard. See - `http://www.cygnus.com/misc/wp/index.html' for the latest draft. - - GCC is a fairly portable optimizing compiler which performs many - optimizations. They include: automatic register allocation, common - sub-expression elimination (CSE) (including a certain amount of CSE - between basic blocks - though not all the supported machine descriptions - provide for scheduling or delay slots), invariant code motion from - loops, induction variable optimizations, constant propagation, copy - propagation, delayed popping of function call arguments, tail recursion - elimination, integration of inline functions & frame pointer elimination, - instruction scheduling, loop unrolling, filling of delay slots, leaf - function optimization, optimized multiplication by constants, the - ability to assign attributes to instructions, & many local optimizations - 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. - - Texinfo source for the `Using and Porting GNU CC' manual is included - with GCC (*note Documentation::.). - - * GDB (BinCD, SrcCD) [FSFman, FSFrc] - - GDB, the GNU DeBugger, is a source-level debugger for C, C++, & Fortran. - It provides partial support for Modula-2 & Chill. - - GDB can debug both C & C++, & will work with executables made by many - different compilers; but, C++ debugging will have some limitations if - you do not use GCC. - - GDB has a command line user interface, and Emacs has GDB mode as an - interface. 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 - includes simulators for the ARM, Hitachi H8/300, Hitachi SH, & PowerPC. - - 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 (AmigaOS, Amix, NetBSD), DEC Alpha - (OSF/1), DECstation 3100 & 5000 (Ultrix), HP 9000/300 (BSD, HP-UX), - HP 9000/700 (HP-UX 9, 10), i386/i486/Pentium (GNU/Hurd, GNU/Linux, - BSD, FreeBSD, LynxOS, NetBSD, SCO, Windows NT), IBM RS/6000 (AIX - 3.x, AIX 4.x, LynxOS), Motorola Delta m88k (System V, CX/UX), - Motorola m68k MVME-167 (LynxOS), NCR 3000 (SVR4), PC532 (NetBSD), - PowerPC (AIX 4.x, MacOS, Windows NT), SGI (Irix V3, V4, V5), SONY - News (NewsOS 3.x), SPARC (LynxOS, NetBSD, Solaris 2.x, & SunOS 4.1), - & Sun-3 (SunOS 4.1). - - * "target", but not "host": AMD 29000, ARM (RDP), Fujitsu SPARClite, - Hitachi H8/300, Hitachi SH (CMON, SH3, E7000), HP PA Pro (Winbond, - Oki), i960 (MON960, Nindy, VxWorks), m68k/m68332 (CPU32BUG, EST, - ROM68K, VxWorks), Matra Sparclet, MIPS (IDT, PMON, VxWorks), - PowerPC (PPCBug), & Z8000. - - * "host", but not "target": HP/Apollo 68k (BSD), IBM RT/PC (AIX), & - m68k Apple Macintosh (MacOS). Sources for the manual, - `Debugging with GDB', and a reference card are included (*note - Documentation::.). - - * `gdbm' (SrcCD) - - `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). - - * Generic NQS (SrcCD) - - Generic NQS is a network queuing system for spreading batch jobs across a - network of machines. It is designed to be simple to install on a - heterogeneous network of machines, and has optimizations for running on - the high end, symmetric multiprocessing servers that are currently on the - market. It is available for many more Unix variants than any other - comparable product, and inter-operates with other NQS systems, including - Cray's NQE. - - * `geomview' *See* `http://www.geom.umn.edu/software/geomview' (SrcCD) - - `geomview' is an interactive geometry viewing program, for Unix systems - with Motif, using X, GL, or OpenGL graphics. It allows multiple - independently controllable objects and cameras. External programs may - drive desired aspects of the viewer, e.g. loading changing geometry or - controlling motion, while allowing interactive mouse-and-GUI control of - everything else. Controllable features include motion, appearance - (wireframe, shading, lighting and material properties), mouse-based - selection, snapshoting (PPM or SGI image, Postscript, and RenderMan - formats), display in hyperbolic and spherical spaces, and projection - from higher dimensions. Includes converters to display Mathematica and - Maple 3-D graphics, and limited conversion to/from VRML. - - * `gettext' *Also *note Help the Translation Project::.* (SrcCD) - - The GNU `gettext' tool set has everything maintainers need to - internationalize a package's user messages. Once a package has been - internationalized, `gettext''s many tools help translators localize - messages to their native language and automate handling the translation - files. - - * `gforth' (SrcCD) - - `gforth' is a fast, portable implementation of the ANS Forth language. - - * Ghostscript (SrcCD) - - Ghostscript is an interpreter for the Postscript and PDF graphics - languages. - - The current version of GNU Ghostscript, 3.53, includes a Postscript - Level 2 interpreter and a PDF 1.1 interpreter (except for encryption). - Significant new features include the ability to convert PDF to - Postscript. - - Ghostscript executes commands in the Postscript and PDF languages 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 runs on - MS-DOS, MS Windows, OS/2, OpenVMS, and Mac OS (native on both 68K and - PowerPC) (but please do *not* ask the FSF staff any questions about this; - we do not use these operating systems). - - * Ghostview (SrcCD) - - 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) - - The GNU Interactive Tools package includes: 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' (SrcCD) - - GNU `mp' is a library for arithmetic on arbitrary precision integers, - rational numbers, and floating-point numbers. It has a rich set of - functions with a regular interface. - - A major new release, version 2, came out in Spring '96. Compared to - previous versions, it is much faster, contains lots of new functions, & - has support for arbitrary precision floating-point numbers. - - * GN (SrcCD) - - GN is a gopher/HTTP server. - - * 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. - - * GNAT: The GNU Ada Translator (SrcCD) - - GNAT, a front end for the entire Ada 95 language, including all special - needs annexes, is available via anonymous FTP from `cs.nyu.edu' and - various mirror sites in `/pub/gnat'. SGI, DEC, and Siemens Nixdorf have - chosen GNU Ada 95 as the Ada compiler for some of their systems. GNAT - is maintained by Ada Core Technologies. For more information, see - `http://www.gnat.com'. - - * GNATS (SrcCD) - - GNATS, GNats: A Tracking System, is a bug-tracking system. It is based - upon the paradigm of a central site or organization which receives - problem reports and negotiates their resolution by electronic mail. - Although it 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. - - * GnuGo (SrcCD) - - GnuGo plays the game of Go. It is not yet very sophisticated. - - * GNUMATH (`gnussl') (SrcCD) - - GNUMATH is a library (`gnussl') that simplifies scientific programming - in C & C++. Its focus is on problems that can be solved by a - straight-forward application of numerical linear algebra. It also - handles plotting. It is in beta release; it is expected to grow more - versatile & offer a wider scope in time. - - * `gnuplot' (SrcCD) - - `gnuplot' is an interactive program for plotting mathematical - expressions and data. It plots both curves (2 dimensions) & surfaces (3 - dimensions). It was neither written nor named for the GNU Project; the - name is a coincidence. Various GNU programs use `gnuplot'. - - * `gnuserv' (SrcCD) - - `gnuserv' is an 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. - - * `gpc' *Also *note GNUs Flashes::.* (SrcCD) - - `gpc' is the GNU Pascal Compiler. - - * grep (SrcCD) - - 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 (SrcCD) - - 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, the LaserJet 4 series of printers, 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.7.2 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'. - - * `guavac' (SrcCD) - - `guavac' is a new free compiler for the Java language. - - * GUILE *Also *note GNUs Flashes::.* (SrcCD) - - GUILE is GNU's Ubiquitous Intelligent Language for Extension, an - interpreter for the Scheme programming language, packaged as a library - that you can link into your programs to make them extensible. - - * `gzip' (BinCD, SrcCD) - - `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' (SrcCD) - - 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) - - 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 *Also see* `http://www.vix.com/hylafax/' (SrcCD) - - 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. - - * Hyperbole (SrcCD) - - Hyperbole, written by Bob Weiner in Emacs Lisp, is an open, efficient, - programmable information management, autonumbered outliner, & hypertext - system, intended for everyday work on any platform Emacs runs on. - - * ID Utils (SrcCD) - - ID Utils is a package of simple, fast, high-capacity, - language-independent tools that index program identifiers, literal - numbers, or words of human-readable text. Queries can be issued from - the command-line, or from within Emacs, serving as an augmented tags - facility. - - * `indent' (SrcCD) - - GNU `indent' formats C source code into the GNU, BSD, K&R, or your own - special indentation style. GNU `indent' is more robust & provides more - functionality than other such programs, including handling C++ comments. - It runs on Unix, Windows, VMS, ATARI and other systems. - - The next version which formats C++ source code will soon be released. - - * Inetutils (SrcCD) - - Inetutils has common networking utilities & servers. - - Version 1.3a is more portable than previous releases: Inetutils now - works on GNU/Linux and SunOS/Solaris systems, although it still requires - a system with some degree of BSD compatibility. This release also has - many security holes plugged. - - * Ispell (SrcCD) - - 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. - - * JACAL *Not available from the FSF except by FTP* - - JACAL is a symbolic mathematics system for the manipulation & - simplification of algebraic expressions & equations. - - The FSF is not distributing JACAL on any physical media. You can FTP it, - or visit the Web site `http://www-swiss.ai.mit.edu/~jaffer/JACAL.html'. - - * jargon (SrcCD) - - The jargon file is the online version of `The New Hacker's Dictionary'. - - * Karma (SrcCD) - - Karma is a signal and image processing library and visualization toolkit - that provides interprocess communications, authentication, graphics - display, and user interface to and manipulation of the Karma network - data structure. Several foreign data formats are also supported. Karma - comes packaged with a number of generic visualization tools and some - astronomy-specific tools. - - * `less' (SrcCD) - - `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. - - * LessTif (SrcCD) - - LessTif is a free clone of Motif. - - * Libtool (SrcCD) - - GNU libtool is a generic library support script which manages the - complexity of building and linking against shared libraries. Libtool - allows source code package maintainers to easily add shared library - support without breaking static-only platform compatibility. - - Libtool supports building static libraries on all known platforms. - Shared library support has been implemented for several platforms. - - * Lynx *Also see* `http://lynx.browser.org' (SrcCD) - - Lynx is a text-only World Wide Web browser for those running - character-only ("cursor-addressable") terminals or terminal emulators. - - * `m4' (SrcCD) - - 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, SrcCD) [FSFman] - - GNU `make' supports POSIX 1003.2 and has all but a few obscure features - of the BSD and System V versions of `make', and runs on MS-DOS, - AmigaDOS, VMS, & Windows NT or 95, as well as all Unix-compatible - systems. GNU extensions include long options, parallel compilation, - flexible implicit pattern rules, conditional execution, & powerful text - manipulation functions. Source for the `Make Manual' comes with the - program (*note Documentation::.). - - * MandelSpawn (SrcCD) - - A parallel Mandelbrot generation program for the X Window System. - - * Maxima (SrcCD) - - Maxima is a Common Lisp implementation of MIT's Macsyma system for - computer based algebra. - - * MCSim (SrcCD) - - MCSim is a general purpose modeling and simulation program which also - performs standard or Markov chain Monte Carlo simulations. It allows - you to specify a set of linear or nonlinear equations (eventually - differential), and solve them using parameter values you choose or - parameter values sampled from specified statistical distributions. - Simulation outputs can be compared to experimental data for parameter - estimation. - - * Meta-HTML (SrcCD) - - <Meta-HTML> is a programming language specifically designed for working - within the World Wide Web environment. Although it is a genuine - programming language, suitable for large-scale symbolic manipulation, it - provides the most commonly wanted Web functionality as built-in - primitives, so you don't have to write them. - - * Midnight Commander (`mc') (SrcCD) - - The Midnight Commander is a user friendly & colorful Unix file manager & - shell, useful to novice & guru alike. It has a built-in virtual file - system that manipulates files inside tar files or files on remote - machines using the FTP protocol. This mechanism is extendable with - external Unix programs. - - * Miscellaneous Files Distribution (SrcCD) - - The GNU Miscellaneous Files are non-crucial files that are common on - various systems, including word lists, airport codes, ZIP codes etc. - - * `mkisofs' (SrcCD) - - `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). - - The `mkisofs' program is often used with `cdwrite'. The `cdwrite' - program works by taking the image that `mkisofs' generates and driving a - cdwriter drive to actually burn the disk. `cdwrite' works under - GNU/Linux, and supports popular cdwriter drives. Older versions of - `cdwrite' were included with older versions of `mkisofs'; - `sunsite.unc.edu' has the latest version: - `/pub/Linux/utils/disk-management/cdwrite-2.0.tar.gz'. - - * `mtools' (SrcCD) - - `mtools' is a collection of utilities to access MS-DOS disks from Unix - without mounting them. It supports Windows 95 style long file names, - OS/2 Xdf disks, ZIP/JAZ disks and 2m disks (store up to 1992k on a high - density 3 1/2 disk). - - * MULE *Also *note GNUs Flashes::.* (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. *Note GNU & Other Free Software in Japan::, for more - information about MULE. - - The version 20 release of Emacs includes the MULE features, making MULE - itself obsolete. - - * `mutt' *Also see* `http://www.cs.hmc.edu/~me/mutt' (SrcCD) - - Mutt is a small but very powerful mail client: a hybrid, or "mutt," - consisting of features from various other curses-based e-mail clients. - - * NetHack (SrcCD) - - NetHack is a display-oriented adventure game similar to Rogue. ASCII, - X11, and various PC based GUI displays are supported. - - NetHack runs on GNU/Linux, Amiga, Atari, BeBox, Mac, MS Windows, MS-DOS, - OS/2, Unix, VMS, and Windows NT. - - The current release of NetHack is 3.2.2. Bug reports concerning NetHack - should be sent to `nethack-bugs@linc.cis.upenn.edu'. - - * NIH Class Library (SrcCD) - - The NIH Class Library is a set of C++ classes (similar to - Smalltalk-80's) written in C++ by Keith Gorlen of the National Institutes - of Health (NIH). - - * `nvi' (SrcCD) - - `nvi' is an implementation of the `ex'/`vi' Unix editor. It has all the - functionality of the original `ex'/`vi', except `open' mode & the `lisp' - edit option. Enhancements include multiple buffers, command-line - editing & path completion, integrated Perl5 & Tcl scripting languages, - Cscope support & tag stacks, 8-bit data support, infinite file/line - lengths, infinite undo, language catalogs, incremental search, extended - regular expressions, and security fixes. It uses Autoconf for - configuration and runs on any Unix-like system. - - * Oaklisp (SrcCD) - - Oaklisp is a fast, portable, object-oriented Scheme with first class - types. - - * Objective-C Library (SrcCD) - - Our Objective-C Class Library (`gstep-base.tar.gz', `libgnustep-base') - has general-purpose, non-graphical Objective-C objects written by Andrew - McCallum & others. It includes collection classes for maintaining - groups of objects, I/O streams, coders for formatting objects & C types - to streams, ports for network packet transmission, distributed objects - (remote object messaging), string classes, invocations, notifications, - event loops, timers, exceptions, pseudo-random number generators, & - more. It has the base classes for the GNUstep project; all but a few of - them have already been written. Send queries & bugs to - `mccallum@gnu.ai.mit.edu'. See "GNUstep" in *Note Forthcoming GNUs::. - - * OBST (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 *Also see* `http://www.che.wisc.edu/octave' (SrcCD) - - 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'. - - Version 2.0.9 of Octave was released in July. It includes support for - dynamically linked functions, user-defined data types, many new - functions, & a completely revised manual. Octave works on most Unix - systems, OS/2, and Windows NT/95. - - * Oleo (SrcCD) - - 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' (SrcCD) - - `p2c' is Dave Gillespie's Pascal-to-C translator. It inputs many - dialects (HP, ISO, Turbo, VAX, etc.) & generates readable, - maintainable, portable C. - - * `patch' (SrcCD) - - `patch' applies `diff''s output to a set of original files to generate - the modified versions. Recent versions of GNU `patch' can update binary - files, and can remove files and directories when they become obsolete. - - * PCL (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' (SrcCD) - - Larry Wall's `perl' combines the features & capabilities of C, `sed', - `awk', & `sh', and provides interfaces to the Unix system calls & many C - library routines. - - * `phttpd' (SrcCD) - - `phttpd' is a high speed World Wide Web server using multithreading, - memory mapping, and dynamic linking to achieve its goals of high speed, - scalability, and light weight. It is currently supported only on - Solaris (SunOS5). - - * plotutils (SrcCD) - - The GNU plotutils (plotting utilities) package includes `libplot', a - subroutine library for producing 2-D device-independent vector graphics, - and `graph', a sample application for plotting 2-D scientific data that - is built on top of `libplot'. Supported devices include X Window System - displays, Postscript devices, and Tektronix emulators. `xfig' output - format, which can be edited with the free graphics editor `xfig', is - also supported. The Postscript output format includes directives which - allow it to be edited with the `idraw' graphics editor. Included with - `graph' are `spline', a program that uses splines in tension to - interpolate data, and `ode', an application that will numerically - integrate a system of ordinary differential equations. - - * PRCS (SrcCD) - - PRCS, the Project Revision Control System, is a version control program - with purpose similar to that of CVS. It was designed with simplicity in - mind. Like CVS, PRCS uses RCS to accomplish this task, but this is - inconsequential to the user, as RCS is completely hidden beneath a layer - of abstraction. - - * `ptx' (SrcCD) - - GNU `ptx' is our version of the traditional permuted index generator. - It handles multiple input files at once, has TeX compatible output, & - outputs readable "KWIC" (KeyWords In Context) indexes without using - `nroff'. Plans are to merge this package into `textutils'. - - It does not yet handle input files that do not fit in memory all at once. - - * `rc' (SrcCD) - - `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) - - RCS, the Revision Control System, is used for version control & - management of software projects. Used with GNU `diff', RCS can handle - binary files (8-bit data, executables, object files, etc). RCS now - conforms to GNU configuration standards & to POSIX 1003.1b-1993. Also - see the CVS item above. - - * `readline' (BinCD, SrcCD) - - Brian Fox wrote the `readline' library one weekend in 1987, so that the - FSF would have a clean Emacs-like line editing facility that could be - used across multiple programs. After installing it in Bash, he went on - to test the reusability of the code by adding it to GDB, and then later, - to the GNU FTP client. The library supplies many entry points--the - simplest interface gives any program the ability to store a history of - input lines, and gives the end user a complete Emacs-like (or vi-like) - editing capability over the input, simply by replacing calls to `gets' - with calls to `readline'. - - * `recode' *Also *note Forthcoming GNUs::.* (SrcCD) - - 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' (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 many cases; - we were planning to replace `regex' with `rx', but it is not certain - this will happen. - - * Roxen (SrcCD) - - Roxen is a modularized, object-oriented, non-forking World Wide Web - server with high performance and throughput, and capabilities for on the - fly image generation (`http://www.roxen.com'). It was formerly named - Spinner, but was renamed for trademark reasons. - - * `rsync' (SrcCD) - - `rsync' is a replacement for `rcp' that has many more features. `rsync' - uses the "rsync algorithm", which provides a very fast method for - synchronizing large remote files, sending only the differences across - the link. It does not require both versions of a file to be local in - order to compute the differences. A technical report describing the - rsync algorithm is included with the package. - - * `rx' (SrcCD) - - Tom Lord has written `rx', a new regular expression library which is - generally faster and more correct than the older GNU `regex' library. - - * SAOimage (SrcCD) - - SAOimage is an X-based astronomical image viewer. It reads array data - images, which may be in specific formats, and displays them with a - pseudocolor colormap. There is full interactive control of the - colormap, panning and zooming, graphical annotation, and cursor tracking - in pixel and sky coordinates, among other features. - - * `screen' (SrcCD) - - `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' (SrcCD) - - `sed' is a stream-oriented version of `ed'. It comes with the `rx' - library. - - * Sharutils (SrcCD) - - `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 which transform - files into a format that can be safely transmitted across a 7-bit ASCII - link. - - * Shellutils (SrcCD) - - The Shellutils are: `basename', `chroot', `date', `dirname', `echo', - `env', `expr', `factor', `false', `groups', `hostname', `id', `logname', - `nice', `nohup', `pathchk', `printenv', `printf', `pwd', `seq', `sleep', - `stty', `su', `tee', `test', `true', `tty', `uname', `uptime', `users', - `who', `whoami', & `yes'. - - * Shogi (SrcCD) - - 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 photorealistically rendering 3D scenes. Scenes can - be illuminated by an arbitrary number of light sources; they are built up - of object hierarchies, with arbitrarily many subobjects and subsurfaces. - Surfaces can be rendered with either Phong, Gouraud, or flat shading. - The library supports programmable shaders and texture mapping. - - * Smail (SrcCD) - - Smail is a mail transport system, designed as a compatible drop-in - replacement for `sendmail'. It uses a much simpler configuration format - than `sendmail' and is designed to be setup with minimal effort. - - * Smalltalk (SrcCD) - - GNU Smalltalk is an interpreted object-oriented programming language - system written in highly portable C. It has been ported to MS-DOS, many - Unixes, & 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. - - * `spell' (SrcCD) - - GNU `spell' is a clone of standard Unix `spell', implemented as a - wrapper to `ispell'. - - * `stow' (SrcCD) - - `stow' manages the installation of multiple software packages, keeping - them separate while making them appear (via symbolic links) to be - installed in the same place. For example, Emacs can be installed in - `/usr/local/stow/emacs' and Perl in `/usr/local/stow/perl', permitting - each to be administered separately, while with `stow' they will both - appear to be installed in `/usr/local'. - - * Superopt (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 & 960, - Pyramid, DEC Alpha, Hitachi SH, & HP-PA. - - * Swarm (SrcCD) - - Swarm is a software package for multi-agent simulation of complex systems - being developed at The Santa Fe Institute. Swarm is intended to be a - useful tool for researchers in a variety of disciplines, especially - artificial life. The basic architecture of Swarm is the simulation of - collections of concurrently interacting agents: with this architecture, - a large variety of agent based models can be implemented. - - * `tar' (BinCD, SrcCD) - - 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) [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) - - 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 (SrcCD) - - TeX is a document formatter that is used, among other things, by the FSF - for all its printed documentation. You will need it if you want to make - printed manuals. See `http://www.tug.org/web2c/'. - - The Source Code CD-ROM contains a minimal TeX collection, sufficient to - process Texinfo files. For a complete TeX distribution, including both - sources and precompiled binaries for many platforms, consider teTeX. - This is available on CD-ROM (see `http://www.tug.org/texlive.html'), or - by FTP. The FTP instructions change too frequently to include them here; - see `ftp://ftp.tug.org/tex/unixtex.ftp'. - - * Texinfo (SrcCD) [FSFman] - - Texinfo is a set of utilities (`makeinfo', `info', `install-info', - `texi2dvi', `texindex', & `texinfmt.el') which generate printed manuals, - plain ASCII text, & online hypertext documentation (called "Info"), & - can read online Info documents; Info files can also be read in Emacs. - Version 3 has both Emacs Lisp & standalone programs written in C or as - shell scripts. Texinfo mode for Emacs enables easy editing & updating - of Texinfo files. Source for the `Texinfo Manual' is included (*note - Documentation::.). - - * Textutils (SrcCD) - - 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'. - - * TIFF library (SrcCD) - - The TIFF library, `libtiff', is a library for manipulating Tagged Image - File Format files, a commonly used bitmap graphics format. - - * Tile Forth (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 & extended with any - C-function (graphics, windowing, etc). - - Many documented Forth libraries are available, e.g. top-down parsing, - multi-threads, & object-oriented programming. - - * `time' (SrcCD) - - `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' (SrcCD) - - `ucblogo' implements the classic teaching language, Logo. - - * `units' - - GNU `units' converts between different units of measurement, such as - miles/gallon to km/liter. (It can only handle multiplicative scale - changes, so it cannot convert Celsius to Fahrenheit though it could - convert temperature differences between those temperatures scales.) - - * UUCP (SrcCD) - - GNU's UUCP system (written by Ian Lance Taylor) supports the `f', `g' - (all window & packet sizes), `v', `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). - - * vera (SrcCD) - - VERA (Virtual Entity of Relevant Acronyms) is a document listing - thousands of acronyms of the computer field. - - * viewfax (SrcCD) - - Viewfax is a tool for displaying fax files on an X display. It can - display raw, digifax or tiff/f files, such as those received by HylaFAX. - - * W3 (SrcCD) - - W3 (written by William Perry in Emacs Lisp) is an extensible, advanced - World Wide Web browser that runs as part of Emacs. It supports all the - bells and whistles you find on the Web today, including frames, tables, - stylesheets, and much more. See - `http://www.cs.indiana.edu/elisp/w3/docs.html'. - - * `wdiff' (SrcCD) - - `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. Plans are to merge this package into `diffutils'. - - * `Wget' (SrcCD) - - `Wget' non-interactively retrieves files from the WWW using HTTP & FTP. - It is suitable for use in shell scripts. - - * `windows32api' (SrcCD) - - `windows32' is a set of header files & import libraries that can be used - by GNU tools for compiling & linking programs to be run on Windows NT/95. - - * WN (SrcCD) - - WN is a World Wide Web server designed to be secure and flexible. It - offers many different capabilities in pre-parsing files before passing - them to the client, and has a very different design from Apache and the - NCSA server. - - * X11 (SrcCD) - - We distribute Version 11, Release 6.3 of the X Window System with the - latest patches & bug fixes. X11 includes all of the core software, - documentation, contributed clients, libraries, & toolkits, games, etc. - - While supplies last, we will distribute X11R5 on the November 1993 - Source Code CD-ROM. - - * `xboard' (SrcCD) - - `xboard' is a graphical chessboard for X Windows. It can serve as a - user interface to the Crafty or GNU chess programs, the Internet Chess - Servers, e-mail correspondence chess, or games saved in Portable Game - Notation. - - * `xgrabsc' (SrcCD) - - `xgrabsc' is a screen capture program similar to `xwd' but with a - graphical user interface, more ways of selecting the part of the screen - to capture, & different types of output: Postscript, color Postscript, - xwd, bitmap, pixmap, & puzzle. - - * `xinfo' (SrcCD) - - `xinfo' is an X-windows program for reading Info files. It uses a - special widget, which is available for use in other programs. - - * xmcd *Also see* `http://sunsite.unc.edu/~cddb/xmcd/' (SrcCD) - - `xmcd' is an X11-based CD player utility and `cda' is a command-line - driven, non-graphical CD audio player. `xmcd' is developed to use the - OSF/Motif API (version 1.1 and later) and can also be used with LessTif, - the free Motif clone. - - In its evolution over the past few years, `xmcd' has established itself - as the premier CD player application for the X window system with an - attractive, easy-to-use user interface. It is feature-rich and runs on - virtually all of the popular Unix and OpenVMS platforms. It also - supports the widest array of CD-ROM and CD-R devices, including some - older SCSI-1 drives that do not work with other CD player applications. - The remote CD database query feature fully utilizes the Internet and - taps on a vast repository of CD artists/titles, track titles and other - information. Multi-disc changers are also supported. - - Like many other CD player applications, `xmcd' supports a CD database of - disc and track titles and other information. A distinguishing feature - of `xmcd' is the ability to connect to a remote CD database server to - query this information. Many public Internet CD database servers have - been established around the world for this purpose, and `xmcd' also - allows the user to submit new CD entries to the master database. - - * `xshogi' (SrcCD) - - `xshogi' is a graphical Shogi (Japanese Chess) board for the X Window - System. It can serve as a user interface to GNU Shogi, as a referee for - games between two humans, or as a client for the Internet Shogi Server. - - * `Ygl' (SrcCD) - - `Ygl' emulates a subset of SGI's GL (Graphics Language) library under - X11 on most platforms with an ANSI C compiler (including GCC). It has - most two-dimensional graphics routines, the queue device & query - routines, double buffering, RGB mode with dithering, Fortran bindings, - etc. - - * zlibc (SrcCD) - - Zlibc is an uncompressing C library for GNU/Linux and SunOS systems. It - is a preloadable shared object that allows executables to uncompress the - datafiles that they need on the fly. No kernel patch, no recompilation - of these executables and no recompilation of the libraries is needed; - the package overrides the `open' function (and other system call - functions) in the shared library. - - - -Program/Package Cross Reference -******************************* - -Here is a list of the package each GNU program or library is in. You can FTP -the current list in the file `/pub/gnu/ProgramIndex' from a GNU FTP host -(*note How to Get GNU Software::.). - - * 4dview geomview - - * a2p perl - * a2x xopt - * ac bsd44 - * accton bsd44 - * ackpfd phttpd - * acl bsd44 - * acm acm - * acms acm - * addbbox geomview - * addftinfo Groff - * adventure bsd44 - * afm2tfm TeX - * aid ID Utils - * amd bsd44 - * ansitape bsd44 - * AnswerGarden xopt - * apply bsd44 - * appres xreq - * apropos bsd44 - * ar Binutils - * arithmetic bsd44 - * arp bsd44 - * atc bsd44 - * authwn WN - * autoconf Autoconf - * autoheader Autoconf - * automake Automake - * autoreconf Autoconf - * autoscan Autoconf - * autoupdate Autoconf - * auto_box xopt - * auto_box xreq - - * b2m Emacs - * backgammon bsd44 - * bad144 bsd44 - * badsect bsd44 - * banner bsd44 - * basename Shellutils - * bash BASH - * battlestar bsd44 - * bc bc - * bcd bsd44 - * bdes bsd44 - * bdftops Ghostscript - * beach_ball xopt - * beach_ball xreq - * beach_ball2 xopt - * bibtex TeX - * biff bsd44 - * bison Bison - * bitmap xreq - * boggle bsd44 - * bpltobzr Fontutils - * bugfiler bsd44 - * buildhash Ispell - * bzrto Fontutils - - * c++ GCC - * c++filt Binutils - * c2ph perl - * ca100 xopt - * caesar bsd44 - * cal bsd44 - * calendar bsd44 - * canfield bsd44 - * cat Textutils - * cbars wdiff - * cc GCC - * cc1 GCC - * cc1obj GCC - * cc1plus GCC - * cccp GCC - * cdwrite mkisofs - * cfengine cfengine - * cgi Spinner - * charspace Fontutils - * checknr bsd44 - * chess bsd44 - * chflags bsd44 - * chgrp Fileutils - * ching bsd44 - * chmod Fileutils - * chown Fileutils - * chpass bsd44 - * chroot bsd44 - * ci RCS - * cksum Textutils - * cktyps g77 - * clisp CLISP - * clri bsd44 - * cmail xboard - * cmmf TeX - * cmodext xopt - * cmp Diffutils - * co RCS - * col bsd44 - * colcrt bsd44 - * colrm bsd44 - * column bsd44 - * comm Textutils - * compress bsd44 - * comsat bsd44 - * connectd bsd44 - * cp Fileutils - * cpicker xopt - * cpio cpio - * cpp GCC - * cppstdin perl - * cribbage bsd44 - * crock xopt - * csh bsd44 - * csplit Textutils - * ctags Emacs - * ctwm xopt - * cu UUCP - * cut Textutils - * cvs CVS - * cvscheck CVS - * cvtmail Emacs - * cxterm xopt - - * d Fileutils - * date Shellutils - * dc bc - * dd Fileutils - * ddd DDD - * defid ID Utils - * delatex TeX - * demangle Binutils - * descend CVS - * detex TeX - * df Fileutils - * dhtppd phttpd - * diff Diffutils - * diff3 Diffutils - * diffpp enscript - * digest-doc Emacs - * dipress bsd44 - * dir Fileutils - * dircolors Fileutils - * dirname Shellutils - * dish xopt - * disklabel bsd44 - * diskpart bsd44 - * dld dld - * dm bsd44 - * dmesg bsd44 - * doschk doschk - * dox xopt - * du Fileutils - * dump bsd44 - * dump mkisofs - * dumpfs bsd44 - * dvi2tty TeX - * dvicopy TeX - * dvips TeX - * dvitype TeX - - * ecc ecc - * echo Shellutils - * ed ed - * edit-pr GNATS - * editres xreq - * edquota bsd44 - * eeprom bsd44 - * egrep grep - * eid ID Utils - * emacs Emacs - * emacsclient Emacs - * emacsserver Emacs - * emacstool Emacs - * emu xopt - * enscript enscript - * env Shellutils - * eqn Groff - * error bsd44 - * es es - * esdebug es - * etags Emacs - * ex nvi - * example geomview - * exicyclog Exim - * exigrep Exim - * exim Exim - * eximon Exim - * eximon Exim - * eximstats Exim - * exinext Exim - * exiwhat Exim - * expand Textutils - * expect DejaGnu - * expr Shellutils - * exterm xopt - - * f2c f2c - * factor bsd44 - * fakemail Emacs - * false Shellutils - * fastboot bsd44 - * fax2ps HylaFAX - * faxalter HylaFAX - * faxanswer HylaFAX - * faxcover HylaFAX - * faxd HylaFAX - * faxd.recv HylaFAX - * faxmail HylaFAX - * faxquit HylaFAX - * faxrcvd HylaFAX - * faxrm HylaFAX - * faxstat HylaFAX - * fc f2c - * fdraw xopt - * ffe g77 - * fgrep grep - * fid ID Utils - * file bsd44 - * find Findutils - * find2perl perl - * finger Finger - * fingerd Finger - * fish bsd44 - * fixfonts Texinfo - * fixinc.svr4 GCC - * fixincludes GCC - * flex flex - * flex++ flex - * flythrough geomview - * fmt bsd44 - * fnid ID Utils - * fold Textutils - * font2c Ghostscript - * fontconvert Fontutils - * forth Tile Forth - * forthicon Tile Forth - * forthtool Tile Forth - * fortune bsd44 - * fpr bsd44 - * freq Ispell - * freqtbl Ispell - * from bsd44 - * fsck bsd44 - * fsplit bsd44 - * fstat bsd44 - * ftp bsd44 - * ftp Inetutils - * ftpd bsd44 - * ftpd Inetutils - - * g++ GCC - * gas Binutils - * gawk GAWK - * gcal gcal - * gcc GCC - * gcore bsd44 - * gdb GDB - * genclass libg++ - * geomstuff geomview - * gettext gettext - * getty bsd44 - * gftodvi TeX - * gftopk TeX - * gftype TeX - * ghostview Ghostview - * gid ID Utils - * ginsu geomview - * git GIT - * gitaction GIT - * gitcmp GIT - * gitkeys GIT - * gitmatch GIT - * gitmount GIT - * gitps GIT - * gitredir GIT - * gitrgrep GIT - * gitview GIT - * gitwipe GIT - * gn GN - * gnans Gnans - * gnanslator Gnans - * gnats GNATS - * gnuchess Chess - * gnuchessc Chess - * gnuchessn Chess - * gnuchessr Chess - * gnuchessx Chess - * gnuclient gnuserv - * gnudoit gnuserv - * gnupdisp Shogi - * gnuplot gnuplot - * gnuplot_x11 gnuplot - * gnuserv gnuserv - * gnushogi Shogi - * gnushogir Shogi - * gnushogix Shogi - * go GnuGo - * gpc xopt - * gpc xreq - * gperf cperf - * gperf libg++ - * gprof Binutils - * graffiti geomview - * graph Graphics - * grep grep - * grodvi Groff - * groff Groff - * grops Groff - * grotty Groff - * groups Shellutils - * gs Ghostscript - * gsbj Ghostscript - * gsdj Ghostscript - * gslj Ghostscript - * gslp Ghostscript - * gsnd Ghostscript - * gsrenderfont Fontutils - * gunzip gzip - * gvclock geomview - * gwm xopt - * gzexe gzip - * gzip gzip - - * h2ph perl - * h2pl perl - * hack bsd44 - * hangman bsd44 - * head Textutils - * hello hello - * hexdump bsd44 - * hexl Emacs - * hinge geomview - * hostname Shellutils - * hp2xx hp2xx - * hterm xopt - * htmlencode phttpd - * httpd apache - * httpdecode phttpd - - * i18nOlwmV2 xopt - * i2mif xopt - * ico xopt - * ico xreq - * id Shellutils - * ident RCS - * ifconfig bsd44 - * ifnames Autoconf - * ImageMagick xopt - * imageto Fontutils - * iman xopt - * imgrotate Fontutils - * indent indent - * indxbib Groff - * inetd bsd44 - * inetd Inetutils - * info Texinfo - * inimf TeX - * init bsd44 - * initex TeX - * inn bsd44 - * install Fileutils - * iostat bsd44 - * isodiag mkisofs - * isodump mkisofs - * ispell Ispell - * ixterm xopt - * ixx xopt - - * join Textutils - * jot bsd44 - * jove bsd44 - - * kdestroy bsd44 - * kdump bsd44 - * kermit bsd44 - * kgames xopt - * kgmon bsd44 - * kill bsd44 - * kinit bsd44 - * kinput2 xopt - * klist bsd44 - * kpasswdd bsd44 - * ksrvtgt bsd44 - * kterm xopt - * ktrace bsd44 - - * lam bsd44 - * larn bsd44 - * lasergnu gnuplot - * last bsd44 - * lastcomm bsd44 - * latex TeX - * lclock xopt - * ld Binutils - * leave bsd44 - * less less - * lesskey less - * libavcall.a ffcall - * libbfd.a Binutils - * libbfd.a GDB - * libbzr.a Fontutils - * libc.a C Library - * libcompat.a bsd44 - * libcurses.a bsd44 - * libcurses.a ncurses - * libdcurses.a ncurses - * libedit.a bsd44 - * libF77.a f2c - * libF77.a g77 - * libg++.a libg++ - * libgdbm.a gdbm - * libgf.a Fontutils - * libgmp.a gmp - * libgnanslib.a Gnans - * libgnussl.a gnussl - * libI77.a f2c - * libI77.a g77 - * libkvm.a bsd44 - * libm.a bsd44 - * libncurses.a ncurses - * libnihcl.a NIHCL - * libnihclmi.a NIHCL - * libnihclvec.a NIHCL - * libnls.a xreq - * libobjects.a libobjects - * liboctave.a Octave - * liboldX.a xreq - * libpbm.a Fontutils - * libPEXt.a xopt - * libpk.a Fontutils - * libresolv.a bsd44 - * librpc.a bsd44 - * libsipp.a SIPP - * libtcl.a DejaGnu - * libtelnet.a bsd44 - * libterm.a bsd44 - * libtermcap.a Termcap - * libtfm.a Fontutils - * libtiff.a tiff - * libutil.a bsd44 - * libvacall.a ffcall - * libWc.a xopt - * libwidgets.a Fontutils - * libX.a xreq - * libXau.a xreq - * libXaw.a xreq - * libXcp.a xopt - * libXcu.a xopt - * libXdmcp.a xreq - * libXmp.a xopt - * libXmu.a xreq - * libXO.a xopt - * libXop.a xopt - * libXp.a xopt - * libXpex.a xopt - * libXt.a xopt - * libXt.a xreq - * libXwchar.a xopt - * liby.a bsd44 - * libYgl.a Ygl - * lid ID Utils - * limn Fontutils - * listres xopt - * listres xreq - * lkbib Groff - * ln Fileutils - * locate Findutils - * lock bsd44 - * logcvt-ip2n phttpd - * logger bsd44 - * login bsd44 - * logname Shellutils - * logo ucblogo - * lookbib Groff - * lorder bsd44 - * lpr bsd44 - * ls Fileutils - * lynx lynx - - * m4 m4 - * mail bsd44 - * mail-files Sharutils - * mailq smail - * mailshar Sharutils - * make make - * make-docfile Emacs - * make-path Emacs - * makeindex TeX - * makeinfo Texinfo - * MakeTeXPK TeX - * man bsd44 - * man-macros Groff - * maniview geomview - * mattrib mtools - * maze xopt - * maze xreq - * mazewar xopt - * mc mc - * mcd mtools - * mcopy mtools - * mcserv mc - * md5sum Textutils - * mdel mtools - * mdir mtools - * me-macros Groff - * medit2gv geomview - * merge RCS - * mesg bsd44 - * mf TeX - * mformat mtools - * mft TeX - * mgdiff xopt - * mh bsd44 - * mille bsd44 - * mkafmmap enscript - * mkcache GN - * mkdep bsd44 - * mkdir Fileutils - * mkfifo Fileutils - * mkid ID Utils - * mkisofs mkisofs - * mklocale bsd44 - * mkmanifest mtools - * mkmf bsd44 - * mkmodules CVS - * mknod Fileutils - * mkstr bsd44 - * mlabel mtools - * mm-macros Groff - * mmd mtools - * monop bsd44 - * more bsd44 - * morse bsd44 - * mount bsd44 - * mountd bsd44 - * movemail Emacs - * mprof bsd44 - * mrd mtools - * mread mtools - * mren mtools - * ms-macros Groff - * msgcmp gettext - * msgfmt gettext - * msgmerge gettext - * msgs bsd44 - * msgunfmt gettext - * mst Smalltalk - * mt cpio - * mterm xopt - * mtree bsd44 - * mtype mtools - * mule MULE - * muncher xopt - * mv Fileutils - * mvdir Fileutils - * mwrite mtools - - * NDview geomview - * nethack NetHack - * netstat bsd44 - * newfs bsd44 - * nfsd bsd44 - * nfsiod bsd44 - * nfsstat bsd44 - * nice Shellutils - * nl Textutils - * nlmconv Binutils - * nm Binutils - * nohup Shellutils - * nose geomview - * notify HylaFAX - * nroff Groff - * number bsd44 - - * objc GCC - * objcopy Binutils - * objdump Binutils - * objective-c GCC - * obst-boot OBST - * obst-CC OBST - * obst-cct OBST - * obst-cgc OBST - * obst-cmp OBST - * obst-cnt OBST - * obst-cpcnt OBST - * obst-csz OBST - * obst-dir OBST - * obst-dmp OBST - * obst-gen OBST - * obst-gsh OBST - * obst-init OBST - * obst-scp OBST - * obst-sil OBST - * obst-stf OBST - * oclock xreq - * octave Octave - * od Textutils - * oleo Oleo - * ora-examples xopt - - * p2c p2c - * pagesize bsd44 - * palette xopt - * pascal bsd44 - * passwd bsd44 - * paste Textutils - * patch patch - * patgen TeX - * pathalias bsd44 - * pathchk Shellutils - * pathto smail - * pax bsd44 - * pbmplus xopt - * perl perl - * pfbtops Groff - * phantasia bsd44 - * phttpd phttpd - * pic Groff - * pico pine - * pig bsd44 - * pine pine - * ping bsd44 - * pixedit xopt - * pixmap xopt - * pktogf TeX - * pktype TeX - * plaid xopt - * plot2fig Graphics - * plot2plot Graphics - * plot2ps Graphics - * plot2tek Graphics - * pltotf TeX - * pollrcvd HylaFAX - * pom bsd44 - * pooltype TeX - * portmap bsd44 - * ppt bsd44 - * pr Textutils - * pr-addr GNATS - * pr-edit GNATS - * primes bsd44 - * printenv Shellutils - * printf Shellutils - * protoize GCC - * proxygarb Spinner - * ps bsd44 - * ps2ascii Ghostscript - * ps2epsi Ghostscript - * ps2fax HylaFAX - * psbb Groff - * pstat bsd44 - * psycho xopt - * ptester phttpd - * ptx ptx - * pubdic+ xopt - * puzzle xopt - * puzzle xreq - * pwd Shellutils - * pyramid xopt - - * query-pr GNATS - * quiz bsd44 - * quot bsd44 - * quota bsd44 - * quotacheck bsd44 - * quotaon bsd44 - - * rain bsd44 - * random bsd44 - * ranlib Binutils - * rbootd bsd44 - * rc rc - * rcp bsd44 - * rcp Inetutils - * rcs RCS - * rcs-to-cvs CVS - * rcs2log Emacs - * rcsdiff RCS - * rcsfreeze RCS - * rcsmerge RCS - * rdist bsd44 - * reboot bsd44 - * recode recode - * recvstats HylaFAX - * red ed - * refer Groff - * remsync Sharutils - * renice bsd44 - * repquota bsd44 - * restore bsd44 - * rev bsd44 - * rexecd bsd44 - * rexecd Inetutils - * rlog RCS - * rlogin bsd44 - * rlogin Inetutils - * rlogind bsd44 - * rlogind Inetutils - * rm Fileutils - * rmail bsd44 - * rmdir Fileutils - * rmt cpio - * rmt tar - * robots bsd44 - * rogue bsd44 - * route bsd44 - * routed bsd44 - * rr xopt - * rs bsd44 - * rsh bsd44 - * rsh Inetutils - * rshd bsd44 - * rshd Inetutils - * rsmtp smail - * runq smail - * runtest DejaGnu - * runtest.exp DejaGnu - * ruptime bsd44 - * rwho bsd44 - * rwhod bsd44 - - * s2p perl - * sail bsd44 - * saoimage SAOimage - * savecore bsd44 - * sc bsd44 - * sccs bsd44 - * sccs2rcs CVS - * scdisp xopt - * screen screen - * script bsd44 - * scsiformat bsd44 - * sctext xopt - * sdiff Diffutils - * sed sed - * send-pr GNATS - * sendfax HylaFAX - * sendmail bsd44 - * sgi2fax HylaFAX - * sgn GN - * sh bsd44 - * shar Sharutils - * shinbun xopt - * shogi Shogi - * showfont xopt - * showmount bsd44 - * shutdown bsd44 - * size Binutils - * sj3 xopt - * sjxa xopt - * slattach bsd44 - * sleep Shellutils - * sliplogin bsd44 - * smail smail - * smtpd smail - * snake bsd44 - * snftobdf xopt - * soelim Groff - * sort Textutils - * sos2obst OBST - * spider xopt - * split Textutils - * startslip bsd44 - * stereo geomview - * stf OBST - * strings Binutils - * strip Binutils - * stty Shellutils - * su Shellutils - * sum Textutils - * superopt Superopt - * swapon bsd44 - * sweep geomview - * sync bsd44 - * sysctl bsd44 - * syslog Inetutils - * syslogd bsd44 - * syslogd Inetutils - * systat bsd44 - - * tabs Termutils - * tac Textutils - * tackdown geomview - * tail Textutils - * taintperl perl - * talk bsd44 - * talk Inetutils - * talkd bsd44 - * talkd Inetutils - * tangle TeX - * tar tar - * tbl Groff - * tcal gcal - * tcl DejaGnu - * tclsh DejaGnu - * tcopy bsd44 - * tcp Emacs - * tee Shellutils - * tek2plot Graphics - * telnet bsd44 - * telnet Inetutils - * telnetd bsd44 - * telnetd Inetutils - * test Shellutils - * test-g++ DejaGnu - * test-tool DejaGnu - * tetris bsd44 - * tex TeX - * tex3patch Texinfo - * texi2dvi Texinfo - * texindex Texinfo - * texspell TeX - * textfmt HylaFAX - * tfmtodit Groff - * tftopl TeX - * tftp bsd44 - * tftp Inetutils - * tftpd bsd44 - * tftpd Inetutils - * tgrind TeX - * time time - * timed bsd44 - * timer Emacs - * timex xopt - * tip bsd44 - * tkpostage xopt - * tn3270 bsd44 - * togeomview geomview - * touch Fileutils - * tput Termutils - * tr Textutils - * traceroute bsd44 - * transcript HylaFAX - * transfig xopt - * transformer geomview - * trek bsd44 - * trigrp geomview - * trn3 bsd44 - * troff Groff - * trpt bsd44 - * trsp bsd44 - * true Shellutils - * tset bsd44 - * tsort bsd44 - * tty Shellutils - * ttygnans Gnans - * tunefs bsd44 - * tupdate gettext - * tvtwm xopt - * twm xreq - - * ul bsd44 - * ulpc Spinner - * umount bsd44 - * uname Shellutils - * uncompress gzip - * unexpand Textutils - * unifdef bsd44 - * unify wdiff - * uniq Textutils - * unprotoize GCC - * unshar Sharutils - * unvis bsd44 - * update bsd44 - * updatedb Findutils - * users Shellutils - * uuchk UUCP - * uucico UUCP - * uuconv UUCP - * uucp UUCP - * uucpd bsd44 - * uucpd Inetutils - * uudecode Sharutils - * uudir UUCP - * uuencode Sharutils - * uulog UUCP - * uuname UUCP - * uupath smail - * uupick UUCP - * uurate UUCP - * uusched UUCP - * uustat UUCP - * uuto UUCP - * uux UUCP - * uuxqt UUCP - - * v Fileutils - * vacation bsd44 - * vandal xopt - * vcdiff Emacs - * vdir Fileutils - * vftovp TeX - * vgrind bsd44 - * vi nvi - * viewres xopt - * viewres xreq - * vine xopt - * vipw bsd44 - * virmf TeX - * virtex TeX - * vis bsd44 - * vmstat bsd44 - * vptovf TeX - - * w bsd44 - * waisgn GN - * wakeup Emacs - * wall bsd44 - * wargames bsd44 - * wc Textutils - * wdiff wdiff - * weave TeX - * what bsd44 - * whatis bsd44 - * whereis bsd44 - * who Shellutils - * whoami Shellutils - * whois bsd44 - * window bsd44 - * winterp xopt - * wish DejaGnu - * wn WN - * wndex WN - * worm bsd44 - * worms bsd44 - * write bsd44 - * wump bsd44 - - * x11perf xreq - * x2p perl - * xalarm xopt - * xancur xopt - * xargs Findutils - * xauth xreq - * xbfe Fontutils - * xbiff xopt - * xbiff xreq - * xboard xboard - * xboing xopt - * xbuffy3 xopt - * xcalc xopt - * xcalc xreq - * xcalendar xopt - * xcdplayer xopt - * xcell xopt - * xclipboard xreq - * xclock xreq - * xcmdmenu xopt - * xcms xopt - * xcmsdb xreq - * xcmstest xreq - * xco xopt - * xcolorize xopt - * xcolors xopt - * xconsole xreq - * xcrtca xopt - * xdaliclock xopt - * xdiary xopt - * xditview Groff - * xditview xopt - * xditview xreq - * xdm xreq - * xdpyinfo xreq - * xdu xopt - * xdvi TeX - * xdvi xopt - * xdvorak xopt - * xearth xopt - * xed xopt - * xedit xopt - * xedit xreq - * xev xopt - * xev xreq - * xexit xopt - * xeyes xopt - * xeyes xreq - * xfd xreq - * xfed xopt - * xfedor xopt - * xfeoak xopt - * xferstats HylaFAX - * xfig xopt - * xfontsel xopt - * xfontsel xreq - * xforecast xopt - * xgas xopt - * xgas xreq - * xgc xopt - * xgc xreq - * xgettext gettext - * xhearts xopt - * xhelp xopt - * xhost xreq - * xinit xreq - * xkeycaps xopt - * xkill xreq - * xlax xopt - * xlayout xopt - * xlbiff xopt - * xless xopt - * xload xopt - * xload xreq - * xlogin xopt - * xlogo xreq - * xlsatoms xreq - * xlsclients xreq - * xlsfonts xreq - * xmag xreq - * xmail xopt - * xmailbox xopt - * xmailwatcher xopt - * xman xopt - * xman xreq - * xmandel xopt - * xmessage xopt - * xmeter xopt - * xmh xreq - * xmh-icons xopt - * xmh.editor xopt - * xmodmap xreq - * xmon xopt - * xmove xopt - * xmphone xopt - * xpd xopt - * xphoon xopt - * xpipeman xopt - * xplot Graphics - * xpostit xopt - * xpr xopt - * xpr xreq - * xprompt xopt - * xproof xopt - * xprop xreq - * xpserv xopt - * xrdb xreq - * xrefresh xreq - * xrsh xopt - * xrubik xopt - * xrunclient xopt - * xscope xopt - * xscreensaver xopt - * xsession xopt - * xset xreq - * xsetroot xreq - * xshogi xshogi - * xstdcmap xreq - * xstr bsd44 - * xtalk xopt - * xterm xreq - * xterm_color xopt - * xtetris xopt - * xTeXcad.13 xopt - * xtiff xopt - * xtokid ID Utils - * xtree xopt - * xtv xopt - * xwd xreq - * xwininfo xreq - * xwud xreq - - * yacc bsd44 - * yes Shellutils - * youbin xopt - * yow Emacs - - * zcat gzip - * zcmp gzip - * zdiff gzip - * zforce gzip - * zgrep gzip - * zmore gzip - * znew gzip - - * [ Shellutils - - - - - - -CD-ROMs -******* - -We have two series of CD-ROMs: the Source Code CD-ROM, and the Compiler -Tools Binaries CD-ROM. - -Our CDs are in ISO 9660 format & can be mounted as a read-only file system on -most computers. If your driver supports it, you can mount each CD with "Rock -Ridge" extensions & it will look like a regular Unix file system, rather than -one full of truncated & otherwise mangled names that fit vanilla ISO 9660. - -You can build most of the software without copying the sources off the CD. -You only need enough disk space for object files and intermediate build -targets. - - - -Pricing of the GNU CD-ROMs --------------------------- - -If a business or organization is ultimately paying, the current GNU Source -CD set costs $240. The set costs $60 if you, an individual, are paying out -of your own pocket. The current Compiler Tools Binaries CD-ROM costs $220 -for a business or organization, and $55 for an individual. - - - -What Do the Different Prices Mean? -.................................. - -The software on our disks is free; anyone can copy it and anyone can run it. -What we charge for is the physical disk and the service of distribution. - -We charge two different prices depending on who is buying. When a company -or other organization buys the Source CD-ROMs, we charge $240. When an -individual buys the same CD-ROMs, we charge just $60. This distinction is -not a matter of who is allowed to use the software. In either case, once -you have a copy, you can distribute as many copies as you wish and there's -no restriction on who can have or run them. The price distinction is -entirely a matter of what kind of entity pays for the CDs. - -You, the reader, are certainly an individual, not a company. If you are -buying a disk "in person", then you are probably doing so as an individual. -But if you expect to be reimbursed by your employer, then the disk is really -for the company; so please pay the company price and get reimbursed for it. -We won't try to check up on you--we use the honor system--so please cooperate. - -Buying CDs at the company price is very helpful for GNU; just -150 Source CDs at that price support an FSF programmer or tech writer for a -year. - - - -Why Is There an Individual Price? -................................. - -In the past, our distribution tapes were ordered mainly by companies. The CD -at the price of $240 provides them with all of our software for a much lower -price than they would previously have paid for six different tapes. To lower -the price more would cut into the FSF's funds very badly and decrease the -software development we can do. - -However, for individuals, $240 is too high a price; hardly anyone could -afford that. So we decided to make CDs available to individuals at the lower -price of $60. - - - -Is There a Maximum Price? -......................... - -Our stated prices are minimum prices. Feel free to pay a higher price if you -wish to support GNU development more. The sky's the limit; we will accept as -high a price as you can offer. Or simply give a donation (tax-deductible in -the U.S.) to the Free Software Foundation, a tax-exempt public charity. - - - -January 1997 Compiler Tools Binaries CD-ROM -------------------------------------------- - -In January 1997 we released the fourth edition of our CD-ROM that has -binaries and complete sources for GNU compiler tools for some systems which -lack a compiler. This enables the people who use these systems to compile -GNU and other free software without having to buy a proprietary compiler. -You can also use these GNU tools to compile your own C/C++/Objective-C -programs. Older editions of this CD are available while supplies last at a -reduced price; *Note Free Software Foundation Order Form::. - -We hope to have more systems on each update of this CD. If you can help -build binaries for new systems (especially those that don't come with a C -compiler), or have one to suggest, please contact us at the addresses on page -1. - -These packages: - - * DJGPP - * GCC/G++/Objective-C - * GNU C Library - * GDB - * Binutils - * Bison - * Emacs (MS-DOS only) - * Flex - * Make - * libg++ - -On these platforms: - - * `i386-msdos' - * `hppa1.1-hp-hpux9' - * `hppa1.1-hp-hpux10' - * `powerpc-ibm-aix4.2' - * `sparc-sun-solaris2.4' - * `sparc-sun-solaris2.5' - * `sparc-sun-sunos4.1' - - - -Source Code CD-ROMs -------------------- - -We have several versions of our Source Code CD-ROMs available, including: - - * July 1997 Source Code CD-ROMs, the newest release, has programs, - bug fixes, & improvements. See below. - - * January 1997 Source Code CD-ROMs. - - * July 1996 Source Code CD-ROMss. - - * December 1995 Source Code CD-ROMs. - - * June 1995 Source Code CD-ROM. - - * May 1994 Source Code CD-ROM. - - * November 1993 Source Code CD-ROM. - - * May 1993 Source Code CD-ROM. - - * October 1992 Source Code CD-ROM. - -The older Source CDs are available while supplies last at a reduced price -(please note that the December 1994 Source CD is permanently out of stock). -All the Source CDs have Texinfo source for the GNU manuals listed in *Note -Documentation::. - -Much of X11 is *not* on the older Source CDs which are just one CD -instead of two. - -There are no precompiled programs on these Source CDs. You will need a C -compiler (programs which need some other interpreter or compiler normally -provide the C source for a bootstrapping program). We ship C compiler -binaries for some systems on the *Note Compiler Tools Binaries CD-ROM::. - - - -July 1997 Source Code CD-ROMs -............................. - -The 10th edition of our Source Code CD is available now with two CD-ROM disks. -It has programs, bug fixes, & improvements not on the older Source CDs. It -has these packages, & some manuals that are not part of packages. The -version number of each package listed might be higher on the 10th edition CD -due to new releases being made since this list was generated. - - - * abuse 2.0 - * acct 6.3 - * acm 4.8 - * aegis 2.3 - * apache 1.2.4 - * Autoconf 2.12 - * Automake 1.2 - * BASH 2.01 - * bc 1.04 - * Binutils 2.8.1 - * Bison 1.25 - * C Library 2.0.5 - * Calc 2.02f - * cfengine 1.4.1 - * Chess 4.0.pl77 - * CLISP 1997.08.07 - * Common Lisp 2.2.2 - * cook 1.10 - * cperf 2.1a - * cpio 2.4.2 - * CVS 1.9 - * cxref 1.4 - * ddd 2.1.1 - * DejaGnu 1.3 - * Diffutils 2.7 - * dld 3.3 - * doschk 1.1 - * ed 0.2 - * Elib 1.0 - * elisp archive 1997.08.19 - * Emacs 18.59 - * Emacs 19.34 - * Emacs 20.1 - * enscript 1.5.0 - * es 0.84 - * Exim 1.70 - * f2c 1997.07.13 - * ffcall 1.1 - * Fileutils 3.16 - * Findutils 4.1 - * Finger 1.37 - * flex 2.5.4 - * Fontutils 0.6 - * g77 0.5.19.1 - * gawk 3.0.3 - * gcal 2.10 - * GCC/G++/Objective-C 2.7.2.3 - * GDB 4.16 - * gdbm 1.7.3 - * Generic NQS 3.50.2 - * geomview 1.6.1 - * gettext 0.10 - * gforth 0.3.0 - * Ghostscript 3.33 - * Ghostview 1.5 - * Ghostview for Windows 2.1 - * GIT 4.3.16 - * gmp 2.0.2 - * GN 2.24 - * Gnans 1.5.1 - * gnat 3.09 - * GNATS 3.2 - * GNU Emacs Lisp Reference Manual 1.03 - * GNU Emacs Lisp Reference Manual 2.4.2 - * GNU Emacs Lisp Reference Manual 2.4.jp2.0 - * GnuGo 1.2 - * gnuplot 3.5 - * gnuserv 2.1alpha - * gnussl 0.2.1 - * gpc 2.0 - * grep 2.0 - * Groff 1.11 - * guavac 0.3.1 - * guile 1.2 - * gzip 1.2.4 - * hello 1.3 - * hp2xx 3.1.4 - * HylaFAX 4.0pl1 - * Hyperbole 4.01 - * ID Utils 3.2 - * ilisp 5.8.a04 - * indent 1.9.1 - * Inetutils 1.3a - * Ispell 3.1.20 - * jargon 4.0.0 - * karma 1.6 - * less 332 - * LessTif 0.80 - * libg++ 2.7.2 - * libobjects 0.1.19 - * libtool 1.0 - * lynx 2.7.1 - * m4 1.4 - * make 3.75 - * MandelSpawn 0.07 - * maxima 5.2 - * mc 4.0 - * MCSim 4.1 - * mesa 2.1 - * <Meta-HTML> 5.04 - * miscfiles 1.1 - * mkisofs 1.11 - * mm 1.07 - * mtools 3.8 - * MULE 2.3 - * mutt 0.81 - * NetHack 3.2.2 - * NIHCL 3.1.4 - * nvi 1.79 - * Oaklisp 930720 - * OBST 3.4.3 - * Octave 2.0.9 - * Oleo 1.6 - * p2c 1.20 - * patch 2.5 - * pcl-gcl 2.2 - * perl 4.036 - * perl 5.003 - * phttpd 0.99.76 - * pips 1.01 - * plotutils 1.1 - * prcs 1.2 - * Programming in Emacs Lisp an Introduction 1.04 - * ptx 0.4 - * rc 1.4 - * RCS 5.7 - * readline 2.1 - * recode 3.4 - * regex 0.12 - * Roxen 1.1 - * rsync 1.6.3 - * rx 1.5 - * SAOimage 1.20 - * screen 3.7.4 - * sed 2.05 - * Sharutils 4.2 - * Shellutils 1.16 - * Shogi 1.2p03 - * SIPP 3.1 - * smail 3.2 - * Smalltalk 1.1.5 - * sneps 2.3.1 - * spell 1.0 - * stow 1.3.2 - * Superopt 2.5 - * swarm 1.0.2 - * tar 1.12 - * Termcap 1.3 - * Termutils 2.0 - * TeX 3.1415 - * Texinfo 3.11 - * Textutils 1.22 - * tiff 3.4 - * Tile Forth 2.1 - * time 1.7 - * ucblogo 4.1 - * units 1.53 - * UUCP 1.06.1 - * vera 1.0 - * vrweb 1.5 - * W3 2.2.26 - * wdiff 0.5 - * wget 1.4.5 - * windows32api 0.1.2 - * WN 1.18.1 - * X11R6.3 - * xboard 3.6.2 - * xgrabsc 2.41 - * xinfo 1.01.01 - * xmcd 2.2 - * xshogi 1.2p03 - * Ygl 3.1 - * zlibc 0.9e - - - -January 1997 Source Code CD-ROMs -................................ - -We still have copies of the 9th edition of our Source CD with two CD-ROM -disks. It has these packages, & some manuals that are not part of packages: - - - * acm 4.7 - * apache 1.1.1 - * Autoconf 2.12 - * Automake 1.0 - * BASH 2.0 - * bc 1.03 - * Binutils 2.7 - * Bison 1.25 - * C Library 2.0 - * Calc 2.02f - * cfengine 1.3.16 - * Chess 4.0.pl77 - * CLISP 1996.05.30 - * Common Lisp 2.2.1 - * cperf 2.1a - * cpio 2.4.2 - * CVS 1.9 - * ddd 2.0 - * DejaGnu 1.3 - * Diffutils 2.7 - * dld 3.3 - * doschk 1.1 - * ed 0.2 - * Elib 1.0 - * elisp archive - * Emacs 18.59 - * Emacs 19.34 - * enscript 1.4.0 - * es 0.84 - * Exim 1.59 - * f2c 1996.12.09 - * ffcall 1.1 - * Fileutils 3.16 - * Findutils 4.1 - * Finger 1.37 - * flex 2.5.4 - * Fontutils 0.6 - * g77 0.5.19 - * gawk 3.0.1 - * gcal 2.10 - * GCC/G++/Objective-C 2.7.2.2 - * GDB 4.16 - * gdbm 1.7.3 - * Generic NQS 3.50.2 - * geomview 1.6.1 - * gettext 0.10 - * gforth 0.2.1 - * Ghostscript 3.33 - * Ghostview 1.5 - * Ghostview for Windows 2.1 - * GIT 4.3.16 - * gmp 2.0.2 - * GN 2.24 - * Gnans 1.5.1 - * gnat 3.07 - * GNATS 3.2 - * GNU Emacs Lisp Reference Manual 1.03 - * GNU Emacs Lisp Reference Manual 2.4.2 - * GNU Emacs Lisp Reference Manual 2.4.jp2.0 - * GnuGo 1.2 - * gnuplot 3.5 - * gnuserv 2.1alpha - * gnussl 0.2.1 - * gpc 2.0 - * Graphics 0.17 - * grep 2.0 - * Groff 1.10 - * guile 1.0 - * gzip 1.2.4 - * hello 1.3 - * hp2xx 3.1.4 - * HylaFAX 4.0pl1 - * Hyperbole 4.01 - * ID Utils 3.2 - * ilisp 5.8.a04 - * indent 1.9.1 - * Inetutils 1.2j - * Ispell 3.1.20 - * jargon 4.0.0 - * karma 1.6 - * less 321 - * libg++ 2.7.2 - * libobjects 0.1.19 - * lynx 2.6 - * m4 1.4 - * make 3.75 - * MandelSpawn 0.07 - * maxima 5.2 - * mc 3.2.1 - * mesa 2.1 - * <Meta-HTML> 5.01 - * miscfiles 1.0 - * mkisofs 1.05GNU - * mm 1.07 - * mtools 3.1 - * MULE 2.3 - * mutt 0.57 - * ncurses 1.9.9e - * NetHack 3.2.2 - * NIHCL 3.1.4 - * nvi 1.79 - * Oaklisp 930720 - * OBST 3.4.3 - * Octave 2.0.2 - * Oleo 1.6 - * p2c 1.20 - * patch 2.1 - * pcl-gcl 2.1 - * perl 4.036 - * perl 5.003 - * phttpd 0.99.72.1 - * pine 3.91 - * pips 1.01 - * Programming in Emacs Lisp an Introduction 1.04 - * ptx 0.4 - * rc 1.4 - * RCS 5.7 - * readline 2.0 - * recode 3.4 - * regex 0.12 - * Roxen 1.1 - * rx 1.5 - * SAOimage 1.19 -s * scheme 7.4 - * screen 3.7.2 - * sed 2.05 - * Sharutils 4.2 - * Shellutils 1.16 - * Shogi 1.2p03 - * SIPP 3.1 - * smail 3.2 - * Smalltalk 1.1.5 - * sneps 2.3.1 - * stow 1.3.2 - * Superopt 2.5 - * tar 1.11.8 - * Termcap 1.3 - * Termutils 2.0 - * TeX 3.1415 - * Texinfo 3.9 - * Textutils 1.22 - * tiff 3.4 - * Tile Forth 2.1 - * time 1.7 - * ucblogo 3.6 - * units 1.53 - * UUCP 1.06.1 - * vrweb 1.3 - * W3 2.2.26 - * wdiff 0.5 - * wget 1.4.2b - * windows32api 0.1.2 - * WN 1.17.1 - * X11R6.3 - * xboard 3.5.0 - * xgrabsc 2.41 - * xinfo 1.01.01 - * xshogi 1.2p03 - * Ygl 3.1 - - - -CD-ROM Subscription Service -*************************** - -Our subscription service enables you to stay current with the latest GNU -developments. For a one-time cost equivalent to three Source CD-ROMs (plus -shipping in some cases), we will ship you four new versions of the *Note -Source Code CD-ROMs::. The CD-ROMs are sent as they are issued (currently -twice a year, but we hope to make it more frequent). We do not yet know if -we will be offering subscriptions to the Compiler Tools Binaries CD. - -A subscription is an easy way to keep up with the regular bug fixes to the X -Window System. Each edition of the *Note Source Code CD-ROMs::, has updated -sources for the X Window System. - -Please note: In two cases, you must pay 4 times the normal shipping required -for a single order when you pay for each subscription. If you're in Alaska, -Hawaii, or Puerto Rico you must add $20.00 for shipping for each -subscription. If you're outside of the U.S., Canada, and Puerto Rico, you -must add $80.00 for each subscription. See "CD-ROMs" and "Tax and Shipping -Costs" on the *note Free Software Foundation Order Form::. - - - -FSF T-shirt -*********** - -The front of our T-shirt has the GNU Emacs Lisp code `(USE 'GNU)' with "`()'" -being the dancing parentheses from the cover of our `GNU Emacs Lisp Reference -Manual' (drawn by Berkeley, CA artist Etienne Suvasa). The shirt's back has -the Preamble to the GNU General Public License. - -These shirts come in black, natural (off-white), burgundy, and blue-green. -When you order, please give 3 choices. Black is printed in white and the -other colors are printed in black. All shirts are thick 100% cotton; black -and burgundy come in sizes M, L, XL, and XXL and the others in sizes L and XL -(they run small so you may want a larger size than usual). - -GNU T-shirts often create spontaneous friendships at conferences & on -university campuses. They also make great gifts for friends & family, -including children! - - - -Free Software Foundation Order Form -*********************************** - -All items are distributed with permission to copy and to redistribute. -Texinfo source for each manual and source for each reference card is on the -appropriate CD-ROM; the prices for these media do not include printed -documentation. -All items are provided ``as is'', with no warranty of any kind. -Please allow three weeks for delivery -(though it won't usually take that long). - - - PRICE AND CONTENTS MAY CHANGE WITHOUT NOTICE AFTER January 31, 1998. - - -A possibly more current version of this order form can be found on the -World Wide Web at `http://www.gnu.ai.mit.edu/order/order.html' or -can be found in file `/pub/gnu/GNUinfo/ORDERS' on a GNU FTP host -(*note How to Get GNU Software::.). - - - -FSF Deluxe Distribution ------------------------ -(Please contact us with any questions. *Note Deluxe Distribution::, -for machine, operating system, and media types.) - - -____ @ $5000 = $ ______ The Deluxe Distribution, with manuals, etc. - -Machine: _____________________________________________________________________ - -Operating system: ____________________________________________________________ - -Media type: __________________________________________________________________ - -(Optional) Version of X Window System to link with: __________________________ - - - -CD-ROMs, in ISO 9660 format (*note CD-ROMs::.): ----------------------------------------------- - - -GNU Source Code CD-ROMs, Version 10 with X11R6.3 (*note July 1997 Source Code CD-ROMs::.): - -____ @ $240 = $ ______ for corporations and other organizations. - -____ @ $ 60 = $ ______ for individuals. - - -Subscriptions, next 4 updates of the Source Code CD-ROM, in ISO 9660 format -(*note CD-ROM Subscription Service::.): - -____ @ $720 = $ ______ for corporations and other organizations. - -____ @ $180 = $ ______ for individuals. - - -GNU Compiler Tools Binaries CD-ROM, Version 4, January 1997 Edition -(*note Compiler Tools Binaries CD-ROM::.): - -____ @ $220 = $ ______ for corporations and other organizations. - -____ @ $55 = $ ______ for individuals. - - - -Manuals -------- - -These manuals (*note Documentation::.). The latest version of each manual -will be shipped. Please contact us if you want a specific version. - -____ @ $ 30 = $ ______ GNU Emacs manual, with a reference card. - -____ @ $ 50 = $ ______ GNU Emacs Lisp Reference manual, in two volumes. - -____ @ $ 60 = $ ______ GNU Emacs Lisp Reference, Japanese Edition. - -____ @ $ 50 = $ ______ Using and Porting GNU CC. - -____ @ $ 50 = $ ______ GNU C Library Reference Manual. - -____ @ $ 50 = $ ______ GNU Emacs Calc manual, with a reference card. - -____ @ $ 20 = $ ______ Programming in Emacs Lisp: An Introduction. - -____ @ $ 20 = $ ______ Debugging with GDB, with a reference card. - -____ @ $ 25 = $ ______ GNU Awk User's Guide. - -____ @ $ 20 = $ ______ Make manual. - -____ @ $ 20 = $ ______ Bison manual, with a reference card. - -____ @ $ 20 = $ ______ Flex manual, with a reference card. - -____ @ $ 25 = $ ______ Texinfo manual. - -____ @ $ 15 = $ ______ Termcap manual, 3rd Edition Revised. - - - -Reference Cards ---------------- - -The following reference cards, in packets of ten. For single copies please -contact us. - -____ @ $ 10 = $ ______ GNU Emacs version 20 reference cards. - -____ @ $ 10 = $ ______ GNU Emacs Calc reference cards. - -____ @ $ 10 = $ ______ GDB reference cards. - -____ @ $ 10 = $ ______ Bison reference cards. - -____ @ $ 10 = $ ______ Flex reference cards. - - - -T-shirts --------- - -GNU/FSF T-shirts (*note FSF T-shirt::.), thick 100% cotton, available in -black or natural (off-white) in sizes M, L, XL, and XXL, -and in burgundy or blue-green in sizes L and XL. -Please list 1st, 2nd, and 3rd choice of color. - -____ @ $ 15 = $ ______ Size _____ - - Color choice: 1st _______ 2nd _______ 3rd _______ - -____ @ $ 15 = $ ______ Size _____ - - Color choice: 1st _______ 2nd _______ 3rd _______ - -____ @ $ 15 = $ ______ Size _____ - - Color choice: 1st _______ 2nd _______ 3rd _______ - -____ @ $ 15 = $ ______ Size _____ - - Color choice: 1st _______ 2nd _______ 3rd _______ - - -Older Items ------------ - -Older items are only available while supplies last. - -____ @ $ 40 = $ ______ Using and Porting GCC, 8.5 x 11 inches, with - plastic binding (same text as current edition) - -Please fill in the number of each older CD-ROM you order: - - GNU Compiler Tools Binaries CD-ROMs: - -Version 1 (December '93) ______ Version 2 (December '94) ______ - -Version 3 (December '95) ______ - - GNU Source Code CD-ROMs: (Version 5 (Dec. '94) is not available.) - -Version 1 (October '92) ______ Version 2 (May '93) ______ - -Version 3 (November '93 - last edition with X11R5) ______ - -Version 4 (May '94 - first edition with X11R6) ______ - -Version 6 (June '95) ______ Version 7 (Dec. '95) ______ - -Version 8 (July '96) ______ Version 9 (Jan. '97) ______ - -Please put the total count and cost of the above older CD-ROMs here: - -____ @ $ 80 = $ ______ for corporations and other organizations. - -____ @ $ 20 = $ ______ for individuals. - - ====== - - Subtotal $ ______ - - - -Tax and Shipping Costs ----------------------- - - + $ ______ For addresses in Massachusetts: add 5% sales tax - or give tax exempt number. There is no sales tax - on T-shirts. - + $ ______ Shipping fee for addresses in Alaska, Hawaii, or - Puerto Rico: - $ 5.00 base charge; - + $ 5.00 for *each* Emacs Calc or Emacs Lisp - Reference manual ($ 5.00 * #ofMans); - + $ 20.00 for *each* CD-ROM subscription - ($20.00 * #ofSubs); - + $ 1.00 for *each* item other than the above - (shipping for all other items = - $ 1.00 * #ofOtherItems). - + $ ______ Shipping fee for most Foreign Destinations: (Please - do *not* use this formula for addresses in China, - Guam, Indonesia, Israel, Malaysia, New Zealand, - Philippines, and Thailand. Please contact us for - an exact shipping quote.) - $ 20.00 base charge for orders to other - addresses outside of U.S., Canada, & Puerto Rico: - + $ 10.00 for each item ordered, ($ 10.00 * #ofItems) - + $ 80.00 for each CD-ROM subscription - ($ 80.00 * #ofSubs) (don't count as an item). - In Europe, ordering via GNU Distribution Europe-- - Belgium may reduce these costs - (*note New European Distributor::.). - + $ ______ Optional (tax-deductible in the U.S.) donation. - We suggest 5% if paying by credit card. - - TOTAL $ ______ We pay for shipping via UPS ground transportation in - the contiguous 48 states and Canada. For very - large orders, ask about actual shipping costs for - that order. - -Note: The shipping fee for foreign destinations covers express courier - shipping. If you would like shipping via air mail, please contact - our distribution office for a quote on your order. - -Shipping Information --------------------- - -Name: ________________________________________________________________________ - -Mail Stop/Dept. Name: ________________________________________________________ - -Organization: ________________________________________________________________ - -Street Address: ______________________________________________________________ - -City, State/Province: ________________________________________________________ - -Zip Code/Postal Code, Country: _______________________________________________ - -Telephone number in case of a problem with your order. -For international orders, please include a fax number. _______________________ - -E-mail Address: ______________________________________________________________ - - ------------------------------------------------------------------------------- -| | -| Orders filled only upon receipt of check, money order, or credit card | -| order in U.S. dollars. Unpaid orders will be returned to the sender. | -| We do not have the staff to handle the billing of unpaid orders. Please | -| help keep our lives simple by including your payment with your order. | -| | ------------------------------------------------------------------------------- - - - -For orders from outside the U.S.: ---------------------------------- - -You are responsible for paying all duties, tariffs, and taxes. If you -refuse to pay the charges, the shipper will return or abandon the order. - -In Europe, you may find it cheaper and more convenient to use our European -Distributor. *Note New European Distributor::. - - - --------------------------------------------------------------------------- - | | - | Please make checks payable to the ``Free Software Foundation''. | - | | - | Checks must be in U.S. dollars, drawn on a U.S. bank. | - | | - --------------------------------------------------------------------------- - - - -For Credit Card Orders: ------------------------ - -The Free Software Foundation takes these credit cards: Carte Blanche, -Diner's Club, Discover, JCB, MasterCard, Visa, or American Express. -Please note that we are charged about 5% of an order's total amount in -credit card processing fees. Please consider paying by check instead, -or adding on a 5% donation to make up the difference. To place a credit -card order, please give us this information: - - -Card type: ___________________________________________________________________ - -Account Number: ______________________________________________________________ - -Expiration Date: _____________________________________________________________ - -Cardholder's Name: ___________________________________________________________ - -Cardholder's Signature: ______________________________________________________ - - - ------------------------------------------------------------------------------- -| | -| If you wish to pay by wire transfer or you are a reseller, please | -| contact us or write us for details. | -| | ------------------------------------------------------------------------------- - - - -A possibly more current version of this order form can be found on the -World Wide Web at `http://www.gnu.ai.mit.edu/order/order.html' or -can be found in file `/pub/gnu/GNUinfo/ORDERS' on a GNU FTP host -(*note How to Get GNU Software::.). - - - - Please mail orders to: Free Software Foundation - 59 Temple Place - Suite 330 - Boston, MA 02111 -PRICES AND CONTENTS MAY CHANGE +1-617-542-5942 -WITHOUT NOTICE AFTER January 31, 1998 Fax (including Japan): +1-617-542-2652 - -Version: July 1997 ASCII etc/ORDERS - ------------------------------------------------------------------------------ @@ -1,4 +1,4 @@ -This directory contains the version 2.7.2 release of the GNU C +This directory contains the egcs version 1.0 release of the GNU C compiler. It includes all of the support for compiling C++ and Objective C, including a run-time library for Objective C. diff --git a/gcc/README.g77 b/gcc/README.g77 index 14d3286..36935887 100644 --- a/gcc/README.g77 +++ b/gcc/README.g77 @@ -14,6 +14,10 @@ which is the top-level directory containing the gcc back end, the gcc C front end, and other non-Fortran files, and gcc/f/, which contains all of the Fortran files. +* Note, if this is an egcs release, all the installation information + which follows is not needed. It is provided for historical reference + only. + * To build GNU Fortran, you must have a source distribution of gcc version 2.7.2.2. Do not attempt to use any other version of gcc, because this version of g77 is designed to work only with @@ -163,4 +167,4 @@ the compiler is in the second pass, otherwise it is in the first. (This information might help you reduce a test case and/or work around a bug in g77 until a fix is available.) -Any questions or comments on these topics, email fortran@gnu.ai.mit.edu. +Any questions or comments on these topics, email egcs@cygnus.com diff --git a/gcc/config/rs6000/aix41.h b/gcc/config/rs6000/aix41.h index fe4d757..2e9b093 100644 --- a/gcc/config/rs6000/aix41.h +++ b/gcc/config/rs6000/aix41.h @@ -36,6 +36,37 @@ Boston, MA 02111-1307, USA. */ #undef ASM_SPEC #define ASM_SPEC "-u %(asm_cpu)" +/* Common ASM definitions used by ASM_SPEC amonst the various targets + for handling -mcpu=xxx switches. */ + +#undef ASM_CPU_SPEC +#define ASM_CPU_SPEC \ +"%{!mcpu*: \ + %{mpower: %{!mpower2: -mpwr}} \ + %{mpower2: -mpwr2} \ + %{mpowerpc*: -mppc} \ + %{mno-power: %{!mpowerpc*: -mcom}} \ + %{!mno-power: %{!mpower2: %(asm_default)}}} \ +%{mcpu=common: -mcom} \ +%{mcpu=power: -mpwr} \ +%{mcpu=power2: -mpwr2} \ +%{mcpu=powerpc: -mppc} \ +%{mcpu=rios: -mpwr} \ +%{mcpu=rios1: -mpwr} \ +%{mcpu=rios2: -mpwr2} \ +%{mcpu=rsc: -mpwr} \ +%{mcpu=rsc1: -mpwr} \ +%{mcpu=403: -mppc} \ +%{mcpu=505: -mppc} \ +%{mcpu=601: -m601} \ +%{mcpu=602: -mppc} \ +%{mcpu=603: -m603} \ +%{mcpu=603e: -m603} \ +%{mcpu=604: -m604} \ +%{mcpu=620: -mppc} \ +%{mcpu=821: -mppc} \ +%{mcpu=860: -mppc}" + #undef CPP_PREDEFINES #define CPP_PREDEFINES "-D_IBMR2 -D_POWER -D_AIX -D_AIX32 -D_AIX41 \ -Asystem(unix) -Asystem(aix)" diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index a39b941..464252d 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1387,9 +1387,6 @@ function_arg_partial_nregs (cum, mode, type, named) return 0; } - if (GET_MODE_CLASS (mode) == MODE_FLOAT && TARGET_HARD_FLOAT) - return 0; - if (cum->words < GP_ARG_NUM_REG && GP_ARG_NUM_REG < (cum->words + RS6000_ARG_SIZE (mode, type, named))) { diff --git a/gcc/f/INSTALL b/gcc/f/INSTALL index cccbe95..5072a55 100644 --- a/gcc/f/INSTALL +++ b/gcc/f/INSTALL @@ -3,6 +3,9 @@ compiler. Copyright (C) 1995, 1996 Free Software Foundation, Inc. You may copy, distribute, and modify it freely as long as you preserve this copyright notice and permission notice. +Note most of this information is out of date and superceded by the EGCS +install procedures. It is provided for historical reference only. + Installing GNU Fortran ********************** @@ -1594,7 +1597,7 @@ general) are broken, at least for their system. until you're sure your distribution is widely used and has been well tested. This especially goes for those of you making any changes to the `g77' sources to port `g77', e.g. to OS/2. -<fortran@gnu.ai.mit.edu> has received a fair number of bug reports that +<fortran@gnu.org> has received a fair number of bug reports that turned out to be problems with other peoples' ports and distributions, about which nothing could be done for the user. Once you are quite certain a bug report does not involve your efforts, you can forward it diff --git a/gcc/f/g77.texi b/gcc/f/g77.texi index c5b5bb6..d2f3d99 100644 --- a/gcc/f/g77.texi +++ b/gcc/f/g77.texi @@ -91,7 +91,7 @@ translations approved by the Free Software Foundation instead of in the original English. @end ifinfo -Contributed by James Craig Burley (@email{burley@@gnu.ai.mit.edu}). +Contributed by James Craig Burley (@email{burley@@gnu.org}). Inspired by a first pass at translating @file{g77-0.5.16/f/DOC} that was contributed to Craig by David Ronis (@email{ronis@@onsager.chem.mcgill.ca}). @@ -762,7 +762,7 @@ without royalty; alteration is not permitted. @cindex improvements, funding Work on GNU Fortran is still being done mostly by its author, -James Craig Burley (@email{burley@@gnu.ai.mit.edu}), who is a volunteer +James Craig Burley (@email{burley@@gnu.org}), who is a volunteer for, not an employee of, the Free Software Foundation (FSF). As with other GNU software, funding is important because it can pay for needed equipment, personnel, and so on. @@ -772,7 +772,7 @@ needed equipment, personnel, and so on. The FSF provides information on the best way to fund ongoing development of GNU software (such as GNU Fortran) in documents such as the ``GNUS Bulletin''. -Email @email{gnu@@prep.ai.mit.edu} for information on funding the FSF. +Email @email{gnu@@gnu.org} for information on funding the FSF. To fund specific GNU Fortran work in particular, the FSF might provide a means for that, but the FSF does not provide direct funding @@ -801,7 +801,7 @@ would be able to plan on not doing contract work for many months and could thus devote that time to work on projects (such as the planned changes for 0.6) that require longer timeframes to complete. For the latest information on the status of the author, do -@kbd{finger -l burley@@gate.gnu.ai.mit.edu} on a UNIX system +@kbd{finger -l burley@@gnu.org} on a UNIX system (or any system with a command like UNIX @code{finger}). Another important way to support work on GNU Fortran is to volunteer @@ -810,7 +810,7 @@ Work is needed on documentation, testing, porting to various machines, and in some cases, coding (although major changes planned for version 0.6 make it difficult to add manpower to this area). -Email @email{fortran@@gnu.ai.mit.edu} to volunteer for this work. +Email @email{egcs@@cygnus.com} to volunteer for this work. @xref{Funding,,Funding Free Software}, for more information. @@ -3251,9 +3251,9 @@ users use @code{g77}. such changes to @code{g77}. To find out about existing bugs and ongoing plans for GNU -Fortran, retrieve @code{ftp://alpha.gnu.ai.mit.edu/g77.plan} +Fortran, retrieve @code{ftp://alpha.gnu.org/g77.plan} or, if you cannot do that, email -@email{fortran@@gnu.ai.mit.edu} asking for a recent copy of the +@email{fortran@@gnu.org} asking for a recent copy of the GNU Fortran @file{.plan} file. @heading In 0.5.21: @@ -10164,7 +10164,7 @@ or installing @code{g77} is not provided here. To find out about major bugs discovered in the current release and possible workarounds for them, retrieve -@code{ftp://alpha.gnu.ai.mit.edu/g77.plan}. +@code{ftp://alpha.gnu.org/g77.plan}. (Note that some of this portion of the manual is lifted directly from the @code{gcc} manual, with minor modifications @@ -12290,8 +12290,8 @@ exposes it more readily than other compilers. @node Bug Lists @section Where to Report Bugs @cindex bug report mailing lists -@kindex fortran@@gnu.ai.mit.edu -Send bug reports for GNU Fortran to @email{fortran@@gnu.ai.mit.edu}. +@kindex egcs-bugs@@cygnus.com +Send bug reports for GNU Fortran to @email{egcs-bugs@@cygnus.com}. Often people think of posting bug reports to a newsgroup instead of mailing them. @@ -12627,7 +12627,7 @@ we should be able to reproduce the crash ourselves. If you would like to write bug fixes or improvements for the GNU Fortran compiler, that is very helpful. Send suggested fixes to the bug report -mailing list, @email{fortran@@gnu.ai.mit.edu}. +mailing list, @email{egcs-bugs@@cygnus.com}. Please follow these guidelines so we can study your patches efficiently. If you don't follow these guidelines, your information might still be @@ -12752,7 +12752,7 @@ The service directory is found in the file named @file{SERVICE} in the GNU CC distribution. @item -Send a message to @email{fortran@@gnu.ai.mit.edu}. +Send a message to @email{egcs@@cygnus.com}. @end itemize @end ifset diff --git a/gcc/f/g77install.texi b/gcc/f/g77install.texi index acee44a..32bb91e 100644 --- a/gcc/f/g77install.texi +++ b/gcc/f/g77install.texi @@ -7,6 +7,9 @@ @c 1997-09-09 +Note most of this information is out of date and superceded by the EGCS +install procedures. It is provided for historical reference only. + @ifclear INSTALLONLY @node Installation @chapter Installing GNU Fortran @@ -2106,7 +2109,7 @@ until you're sure your distribution is widely used and has been well tested. This especially goes for those of you making any changes to the @code{g77} sources to port @code{g77}, e.g. to OS/2. -@email{fortran@@gnu.ai.mit.edu} has received a fair number of bug +@email{fortran@@gnu.org} has received a fair number of bug reports that turned out to be problems with other peoples' ports and distributions, about which nothing could be done for the user. diff --git a/gcc/f/gbe/README b/gcc/f/gbe/README index c30f5d7..f8b7180 100644 --- a/gcc/f/gbe/README +++ b/gcc/f/gbe/README @@ -1,3 +1,10 @@ +971202 +It is not necessary to apply the "backend" patch to an egcs based gcc +release. The files in this directory are included in the egcs distribution +for historical purposes only. + + + 970909 This directory contains .diff files for various GNU CC distributions diff --git a/gcc/f/lex.c b/gcc/f/lex.c index acb4391..dbf79dd 100644 --- a/gcc/f/lex.c +++ b/gcc/f/lex.c @@ -230,7 +230,7 @@ ffelex_append_to_token_ (char c) } #ifdef MAP_CHARACTER Sorry, MAP_CHARACTER is not going to work as expected in GNU Fortran, -please contact fortran@gnu.ai.mit.edu if you wish to fund work to +please contact fortran@gnu.org if you wish to fund work to port g77 to non-ASCII machines. #endif ffelex_token_->text[ffelex_token_->length++] = c; @@ -20,10 +20,10 @@ .if n .sp .if t .sp 0.4 .. -.Id $Id: gcc.1,v 1.4 1993/10/13 23:19:12 pesch Exp $ +.Id $Id: gcc.1,v 1.1.1.2 1997/11/02 08:40:04 law Exp $ .TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools" .SH NAME -gcc, g++ \- GNU project C and C++ Compiler (v2.7) +gcc, g++ \- GNU project C and C++ Compiler (egcs-1.0) .SH SYNOPSIS .B gcc .RI "[ " option " | " filename " ].\|.\|." @@ -190,6 +190,8 @@ in the following sections. \-Wformat .RI \-Wid\-clash\- len \-Wimplicit +\-Wimplicit\-int +\-Wimplicit\-function\-declaration \-Winline \-Wmain \-Wmissing\-prototypes @@ -1717,8 +1719,14 @@ An unsigned value is compared against zero with `\|\c \&\|'. .PP .TP +.B \-Wimplicit-int +Warn whenever a declaration does not specify a type. +.TP +.B \-Wimplicit-function-declaration +Warn whenever a function is used before being declared. +.TP .B \-Wimplicit -Warn whenever a function or parameter is implicitly declared. +Same as -Wimplicit-int and -Wimplicit-function-declaration. .TP .B \-Wmain Warn if the diff --git a/gcc/gcc.texi b/gcc/gcc.texi index 83ac13b..64ed7d2 100644 --- a/gcc/gcc.texi +++ b/gcc/gcc.texi @@ -148,12 +148,12 @@ original English. @sp 1 @c The version number appears twice more in this file. -@center for version 2.7.2 +@center for egcs-1.0 @page @vskip 0pt plus 1filll Copyright @copyright{} 1988, 89, 92, 93, 94, 95, 96 Free Software Foundation, Inc. @sp 2 -For GCC Version 2.7.2@* +For EGCS Version 1.0@* @sp 1 Published by the Free Software Foundation @* 59 Temple Place - Suite 330@* @@ -194,19 +194,19 @@ original English. @ifset USING This manual documents how to run, install and port the GNU compiler, as well as its new features and incompatibilities, and how to -report bugs. It corresponds to GNU CC version 2.7.2. +report bugs. It corresponds to EGCS version 1.0. @end ifset @end ifset @ifclear INTERNALS This manual documents how to run and install the GNU compiler, as well as its new features and incompatibilities, and how to report -bugs. It corresponds to GNU CC version 2.7.2. +bugs. It corresponds to EGCS version 1.0. @end ifclear @ifclear USING This manual documents how to port the GNU compiler, as well as its new features and incompatibilities, and how to report -bugs. It corresponds to GNU CC version 2.7.1. +bugs. It corresponds to EGCS version 1.0. @end ifclear @end ifinfo @@ -2188,24 +2188,13 @@ for improvement of GNU CC or GNU C++ are welcome in any case. @node Bug Lists @section Where to Report Bugs @cindex bug report mailing lists -@kindex bug-gcc@@prep.ai.mit.edu -Send bug reports for GNU C to @samp{bug-gcc@@prep.ai.mit.edu}. +@kindex egcs-bugs@@cygnus.com +Send bug reports for GNU C to @samp{egcs-bugs@@cygnus.com}. -@kindex bug-g++@@prep.ai.mit.edu -@kindex bug-libg++@@prep.ai.mit.edu -Send bug reports for GNU C++ to @samp{bug-g++@@prep.ai.mit.edu}. If -your bug involves the C++ class library libg++, send mail instead to the -address @samp{bug-lib-g++@@prep.ai.mit.edu}. If you're not sure, you -can send the bug report to both lists. - -@strong{Do not send bug reports to @samp{help-gcc@@prep.ai.mit.edu} or -to the newsgroup @samp{gnu.gcc.help}.} Most users of GNU CC do not want -to receive bug reports. Those that do, have asked to be on -@samp{bug-gcc} and/or @samp{bug-g++}. - -The mailing lists @samp{bug-gcc} and @samp{bug-g++} both have newsgroups -which serve as repeaters: @samp{gnu.gcc.bug} and @samp{gnu.g++.bug}. -Each mailing list and its newsgroup carry exactly the same messages. +@kindex egcs-bugs@@cygnus.com +@kindex egcs-bugs@@cygnus.com +Send bug reports for GNU C++ and the C++ runtime libraries to +@samp{egcs-bugs@@cygnus.com}. Often people think of posting bug reports to the newsgroup instead of mailing them. This appears to work, but it has one problem which can be @@ -2491,7 +2480,7 @@ we should be able to reproduce the crash ourselves. If you would like to write bug fixes or improvements for the GNU C compiler, that is very helpful. Send suggested fixes to the bug report -mailing list, @code{bug-gcc@@prep.ai.mit.edu}. +mailing list, @code{egcs-bugs@@cygnus.com}. Please follow these guidelines so we can study your patches efficiently. If you don't follow these guidelines, your information might still be @@ -2611,8 +2600,8 @@ ways to find it: @itemize @bullet @item Send a message to a suitable network mailing list. First try -@code{bug-gcc@@prep.ai.mit.edu}, and if that brings no response, try -@code{help-gcc@@prep.ai.mit.edu}. +@code{egcs-bugs@@cygnus.com}, and if that brings no response, try +@code{egcs@@cygnus.com}. @item Look in the service directory for someone who might help you for a fee. @@ -2625,13 +2614,13 @@ GNU CC distribution. If you would like to help pretest GNU CC releases to assure they work well, or if you would like to work on improving GNU CC, please contact -the maintainers at @code{bug-gcc@@gnu.ai.mit.edu}. A pretester should +the maintainers at @code{egcs@@cygnus.com}. A pretester should be willing to try to investigate bugs as well as report them. If you'd like to work on improvements, please ask for suggested projects or suggest your own ideas. If you have already written an improvement, please tell us about it. If you have not yet started work, it is useful -to contact @code{bug-gcc@@prep.ai.mit.edu} before you start; the +to contact @code{egcs@@cygnus.com} before you start; the maintainers may be able to suggest ways to make your extension fit in better with the rest of GNU CC and with other development plans. diff --git a/gcc/install.texi b/gcc/install.texi index 181aacb..cc87d82 100644 --- a/gcc/install.texi +++ b/gcc/install.texi @@ -5,6 +5,9 @@ @c The text of this file appears in the file INSTALL @c in the GCC distribution, as well as in the GCC manual. +Note most of this information is out of date and superceded by the EGCS +install procedures. It is provided for historical reference only. + @ifclear INSTALLONLY @node Installation @chapter Installing GNU CC diff --git a/gcc/invoke.texi b/gcc/invoke.texi index f2b8034..4e07c60 100644 --- a/gcc/invoke.texi +++ b/gcc/invoke.texi @@ -366,7 +366,7 @@ in the following sections. @xref{Code Gen Options,,Options for Code Generation Conventions}. @smallexample -fcall-saved-@var{reg} -fcall-used-@var{reg} --ffixed-@var{reg} -finhibit-size-directive +-fexceptions -ffixed-@var{reg} -finhibit-size-directive -fcheck-memory-usage -fprefix-function-name -fno-common -fno-ident -fno-gnu-linker -fpcc-struct-return -fpic -fPIC @@ -2306,7 +2306,7 @@ These two options are intended to be removed someday, once they have helped determine the efficacy of various approaches to improving loop optimizations. -Please let us (@code{egcs@@cygnus.com} and @code{fortran@@gnu.ai.mit.edu}) +Please let us (@code{egcs@@cygnus.com} and @code{fortran@@gnu.org}) know how use of these options affects the performance of your production code. We're very interested in code that runs @emph{slower} @@ -5389,6 +5389,14 @@ environment with multiple threads, but only rarely need to specify it in a single-threaded environment since stack overflow is automatically detected on nearly all systems if there is only one stack. +@item -fexceptions +Enable exception handling. For some targets, this implies +generation of frame unwind information for all functions, which can produce +significant data size overhead, though it does not affect execution. + +This option is on by default for languages that support exception +handling (such as C++), and off for those that don't (such as C). + @item +e0 @itemx +e1 Control whether virtual function definitions in classes are used to @@ -1,3 +1,9 @@ +*** Major changes in libio for egcs: + +* Better support for Linux. + +* Dejagnu testsuite. + *** Major changes in libio version 2.7.0: * The data representations of _IO_FILE and streambufs have been modified. diff --git a/libstdc++/NEWS b/libstdc++/NEWS index 7ffcd56..89e866e 100644 --- a/libstdc++/NEWS +++ b/libstdc++/NEWS @@ -1,13 +1,9 @@ SUMMARY OF RECENT MAJOR CHANGES to LIBSTDC++. (Also check ../libio/NEWS.) -*** Noteworthy changes in libstdc++ version 2.8.0: +*** Noteworthy changes in libstdc++ for EGCS -* The STL implementation in libstdc++ is now only slightly modified from - the HP distribution, thanks to improved template support in gcc 2.8.0. +* EGCS includes the SGI STL implementation without changes. -* The string representation class is now nested in the basic_string - template, since this is supported in the new gcc. - -* As a result of these and other changes, libstc++ 2.8.0 is not binary +* As a result of these and other changes, libstc++ for EGCS is not binary compatible with previous releases of libstdc++. diff --git a/texinfo/ChangeLog b/texinfo/ChangeLog index 7f5a278..2a65dd9 100644 --- a/texinfo/ChangeLog +++ b/texinfo/ChangeLog @@ -1,3 +1,8 @@ +Tue Dec 2 20:24:40 1997 Bruno Haible <haible@ilog.fr> + + * makeinfo/makeinfo.c (find_and_load, convert_from_stream): + Zero-terminate the file contents. + Fri Oct 31 09:39:31 1997 Jeffrey A Law (law@cygnus.com) * Makefile.in (install targets): Add a dummy target for sunos make. diff --git a/texinfo/INSTALL b/texinfo/INSTALL index a2c8722..178cd2b 100644 --- a/texinfo/INSTALL +++ b/texinfo/INSTALL @@ -1,3 +1,6 @@ +Note most of this information is out of date and superceded by the EGCS +install procedures. It is provided for historical reference only. + Basic Installation ================== diff --git a/texinfo/makeinfo/makeinfo.c b/texinfo/makeinfo/makeinfo.c index 2b9e966..afcc2e2 100644 --- a/texinfo/makeinfo/makeinfo.c +++ b/texinfo/makeinfo/makeinfo.c @@ -1,5 +1,5 @@ /* Makeinfo -- convert texinfo format files into info files. - $Id: makeinfo.c,v 1.2 1997/09/03 04:25:24 law Exp $ + $Id: makeinfo.c,v 1.5 1998/03/03 09:03:45 law Exp $ Copyright (C) 1987, 92, 93, 94, 95, 96 Free Software Foundation, Inc. @@ -1167,7 +1167,7 @@ find_and_load (filename) goto error_exit; /* Load the file. */ - result = (char *)xmalloc (1 + file_size); + result = (char *)xmalloc (file_size + 2); /* VMS stat lies about the st_size value. The actual number of readable bytes is always less than this value. The arcane @@ -1207,6 +1207,8 @@ find_and_load (filename) extra unnecessary work each time it is called (that is a lot of times). The SIZE_OF_INPUT_TEXT is one past the actual end of the text. */ input_text[size_of_input_text] = '\n'; + /* Necessary, because later on we call strlen(input_text+limit). */ + input_text[size_of_input_text+1] = '\0'; return (result); } @@ -1947,21 +1949,22 @@ convert_from_stream (stream, name) FILE *stream; char *name; { - char *buffer = (char *)NULL; - int buffer_offset = 0, buffer_size = 0; + int buffer_size = READ_BUFFER_GROWTH; + char *buffer = (char *) xmalloc (buffer_size + 2); + int buffer_offset = 0; initialize_conversion (); /* Read until the end of the stream. This isn't strictly correct, since the texinfo input may end before the stream ends, but it is a quick - working hueristic. */ + working heuristic. */ while (!feof (stream)) { int count; - if (buffer_offset + (READ_BUFFER_GROWTH + 1) >= buffer_size) + if (buffer_offset + READ_BUFFER_GROWTH > buffer_size) buffer = (char *) - xrealloc (buffer, (buffer_size += READ_BUFFER_GROWTH)); + xrealloc (buffer, (buffer_size += READ_BUFFER_GROWTH) + 2); count = fread (buffer + buffer_offset, 1, READ_BUFFER_GROWTH, stream); @@ -1988,6 +1991,8 @@ convert_from_stream (stream, name) extra unnecessary work each time it is called (that is a lot of times). The SIZE_OF_INPUT_TEXT is one past the actual end of the text. */ input_text[size_of_input_text] = '\n'; + /* Necessary, because later on we call strlen(input_text+limit). */ + input_text[size_of_input_text+1] = '\0'; convert_from_loaded_file (name); } |