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