diff options
author | Jeff Law <law@gcc.gnu.org> | 1997-09-14 14:04:23 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-09-14 14:04:23 -0600 |
commit | 34b8e4280d350c177be2de63f73b7d04624caf7d (patch) | |
tree | a8b48df2f287176e0a2607c5583cf5978d66f54f /gcc/f/INSTALL | |
parent | ddd28aec2d2b01bde4bbb1e9d4526baed21ddf54 (diff) | |
download | gcc-34b8e4280d350c177be2de63f73b7d04624caf7d.zip gcc-34b8e4280d350c177be2de63f73b7d04624caf7d.tar.gz gcc-34b8e4280d350c177be2de63f73b7d04624caf7d.tar.bz2 |
Update to official g77-0.5.21.
From-SVN: r15443
Diffstat (limited to 'gcc/f/INSTALL')
-rw-r--r-- | gcc/f/INSTALL | 195 |
1 files changed, 146 insertions, 49 deletions
diff --git a/gcc/f/INSTALL b/gcc/f/INSTALL index c26e5fb..cccbe95 100644 --- a/gcc/f/INSTALL +++ b/gcc/f/INSTALL @@ -38,13 +38,16 @@ follow the `g77' installation instructions: available--in fact, a complete GNU UNIX system can be put together on most systems, if desired. -`gcc-2.7.2.2.tar.gz' + The version of GNU `gzip' used to package this release is 1.24. + (The version of GNU `tar' used to package this release is 1.11.2.) + +`gcc-2.7.2.3.tar.gz' You need to have this, or some other applicable, version of `gcc' on your system. The version should be an exact copy of a - distribution from the FSF. It is approximately 7MB large. + distribution from the FSF. Its size is approximately 7.1MB. - If you've already unpacked `gcc-2.7.2.2.tar.gz' into a directory - (named `gcc-2.7.2.2') called the "source tree" for `gcc', you can + If you've already unpacked `gcc-2.7.2.3.tar.gz' into a directory + (named `gcc-2.7.2.3') called the "source tree" for `gcc', you can delete the distribution itself, but you'll need to remember to skip any instructions to unpack this distribution. @@ -52,27 +55,85 @@ follow the `g77' installation instructions: You can obtain an FSF distribution of `gcc' from the FSF. `g77-0.5.21.tar.gz' - You probably have already unpacked this distribution, or you are - reading an advanced copy of this manual, which is contained in - this distribution. This distribution approximately 1MB large. + You probably have already unpacked this package, or you are + reading an advance copy of these installation instructions, which + are contained in this distribution. The size of this package is + approximately 1.5MB. You can obtain an FSF distribution of `g77' from the FSF, the same way you obtained `gcc'. -100MB disk space - For a complete "bootstrap" build, about 100MB of disk space is - required for `g77' by the author's current GNU/Linux system. - - Some juggling can reduce the amount of space needed; during the - bootstrap process, once Stage 3 starts, during which the version - of `gcc' that has been copied into the `stage2/' directory is used - to rebuild the system, you can delete the `stage1/' directory to - free up some space. - - It is likely that many systems don't require the complete - bootstrap build, as they already have a recent version of `gcc' - installed. Such systems might be able to build `g77' with only - about 75MB of free space. +Enough disk space + The amount of disk space needed to unpack, build, install, and use + `g77' depends on the type of system you're using, how you build + `g77', and how much of it you install (primarily, which languages + you install). + + The sizes shown below assume all languages distributed in + `gcc-2.7.2.3', plus `g77', will be built and installed. These + sizes are indicative of GNU/Linux systems on Intel x86 running + COFF and on Digital Alpha (AXP) systems running ELF. These should + be fairly representative of 32-bit and 64-bit systems, + respectively. + + Note that all sizes are approximate and subject to change without + notice! They are based on preliminary releases of g77 made shortly + before the public beta release. + + -- `gcc' and `g77' distributions occupy 8.6MB packed, 35MB + unpacked. These consist of the source code and documentation, + plus some derived files (mostly documentation), for `gcc' and + `g77'. Any deviations from these numbers for different kinds + of systems are likely to be very minor. + + -- A "bootstrap" build requires an additional 67.3MB for a + total of 102MB on an ix86, and an additional 98MB for a total + of 165MB on an Alpha. + + -- Removing `gcc/stage1' after the build recovers 10.7MB for a + total of 91MB on an ix86, and recovers ??MB for a total of + ??MB on an Alpha. + + After doing this, the integrity of the build can still be + verified via `make compare', and the `gcc' compiler modified + and used to build itself for testing fairly quickly, using + the copy of the compiler kept in `gcc/stage2'. + + -- Removing `gcc/stage2' after the build further recovers + 27.3MB for a total of 64.3MB, and recovers ??MB for a total + of ??MB on an Alpha. + + After doing this, the compiler can still be installed, + especially if GNU `make' is used to avoid gratuitous rebuilds + (or, the installation can be done by hand). + + -- Installing `gcc' and `g77' copies 14.9MB onto the `--prefix' + disk for a total of 79.2MB on an ix86, and copies ??MB onto + the `--prefix' disk for a total of ??MB on an Alpha. + + After installation, if no further modifications and builds of + `gcc' or `g77' are planned, the source and build directory may be + removed, leaving the total impact on a system's disk storage as + that of the amount copied during installation. + + Systems with the appropriate version of `gcc' installed don't + require the complete bootstrap build. Doing a "straight build" + requires about as much space as does a bootstrap build followed by + removing both the `gcc/stage1' and `gcc/stage2' directories. + + Installing `gcc' and `g77' over existing versions might require + less *new* disk space, but note that, unlike many products, `gcc' + installs itself in a way that avoids overwriting other installed + versions of itself, so that other versions may easily be invoked + (via `gcc -V VERSION'). + + So, the amount of space saved as a result of having an existing + version of `gcc' and `g77' already installed is not + much--typically only the command drivers (`gcc', `g77', `g++', and + so on, which are small) and the documentation is overwritten by + the new installation. The rest of the new installation is done + without replacing existing installed versions (assuming they have + different version numbers). `patch' Although you can do everything `patch' does yourself, by hand, @@ -84,11 +145,15 @@ follow the `g77' installation instructions: In any case, you can apply patches by hand--patch files are designed for humans to read them. + The version of GNU `patch' used to develop this release is 2.4. + `make' Your system must have `make', and you will probably save yourself a lot of trouble if it is GNU `make' (sometimes referred to as `gmake'). + The version of GNU `make' used to develop this release is 3.73. + `cc' Your system must have a working C compiler. @@ -102,6 +167,8 @@ follow the `g77' installation instructions: distribution. You can obtain `bison' the same way you obtained `gcc' and `g77'. + The version of GNU `bison' used to develop this release is 1.25. + *Note Missing bison?::, for information on how to work around not having `bison'. @@ -110,12 +177,27 @@ follow the `g77' installation instructions: need for it. You can obtain `makeinfo' the same way you obtained `gcc' and `g77'. + The version of GNU `makeinfo' used to develop this release is + 1.68, from GNU `texinfo' version 3.11. + *Note Missing makeinfo?::, for information on getting around the lack of `makeinfo'. -`root' access +`sed' + All UNIX systems have `sed', but some have a broken version that + cannot handle configuring, building, or installing `gcc' or `g77'. + + The version of GNU `sed' used to develop this release is 2.05. + (Note that GNU `sed' version 3.0 was withdrawn by the FSF--if you + happen to have this version installed, replace it with version + 2.05 immediately. See a GNU distribution site for further + explanation.) + +`root' access or equivalent To perform the complete installation procedures on a system, you - need to have `root' access to that system, or equivalent access. + need to have `root' access to that system, or equivalent access to + the `--prefix' directory tree specified on the `configure' command + line. Portions of the procedure (such as configuring and building `g77') can be performed by any user with enough disk space and virtual @@ -282,7 +364,7 @@ reasons. * Improvements to the way `libf2c' is built could make building `g77' as a cross-compiler easier--for example, passing and using - `LD' and `AR' in the appropriate ways. + `$(LD)' and `$(AR)' in the appropriate ways. * There are still some challenges putting together the right run-time libraries (needed by `libf2c') for a target system, @@ -472,7 +554,7 @@ is assumed that the source distributions themselves already reside in `/usr/FSF', a naming convention used by the author of `g77' on his own system: - /usr/FSF/gcc-2.7.2.2.tar.gz + /usr/FSF/gcc-2.7.2.3.tar.gz /usr/FSF/g77-0.5.21.tar.gz Users of the following systems should not blindly follow these @@ -496,20 +578,20 @@ of some of the steps. These explanations follow this list of steps. sh[ 1]# cd /usr/src - sh[ 2]# gunzip -c < /usr/FSF/gcc-2.7.2.2.tar.gz | tar xf - + sh[ 2]# gunzip -c < /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf - [Might say "Broken pipe"...that is normal on some systems.] sh[ 3]# gunzip -c < /usr/FSF/g77-0.5.21.tar.gz | tar xf - ["Broken pipe" again possible.] - sh[ 4]# ln -s gcc-2.7.2.2 gcc + sh[ 4]# ln -s gcc-2.7.2.3 gcc sh[ 5]# ln -s g77-0.5.21 g77 sh[ 6]# mv -i g77/* gcc [No questions should be asked by mv here; or, you made a mistake.] - sh[ 7]# patch -p1 -V t -d gcc < gcc/f/gbe/2.7.2.2.diff + sh[ 7]# patch -p1 -V t -d gcc < gcc/f/gbe/2.7.2.3.diff [Unless patch complains about rejected patches, this step worked.] sh[ 8]# cd gcc @@ -531,15 +613,22 @@ of some of the steps. These explanations follow this list of steps. sh[12]# make bootstrap [This takes a long time, and is where most problems occur.] - sh[13]# rm -fr stage1 + sh[13]# make compare + [This verifies that the compiler is `sane'. Only + the file `f/zzz.o' (aka `tmp-foo1' and `tmp-foo2') + should be in the list of object files this command + prints as having different contents. If other files + are printed, you have likely found a g77 bug.] - sh[14]# make -k install + sh[14]# rm -fr stage1 + + sh[15]# make -k install [The actual installation.] - sh[15]# g77 -v + sh[16]# g77 -v [Verify that g77 is installed, obtain version info.] - sh[16]# + sh[17]# *Note Updating Your Info Directory: Updating Documentation, for information on how to update your system's top-level `info' directory @@ -562,7 +651,7 @@ Step 3: `gunzip -d < /usr/FSF/g77-0.5.21.tar.gz | tar xf -' achieve the same result--a source tree containing version 0.5.21 of `g77'. -Step 4: `ln -s gcc-2.7.2.2 gcc' +Step 4: `ln -s gcc-2.7.2.3 gcc' Step 5: `ln -s g77-0.5.21 g77' These commands mainly help reduce typing, and help reduce visual @@ -641,10 +730,18 @@ Step 12: `make bootstrap' *Note Building gcc::, for complete `g77'-specific information on this step. -Step 13: `rm -fr stage1' +Step 13: `make compare' + *Note Where to Port Bugs: Bug Lists, for information on where to + report that you observed more than `f/zzz.o' having different + contents during this phase. + + *Note How to Report Bugs: Bug Reporting, for information on *how* + to report bugs like this. + +Step 14: `rm -fr stage1' You don't need to do this, but it frees up disk space. -Step 14: `make -k install' +Step 15: `make -k install' If this doesn't seem to work, try: make -k install install-libf77 install-f2c-all @@ -655,7 +752,7 @@ Step 14: `make -k install' information on entering this manual into your system's list of texinfo manuals. -Step 15: `g77 -v' +Step 16: `g77 -v' If this command prints approximately 25 lines of output, including the GNU Fortran Front End version number (which should be the same as the version number for the version of `g77' you just built and @@ -723,9 +820,9 @@ generally only the documentation is immediately usable. A sequence of commands typically used to unpack `gcc' and `g77' is: sh# cd /usr/src - sh# gunzip -d < /usr/FSF/gcc-2.7.2.2.tar.gz | tar xf - - sh# gunzip -d < /usr/FSF/g77-0.5.21.tar.gz | tar xf - - sh# ln -s gcc-2.7.2.2 gcc + sh# gunzip -c /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf - + sh# gunzip -c /usr/FSF/g77-0.5.21.tar.gz | tar xf - + sh# ln -s gcc-2.7.2.3 gcc sh# ln -s g77-0.5.21 g77 sh# mv -i g77/* gcc @@ -745,7 +842,7 @@ and the top level of just the `g77' source tree (prior to issuing the All three entries should be moved (or copied) into a `gcc' source tree (typically named after its version number and as it appears in the -FSF distributions--e.g. `gcc-2.7.2.2'). +FSF distributions--e.g. `gcc-2.7.2.3'). `g77/f' is the subdirectory containing all of the code, documentation, and other information that is specific to `g77'. The @@ -1214,43 +1311,43 @@ them when they work: g77 version 0.5.21 ./xgcc -B./ -v -fnull-version -o /tmp/gfa18047 ... Reading specs from ./specs - gcc version 2.7.2.2.f.3 + gcc version 2.7.2.3.f.1 ./cpp -lang-c -v -isystem ./include -undef ... - GNU CPP version 2.7.2.2.f.3 (Linux/Alpha) + GNU CPP version 2.7.2.3.f.1 (Linux/Alpha) #include "..." search starts here: #include <...> search starts here: ./include /usr/local/include /usr/alpha-unknown-linux/include - /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.2.f.3/include + /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include /usr/include End of search list. ./f771 /tmp/cca18048.i -fset-g77-defaults -quiet -dumpbase ... - GNU F77 version 2.7.2.2.f.3 (Linux/Alpha) compiled ... + GNU F77 version 2.7.2.3.f.1 (Linux/Alpha) compiled ... GNU Fortran Front End version 0.5.21 compiled: ... as -nocpp -o /tmp/cca180481.o /tmp/cca18048.s ld -G 8 -O1 -o /tmp/gfa18047 /usr/lib/crt0.o -L. ... __G77_LIBF77_VERSION__: 0.5.21 @(#)LIBF77 VERSION 19970404 __G77_LIBI77_VERSION__: 0.5.21 - @(#) LIBI77 VERSION pjw,dmg-mods 19970527 + @(#) LIBI77 VERSION pjw,dmg-mods 19970816 __G77_LIBU77_VERSION__: 0.5.21 @(#) LIBU77 VERSION 19970609 sh# ./xgcc -B./ -v -o /tmp/delete-me -xc /dev/null -xnone Reading specs from ./specs - gcc version 2.7.2.2.f.3 + gcc version 2.7.2.3.f.1 ./cpp -lang-c -v -isystem ./include -undef ... - GNU CPP version 2.7.2.2.f.3 (Linux/Alpha) + GNU CPP version 2.7.2.3.f.1 (Linux/Alpha) #include "..." search starts here: #include <...> search starts here: ./include /usr/local/include /usr/alpha-unknown-linux/include - /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.2.f.3/include + /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include /usr/include End of search list. ./cc1 /tmp/cca18063.i -quiet -dumpbase null.c -version ... - GNU C version 2.7.2.2.f.3 (Linux/Alpha) compiled ... + GNU C version 2.7.2.3.f.1 (Linux/Alpha) compiled ... as -nocpp -o /tmp/cca180631.o /tmp/cca18063.s ld -G 8 -O1 -o /tmp/delete-me /usr/lib/crt0.o -L. ... /usr/lib/crt0.o: In function `__start': |