--- gcc/INSTALL 2018/04/24 16:46:40 1.1.1.7 +++ gcc/INSTALL 2018/04/24 16:50:24 1.1.1.10 @@ -1,4 +1,4 @@ -This is a copy of one node from the Info file gcc.info-1. +This is a copy of one node from the Info file gcc.info-2. For full information on installing and porting GCC, refer to the GCC manual: @@ -6,8 +6,6 @@ GCC manual: TeX output gcc.dvi TeX source gcc.texinfo -File: gcc.info, Node: Installation, Next: Trouble, Prev: Options, Up: Top - Installing GNU CC ***************** @@ -19,42 +17,144 @@ 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. 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 as it appears in the `tm-MACHINE.h' file - name. + 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. + + `i386-sysv-gas' + Intel 386 PCs running system V, using the GNU assembler and + GNU linker. + + `sequent-i386' + Sequent with Intel 386 processors. + + `sun2' + Sun 2 running system version 2 or 3. + + `sun3' + Sun 3 running system version 2 or 3, with 68881. + + `sun3-nfp' + Sun 3 running system version 2 or 3, without 68881. + + `sun3-fpa' + Sun 3 running system version 2 or 3, with 68881 and fpa. + + `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, with 68881. + + `sun3-nfp-os4' + Sun 3 running system version 4, without 68881. + + `sun3-fpa-os4' + Sun 3 running system version 4, with 68881 and fpa. + + `sun4-os4' + Sun 4 running system version 4. + + `sun386' + Sun 386 (``roadrunner''). + + `alliant' + Alliant FX/8 computer. Currently, there are bugs in the + support for floating point. Also note that Alliant's + version of dbx does not manage to work with the output from + GNU CC. + + `convex-c1' + Convex C1 computer. - Here we spell out what files you need to set up: + `convex-c2' + Convex C2 computer. + + `hp9k320' + HP 9000 series 300 using HPUX assembler. + + `hp9k320g' + HP 9000 series 300 using GNU assembler, linker and debugger. + This requires the HP-adapt package which is or will soon be + available along with the linker. + + `isi68' + ISI 68000 or 68020 system. + + `news800' + Sony NEWS 68020 system. + + `next' + NeXT 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' + `xm-sunos4.h' for Suns (model 2, 3 or 4) running *operating system* - version 4. + 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 @@ -69,7 +169,13 @@ Here is the procedure for installing GNU directly. Instead, use one of these files: `tm-sun3.h' - for Sun 3 machines. + for Sun 3 machines with 68881. + + `tm-sun3-fpa.h' + for Sun 3 machines with floating point accelerator. + + `tm-sun3-nfp.h' + for Sun 3 machines with no hardware floating point. `tm-sun2.h' for Sun 2 machines. @@ -78,7 +184,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. @@ -97,10 +204,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'. Note that SPARC - support currenty *does not work*. It will probably be - fixed for version 1.31. - 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 @@ -108,12 +211,14 @@ 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. + `tm-i386gas.h' if it is running system V but you are using + the GNU assembler and linker, `tm-seq386.h' for a Sequent + 386 system, or `tm-compaq.h' 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 @@ -122,6 +227,9 @@ Here is the procedure for installing GNU Note that Encore systems are supported only under BSD. + For Sparc (Sun 4) machines, use `tm-sparc.h' with operating + system version 4, and `tm-sun4os3.h' with system version 3. + * Make a symbolic link named `md' to the machine description pattern file. Its name should be `MACHINE.md', but MACHINE is often not the same as the name used in the `tm.h' file @@ -153,7 +261,12 @@ Here is the procedure for installing GNU operating system, and should be investigated and reported (*note Bugs::.). - 7. Move the first-stage object files and executables into a + 7. If you are using COFF-encapsulation, you must convert `gnulib' + to a GNU-format library at this point. See the file + `README-ENCAP' in the directory containing the GNU binary file + utilities, for directions. + + 8. Move the first-stage object files and executables into a subdirectory with this command: make stage1 @@ -162,7 +275,7 @@ Here is the procedure for installing GNU installation is complete, you may wish to delete these files with `rm -r stage1'. - 8. Recompile the compiler with itself, with this command: + 9. Recompile the compiler with itself, with this command: make CC=stage1/gcc CFLAGS="-g -O -Bstage1/" @@ -172,7 +285,7 @@ Here is the procedure for installing GNU make CC=stage1/gcc CFLAGS="-g -O -Bstage1/ -msoft-float" - 9. If you wish to test the compiler by compiling it with itself one + 10. If you wish to test the compiler by compiling it with itself one more time, do this: make stage2 @@ -190,7 +303,7 @@ Here is the procedure for installing GNU Aside from the `-B' option, the options should be the same as when you made stage 2. - 10. Install the compiler driver, the compiler's passes and run-time + 11. Install the compiler driver, the compiler's passes and run-time support. You can use the following command: make install @@ -199,7 +312,7 @@ Here is the procedure for installing GNU `gcc-cc1', `gcc-cpp' and `gcc-gnulib' in directory `/usr/local/lib', which is where the compiler driver program looks for them. It also copies the driver program `gcc' into - the directory `/usr/local', so that it appears in typical + the directory `/usr/local/bin', so that it appears in typical execution search paths. *Warning: there is a bug in `alloca' in the Sun library. To @@ -225,7 +338,7 @@ Here is the procedure for installing GNU `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. This - script will work on various systems because it choose the files + script will work on various systems because it chooses the files by searching all the system headers for the problem cases that we know about. @@ -240,32 +353,31 @@ Also, you can specify an alternative def files by setting the Make variable `libdir' when you make GNU CC. - 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. + If you are compiling with a version of GCC older than 1.33, + specify `/DEFINE=("inline=")' as an option in all the + compilations. This requires editing all the `gcc' commands in + `make-cc1.com'. (The older versions had problems supporting + `inline'.) Once you have a working 1.33 or newer GCC, you can + change this file back. + To install the `GCC' command so you can use the compiler easily, in the same manner as you use the VMS C compiler, you must install the VMS CLD file for GNU CC as follows: @@ -289,3 +401,7 @@ VMS CLD file for GNU CC as follows: Now you can invoke the compiler with a command like `gcc /verbose file.c', which is equivalent to the command `gcc -v -c file.c' in Unix. + +There is a known problem on VMS: `const' global variables don't work +compatibly with the VMS C compiler; we don't know a way to get them +to the linker properly.