--- gcc/INSTALL 2018/04/24 16:43:47 1.1.1.4 +++ gcc/INSTALL 2018/04/24 16:48:15 1.1.1.8 @@ -1,10 +1,12 @@ -This is a copy of one node from the Info file internals-1. +This is a copy of one node from the Info file gcc.info-1. For full information on installing and porting GCC, refer to the -internals manual: +GCC manual: - Info file internals - TeX output internals.dvi - TeX source internals.texinfo + Info file gcc.info + TeX output gcc.dvi + TeX source gcc.texinfo + +File: gcc.info, Node: Installation, Next: Trouble, Prev: Options, Up: Top Installing GNU CC ***************** @@ -17,37 +19,113 @@ Here is the procedure for installing GNU 1. Edit `Makefile'. If you are using HPUX, or any form of system V, you must make a few changes described in comments at the - beginning of the file. + beginning of the file. Genix requires changes also. 2. On a Sequent system, go to the Berkeley universe. - 3. Choose configuration files. + 3. Choose configuration files. The easy way to do this is to run + the command file `config.gcc' with a single argument, which is + the name of the machine (and operating system, in some cases). + + Here is a list of the possible arguments: + + `vax' + Vaxes running BSD. + + `vms' + Vaxes running VMS. + + `vax-sysv' + Vaxes running system V. + + `i386-sysv' + Intel 386 PCs running system V. + + `sequent-386' + Sequent with Intel 386 processors. + + `sun2' + Sun 2 running system version 2 or 3. + + `sun3' + Sun 3 running system version 2 or 3. + + `sun4' + Sun 4 running system version 2 or 3. + + `sun2-os4' + Sun 2 running system version 4. + + `sun3-os4' + Sun 3 running system version 4. + + `sun4-os4' + Sun 4 running system version 4. + + `sun386' + Sun 386 (``roadrunner''). + + `hp9k320' + HP 9000 series 300 using HPUX assembler. + + `kp9k320g' + HP 9000 series 300 using GNU assembler, linker and debugger. + This requires the HP-adapt package which is or will soon be + available in the same places as GNU CC. + + `isi68' + ISI 68000 or 68020 system. + + `news800' + Sony NEWS 68020 system. + + `3b1' + AT&T 3b1, a.k.a. 7300 PC. + + `sequent-ns32k' + Sequent containing ns32000 processors. + + `encore' + Encore ns32000 system. + + `genix' + National Semiconductor ns32000 system. + + `88000' + Motorola 88000 processor. This port is not finished. + + Here we spell out what files need to be set up: * Make a symbolic link named `config.h' to the top-level config file for the machine you are using (*note Config::.). This file is responsible for defining information about the host machine. It includes `tm.h'. - The file's name should be `config-MACHINE.h', with these + The file's name should be `xm-MACHINE.h', with these exceptions: - `config-vms.h' + `xm-vms.h' for vaxen running VMS. - `config-vaxv.h' + `xm-vaxv.h' for vaxen running system V. - `config-i386v.h' + `xm-i386v.h' for Intel 80386's running system V. - `config-sun4.h' - for Suns (model 3 or 4) running *operating system* - version 4. + `xm-sunos4.h' + for Suns (model 2, 3 or 4) running *operating system* + version 4. (Use `xm-m68k.h' or `xm-sparc.h' for + version 3.) + + `xm-sun386i.h' + for Sun roadrunner running any version of the + operating system. - `config-hp9k3.h' + `xm-hp9k320.h' for the HP 9000 series 300. - `config-gnx.h' + `xm-genix.h' for the ns32000 running Genix If your system does not support symbolic links, you might @@ -71,7 +149,8 @@ Here is the procedure for installing GNU for AT&T 3b1 (aka 7300 Unix PC). `tm-isi68.h' - for Integrated Solutions systems. + for Integrated Solutions systems. This file assumes + you use the GNU assembler. `tm-news800.h' for SONY News systems. @@ -90,8 +169,6 @@ Here is the procedure for installing GNU For the vax, use `tm-vax.h' on BSD Unix, `tm-vaxv.h' on system V, or `tm-vms.h' on VMS. - For the SPARC (Sun 4), use `tm-sparc.h'. - For the Motorola 88000, use `tm-m88k.h'. The support for the 88000 has a few unfinished spots because there was no way to run the output. Bugs are suspected in handling of @@ -100,11 +177,11 @@ Here is the procedure for installing GNU For the 80386, don't use `tm-i386.h' directly. Use `tm-i386v.h' if the target machine is running system V, `tm-seq386.h' for a Sequent 386 system, or `tm-compaq.h' - for a Compaq. + for a Compaq, or `tm-sun386i.h' for a Sun 386 system. For the 32000, use `tm-sequent.h' if you are using a Sequent machine, or `tm-encore.h' for an Encore machine, or - `tm-gnx.h' if you are using Genix version 3; otherwise, + `tm-genix.h' if you are using Genix version 3; otherwise, perhaps `tm-ns32k.h' will work for you. Note that Genix has bugs in `alloca' and `malloc'; you must @@ -114,7 +191,9 @@ Here is the procedure for installing GNU Note that Encore systems are supported only under BSD. * Make a symbolic link named `md' to the machine description - pattern file (its name should be `MACHINE.md'). + pattern file. Its name should be `MACHINE.md', but MACHINE + is often not the same as the name used in the `tm.h' file + because the `md' files are more general. * Make a symbolic link named `aux-output.c' to the output subroutine file for your machine (its name should be @@ -125,9 +204,8 @@ Here is the procedure for installing GNU `cexp.c' are more recent than `c-parse.y' and `cexp.y' and you do not plan to change the `.y' files.) - Note that if you have an old version of Bison you may get an - error from the line with the `%expect' directive. If so, simply - remove that line from `c-parse.y' and proceed. + Bison versions older that Sept 8, 1988 will produce incorrect + output for `c-parse.tab.c'. 5. If you are using a Sun, make sure the environment variable `FLOAT_OPTION' is not set. If this option were set to `f68881' @@ -137,6 +215,12 @@ Here is the procedure for installing GNU 6. Build the compiler. Just type `make' in the compiler directory. + Ignore any warnings you may see about ``statement not reached'' + in the `insn-emit.c'; they are normal. Any other compilation + errors may represent bugs in the port to your machine or + operating system, and should be investigated and reported (*note + Bugs::.). + 7. Move the first-stage object files and executables into a subdirectory with this command: @@ -160,7 +244,7 @@ Here is the procedure for installing GNU more time, do this: make stage2 - Make CC=stage2/gcc CFLAGS="-g -O -Bstage2/" + make CC=stage2/gcc CFLAGS="-g -O -Bstage2/" foreach file (*.o) cmp $file stage2/$file end @@ -208,10 +292,10 @@ Here is the procedure for installing GNU correct the include files by running the shell script `fixincludes'. This installs modified, corrected copies of the files `ioctl.h', `ttychars.h' and many others, in a special - directory where only GNU CC will normally look for them. - - See the file `fixincludes' for a list of all the files we know - to require correction. + directory where only GNU CC will normally look for them. This + script will work on various systems because it choose the files + by searching all the system headers for the problem cases that + we know about. If you cannot install the compiler's passes and run-time support in `/usr/local/lib', you can alternatively use the `-B' option to @@ -224,29 +308,21 @@ Also, you can specify an alternative def files by setting the Make variable `libdir' when you make GNU CC. - -File: internals, Node: VMS Install, Prev: Installation, Up: Installation +File: gcc.info, Node: VMS Install, Prev: Installation, Up: Installation Installing GNU CC on VMS ======================== -The VMS version of GNU CC is distributed in an unusual tape format -which consists of several tape files. The first is a command file; -the second is an executable program which reads Unix tar format; the -third is another command file which uses this program to read the -remainder of the tape. - -To load the tape, it suffices to mount it `/foreign' and then do -`@mta0:' to execute the command file at the beginning of the tape. - -The tape contains executables and object files as well as sources, so -no compilation is necessary unless you change the sources. (This is -a good thing, since you probably don't have any other C compiler.) +The VMS version of GNU CC is distributed in a backup saveset +containing both source code and precompiled binaries. + +Sometimes the binaries will be from an older version that the +sources, because we don't always have time to update them. In this +case, you should use the binaries you get to recompile the sources. If you must recompile, here is how: - 1. Copy the file `tm-vms.h' to `tm.h', `config-vms.h' to - `config.h', `vax.md' to `md.' and `output-vax.c' to - `aux-output.c'. + 1. Copy the file `tm-vms.h' to `tm.h', `xm-vms.h' to `config.h', + `vax.md' to `md.' and `output-vax.c' to `aux-output.c'. 2. Type `@make' to do recompile everything.