📄 install
字号:
This file documents the installation of the GNU compiler. Copyright (C)1988, 1989, 1992 Free Software Foundation, Inc. You may copy,distribute, and modify it freely as long as you preserve this copyrightnotice and permission notice.Installing GNU CC****************** Here is the procedure for installing GNU CC on a Unix system. 1. If you have built GNU CC previously in the same directory for a different target machine, do `make distclean' to delete all files that might be invalid. One of the files this deletes is `Makefile'; if `make distclean' complains that `Makefile' does not exist, it probably means that the directory is already suitably clean. 2. On a System V release 4 system, make sure `/usr/bin' precedes `/usr/ucb' in `PATH'. The `cc' command in `/usr/ucb' uses libraries which have bugs. 3. Specify the host and target machine configurations. You do this by running the file `configure' with appropriate arguments. If you are building a compiler to produce code for the machine it runs on, specify just one machine type. Use the `--target' option; the host type will default to be the same as the target. (For information on building a cross-compiler, see *Note Cross-Compiler::.) The command looks like this: configure --target=sparc-sun-sunos4.1 A configuration name may be canonical or it may be more or less abbreviated. A canonical configuration name has three parts, separated by dashes. It looks like this: `CPU-COMPANY-SYSTEM'. (The three parts may themselves contain dashes; `configure' can figure out which dashes serve which purpose.) For example, `m68k-sun-sunos4.1' specifies a Sun 3. You can also replace parts of the configuration by nicknames or aliases. For example, `sun3' stands for `m68k-sun', so `sun3-sunos4.1' is another way to specify a Sun 3. You can also use simply `sun3-sunos', since the version of SunOS is assumed by default to be version 4. `sun3-bsd' also works, since `configure' knows that the only BSD variant on a Sun 3 is SunOS. You can specify a version number after any of the system types, and some of the CPU types. In most cases, the version is irrelevant, and will be ignored. So you might as well specify the version if you know it. Here are the possible CPU types: a29k, alpha, arm, cN, elxsi, hppa1.0, hppa1.1, i386, i860, i960, m68000, m68k, m88k, mips, ns32k, pyramid, romp, rs6000, sparc, vax, we32k. Here are the recognized company names. As you can see, customary abbreviations are used rather than the longer official names. alliant, altos, apollo, att, cbm, convergent, convex, crds, dec, dg, encore, harris, hp, ibm, mips, motorola, ncr, next, ns, omron, sequent, sgi, sony, sun, tti, unicom. The company name is meaningful only to disambiguate when the rest of the information supplied is insufficient. You can omit it, writing just `CPU-SYSTEM', if it is not needed. For example, `vax-ultrix4.2' is equivalent to `vax-dec-ultrix4.2'. Here is a list of system types: aix, aos, bsd, ctix, dgux, dynix, genix, hpux, isc, linux, luna, mach, minix, newsos, osf, osfrose, riscos, sco, sunos, sysv, ultrix, unos, vms. You can omit the system type; then `configure' guesses the operating system from the CPU and company. You can add a version number to the system type; this may or may not make a difference. For example, you can write `bsd4.3' or `bsd4.4' to distinguish versions of BSD. In practice, the version number is most needed for `sysv3' and `sysv4', which are often treated differently. If you specify an impossible combination such as `i860-dg-vms', then you may get an error message from `configure', or it may ignore part of the information and do the best it can with the rest. `configure' always prints the canonical name for the alternative that it used. Often a particular model of machine has a name. Many machine names are recognized as aliases for CPU/company combinations. Thus, the machine name `sun3', mentioned above, is an alias for `m68k-sun'. Sometimes we accept a company name as a machine name, when the name is popularly used for a particular machine. Here is a table of the known machine names: 3300, 3b1, 3bN, 7300, altos3068, altos, apollo68, att-7300, balance, convex-cN, crds, decstation-3100, decstation, delta, encore, fx2800, gmicro, hp7NN, hp8NN, hp9k2NN, hp9k3NN, hp9k7NN, hp9k8NN, iris4d, iris, isi68, m3230, magnum, merlin, miniframe, mmax, news-3600, news800, news, next, pbd, pc532, pmax, ps2, risc-news, rtpc, sun2, sun386i, sun386, sun3, sun4, symmetry, tower-32, tower. Remember that a machine name specifies both the cpu type and the company name. There are four additional options you can specify independently to describe variant hardware and software configurations. These are `--with-gnu-as', `--with-gnu-ld', `--with-stabs' and `--nfp'. `--with-gnu-as' On certain systems, you must specify whether you want GNU CC to work with the usual compilation tools or with the GNU compilation tools (including GAS). Use the `--with-gnu-as' argument when you run `configure', if you want to use the GNU tools. (Specify `--with-gnu-ld' as well, since on these systems GAS works only with the GNU linker.) The systems where this makes a difference are `i386-ANYTHING-sysv', `i860-ANYTHING-bsd', `m68k-hp-hpux', `m68k-sony-bsd', `m68k-altos-sysv', `m68000-hp-hpux', and `m68000-att-sysv'. On any other system, `--with-gnu-as' has no effect. `--with-gnu-ld' Specify the option `--with-gnu-ld' if you plan to use the GNU linker. This inhibits the installation of `collect2', a program which otherwise serves as a front-end for the system's linker on most configurations. `--with-stabs' On MIPS based systems, you must specify whether you want GNU CC to create the normal ECOFF debugging format, or to use BSD-style stabs passed through the ECOFF symbol table. The normal ECOFF debug format cannot fully handle languages other than C. BSD stabs format can handle other languages, but it only works with the GNU debugger GDB. Normally, GNU CC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify `--with-stabs' when you configure GNU CC. No matter which default you choose when you configure GNU CC, the user can use the `-gcoff' and `-gstabs+' options to specify explicitly the debug format for a particular compilation. `--nfp' On certain systems, you must specify whether the machine has a floating point unit. These systems are `m68k-sun-sunosN' and `m68k-isi-bsd'. On any other system, `--nfp' currently has no effect, though perhaps there are other systems where it could usefully make a difference. If you want to install your own homemade configuration files, you can use `local' as the company name to access them. If you use configuration `CPU-local', the entire configuration name is used to form the configuration file names. Thus, if you specify `m68k-local', then the files used are `m68k-local.md', `m68k-local.h', `m68k-local.c', `xm-m68k-local.h', `t-m68k-local', and `x-m68k-local'. Here is a list of configurations that have special treatment or special things you must know: `alpha-*-osf1' Systems using processors that implement the DEC Alpha architecture and are running the OSF/1 operating system. (VMS on the Alpha is not currently supported by GNU CC.) As of this writing, the only Alpha-based product currently available from DEC is the 21064 (EV4) processor chip; no system-level products can be ordered. This port is provided for those developers who might have early Alpha hardware from DEC or other vendors and run the OSF/1 operating system. It has not been extensively tested and both the C++ and Objective-C languages may not work, except in a cross-compilation environment. The `ASSEMBLE_FILE_START' macro writes a `.verstamp' directive containing the version of the calling sequence. Currently, we use `9 0', which we believe will work until the official release by DEC of their system, at which point `3 11' is the correct value. If you get a mismatch error from the assembler on a `.verstamp' line, consult the file `/usr/include/stamp.h' for the present value. GNU C on the Alpha does not support versions of DEC's OSF/1 earlier than BL9; if you are running an older version, we suggest you ask your DEC contact for an update. Note that since the Alpha is a 64-bit architecture, cross-compilers from 32-bit machines will not generate as efficient code as that generated when the compiler is running on a 64-bit machine because many optimizations that depend on being able to represent a word on the target in an integral value on the host cannot be performed. `a29k' AMD Am29K-family processors. These are normally used in embedded applications. There are no standard Unix configurations. This configuration corresponds to AMD's standard calling sequence and binary interface and is compatible with other 29K tools. You may need to make a variant of the file `a29k.h' for your particular configuration. `a29k-*-bsd' AMD Am29050 used in a system running a variant of BSD Unix. `elxsi-elxsi-bsd' The Elxsi's C compiler has known limitations that prevent it from compiling GNU C. Please contact `mrs@cygnus.com' for more details. `i386-*-sco' Compilation with RCC is recommended. `i386-ibm-aix' You need a version of GAS that you can get from `tranle@intellicorp.com'. `i386-sequent' Go to the Berkeley universe before compiling. In addition, you probably need to create a file named `string.h' containing just one line: `#include <strings.h>'. `i386-sun-sunos4' You may find that you need another version of GNU CC to begin bootstrapping with, since the current version when built with the system's own compiler seems to get an infinite loop compiling part of `libgcc2.c'. GNU CC version 2 compiled with GNU CC (any version) seems not to have this problem. `m68000-att' AT&T 3b1, a.k.a. 7300 PC. Special procedures are needed to compile GNU CC with this machine's standard C compiler, due to bugs in that compiler. *Note 3b1 Install::. You can bootstrap it more easily with previous versions of GNU CC if you have them. `m68000-hp-bsd' HP 9000 series 200 running BSD. Note that the C compiler that comes with this system cannot compile GNU CC; contact `law@cs.utah.edu' to get binaries of GNU CC for bootstrapping. `m68k-altos' Altos 3068. You must use the GNU assembler, linker and debugger, with COFF-encapsulation. Also, you must fix a kernel bug. Details in the file `README.ALTOS'. `m68k-hp-hpux' HP 9000 series 300 or 400 running HP-UX. HP-UX version 8.0 has a bug in the assembler that prevents compilation of GNU CC. To fix it, get patch PHCO_0800 from HP. In addition, `--gas' does not currently work with this configuration. Changes in HP-UX have broken the library conversion tool and the linker. `m68k-sun' Sun 3. We do not provide a configuration file to use the Sun FPA by default, because programs that establish signal handlers for floating point traps inherently cannot work with the FPA. `m88k-svr3' Motorola m88k running the AT&T/Unisoft/Motorola V.3 reference port. These systems tend to use the Green Hills C, revision 1.8.5, as the standard C compiler. There are apparently bugs in this compiler that result in object files differences between stage 2 and stage 3. If this happens, make the stage 4 compiler and compare it to the stage 3 compiler. If the stage 3 and stage 4 object files are identical, this suggests a problem with the standard C compiler. It is best, however, to use an older version of GNU CC for bootstrapping. `m88k-dgux' Motorola m88k running DG/UX. To build native or cross compilers on DG/UX, you must first change to the 88open BCS software development environment. This is done by issuing this command: eval `sde-target m88kbcs` `mips-mips-bsd'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -