]>
Commit | Line | Data |
---|---|---|
f1717362 | 1 | @c Copyright (C) 1988-2016 Free Software Foundation, Inc. |
c446d93c | 2 | @c This is part of the GCC manual. |
f6c97608 | 3 | @c For copying conditions, see the file install.texi. |
4 | ||
5 | @ifnothtml | |
6 | @comment node-name, next, previous, up | |
7 | @node Old, GNU Free Documentation License, Specific, Top | |
8 | @end ifnothtml | |
9 | @html | |
10 | <h1 align="center">Old installation documentation</h1> | |
11 | @end html | |
12 | @ifnothtml | |
13 | @chapter Old installation documentation | |
14 | @end ifnothtml | |
c446d93c | 15 | |
7a75d3f1 | 16 | Note most of this information is out of date and superseded by the |
f6c97608 | 17 | previous chapters of this manual. It is provided for historical |
18 | reference only, because of a lack of volunteers to merge it into the | |
19 | main manual. | |
7a75d3f1 | 20 | |
f6c97608 | 21 | @ifnothtml |
c446d93c | 22 | @menu |
187b36cf | 23 | * Configurations:: Configurations Supported by GCC. |
c446d93c | 24 | @end menu |
f6c97608 | 25 | @end ifnothtml |
c446d93c | 26 | |
187b36cf | 27 | Here is the procedure for installing GCC on a GNU or Unix system. |
c446d93c | 28 | |
29 | @enumerate | |
be2828ce | 30 | @item |
187b36cf | 31 | If you have chosen a configuration for GCC which requires other GNU |
be2828ce | 32 | tools (such as GAS or the GNU linker) instead of the standard system |
33 | tools, install the required tools in the build directory under the names | |
f4a22de3 | 34 | @file{as}, @file{ld} or whatever is appropriate. |
be2828ce | 35 | |
36 | Alternatively, you can do subsequent compilation using a value of the | |
37 | @code{PATH} environment variable such that the necessary GNU tools come | |
38 | before the standard system tools. | |
39 | ||
c446d93c | 40 | @item |
41 | Specify the host, build and target machine configurations. You do this | |
be2828ce | 42 | when you run the @file{configure} script. |
c446d93c | 43 | |
44 | The @dfn{build} machine is the system which you are using, the | |
45 | @dfn{host} machine is the system where you want to run the resulting | |
46 | compiler (normally the build machine), and the @dfn{target} machine is | |
47 | the system for which you want the compiler to generate code. | |
48 | ||
49 | If you are building a compiler to produce code for the machine it runs | |
50 | on (a native compiler), you normally do not need to specify any operands | |
51 | to @file{configure}; it will try to guess the type of machine you are on | |
52 | and use that as the build, host and target machines. So you don't need | |
53 | to specify a configuration when building a native compiler unless | |
54 | @file{configure} cannot figure out what your configuration is or guesses | |
55 | wrong. | |
56 | ||
57 | In those cases, specify the build machine's @dfn{configuration name} | |
8ae77b3c | 58 | with the @option{--host} option; the host and target will default to be |
1da1824d | 59 | the same as the host machine. |
c446d93c | 60 | |
61 | Here is an example: | |
62 | ||
63 | @smallexample | |
c5aa1e92 | 64 | ./configure --host=sparc-sun-sunos4.1 |
c446d93c | 65 | @end smallexample |
66 | ||
67 | A configuration name may be canonical or it may be more or less | |
68 | abbreviated. | |
69 | ||
70 | A canonical configuration name has three parts, separated by dashes. | |
71 | It looks like this: @samp{@var{cpu}-@var{company}-@var{system}}. | |
72 | (The three parts may themselves contain dashes; @file{configure} | |
73 | can figure out which dashes serve which purpose.) For example, | |
74 | @samp{m68k-sun-sunos4.1} specifies a Sun 3. | |
75 | ||
76 | You can also replace parts of the configuration by nicknames or aliases. | |
77 | For example, @samp{sun3} stands for @samp{m68k-sun}, so | |
f5ea0b85 | 78 | @samp{sun3-sunos4.1} is another way to specify a Sun 3. |
c446d93c | 79 | |
80 | You can specify a version number after any of the system types, and some | |
81 | of the CPU types. In most cases, the version is irrelevant, and will be | |
82 | ignored. So you might as well specify the version if you know it. | |
83 | ||
84 | See @ref{Configurations}, for a list of supported configuration names and | |
85 | notes on many of the configurations. You should check the notes in that | |
187b36cf | 86 | section before proceeding any further with the installation of GCC@. |
c446d93c | 87 | |
c446d93c | 88 | @end enumerate |
89 | ||
f6c97608 | 90 | @ifnothtml |
1da1824d | 91 | @node Configurations, , , Old |
187b36cf | 92 | @section Configurations Supported by GCC |
f6c97608 | 93 | @end ifnothtml |
94 | @html | |
187b36cf | 95 | <h2>@anchor{Configurations}Configurations Supported by GCC</h2> |
f6c97608 | 96 | @end html |
187b36cf | 97 | @cindex configurations supported by GCC |
c446d93c | 98 | |
99 | Here are the possible CPU types: | |
100 | ||
101 | @quotation | |
d0d01369 | 102 | @c gmicro, fx80, spur and tahoe omitted since they don't work. |
97bbc51b | 103 | 1750a, a29k, alpha, arm, avr, c@var{n}, clipper, dsp16xx, elxsi, fr30, h8300, |
770a909a | 104 | hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, ip2k, m32r, |
17b3d2a8 | 105 | m68000, m68k, m88k, mcore, mips, mipsel, mips64, mips64el, |
88f7073f | 106 | mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc, |
107 | sparclite, sparc64, v850, vax, we32k. | |
c446d93c | 108 | @end quotation |
109 | ||
110 | Here are the recognized company names. As you can see, customary | |
111 | abbreviations are used rather than the longer official names. | |
112 | ||
113 | @c What should be done about merlin, tek*, dolphin? | |
114 | @quotation | |
115 | acorn, alliant, altos, apollo, apple, att, bull, | |
116 | cbm, convergent, convex, crds, dec, dg, dolphin, | |
117 | elxsi, encore, harris, hitachi, hp, ibm, intergraph, isi, | |
118 | mips, motorola, ncr, next, ns, omron, plexus, | |
119 | sequent, sgi, sony, sun, tti, unicom, wrs. | |
120 | @end quotation | |
121 | ||
122 | The company name is meaningful only to disambiguate when the rest of | |
123 | the information supplied is insufficient. You can omit it, writing | |
124 | just @samp{@var{cpu}-@var{system}}, if it is not needed. For example, | |
125 | @samp{vax-ultrix4.2} is equivalent to @samp{vax-dec-ultrix4.2}. | |
126 | ||
127 | Here is a list of system types: | |
128 | ||
129 | @quotation | |
d99ec4a1 | 130 | 386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux, |
e800dd2f | 131 | dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux, |
132 | linux-gnu, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs, | |
c446d93c | 133 | netbsd, newsos, nindy, ns, osf, osfrose, ptx, riscix, riscos, rtu, sco, sim, |
134 | solaris, sunos, sym, sysv, udi, ultrix, unicos, uniplus, unos, vms, vsta, | |
135 | vxworks, winnt, xenix. | |
136 | @end quotation | |
137 | ||
138 | @noindent | |
139 | You can omit the system type; then @file{configure} guesses the | |
140 | operating system from the CPU and company. | |
141 | ||
142 | You can add a version number to the system type; this may or may not | |
143 | make a difference. For example, you can write @samp{bsd4.3} or | |
0858e3a2 | 144 | @samp{bsd4.4} to distinguish versions of BSD@. In practice, the version |
c446d93c | 145 | number is most needed for @samp{sysv3} and @samp{sysv4}, which are often |
146 | treated differently. | |
147 | ||
a0eaf418 | 148 | @samp{linux-gnu} is the canonical name for the GNU/Linux target; however |
187b36cf | 149 | GCC will also accept @samp{linux}. The version of the kernel in use is |
a0eaf418 | 150 | not relevant on these systems. A suffix such as @samp{libc1} or @samp{aout} |
151 | distinguishes major versions of the C library; all of the suffixed versions | |
152 | are obsolete. | |
e800dd2f | 153 | |
c446d93c | 154 | If you specify an impossible combination such as @samp{i860-dg-vms}, |
155 | then you may get an error message from @file{configure}, or it may | |
156 | ignore part of the information and do the best it can with the rest. | |
157 | @file{configure} always prints the canonical name for the alternative | |
187b36cf | 158 | that it used. GCC does not support all possible alternatives. |
c446d93c | 159 | |
160 | Often a particular model of machine has a name. Many machine names are | |
161 | recognized as aliases for CPU/company combinations. Thus, the machine | |
162 | name @samp{sun3}, mentioned above, is an alias for @samp{m68k-sun}. | |
163 | Sometimes we accept a company name as a machine name, when the name is | |
164 | popularly used for a particular machine. Here is a table of the known | |
165 | machine names: | |
166 | ||
167 | @quotation | |
168 | 3300, 3b1, 3b@var{n}, 7300, altos3068, altos, | |
169 | apollo68, att-7300, balance, | |
170 | convex-c@var{n}, crds, decstation-3100, | |
171 | decstation, delta, encore, | |
172 | fx2800, gmicro, hp7@var{nn}, hp8@var{nn}, | |
173 | hp9k2@var{nn}, hp9k3@var{nn}, hp9k7@var{nn}, | |
174 | hp9k8@var{nn}, iris4d, iris, isi68, | |
175 | m3230, magnum, merlin, miniframe, | |
176 | mmax, news-3600, news800, news, next, | |
177 | pbd, pc532, pmax, powerpc, powerpcle, ps2, risc-news, | |
178 | rtpc, sun2, sun386i, sun386, sun3, | |
179 | sun4, symmetry, tower-32, tower. | |
180 | @end quotation | |
181 | ||
182 | @noindent | |
183 | Remember that a machine name specifies both the cpu type and the company | |
184 | name. |