]>
Commit | Line | Data |
---|---|---|
e3223ea2 | 1 | @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. |
2284f91b | 2 | @c This is part of the GCC manual. |
73e2155a JM |
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 | |
2284f91b | 15 | |
f85b8d1a | 16 | Note most of this information is out of date and superseded by the |
73e2155a JM |
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. | |
f85b8d1a | 20 | |
73e2155a | 21 | @ifnothtml |
2284f91b | 22 | @menu |
7ec022b2 | 23 | * Configurations:: Configurations Supported by GCC. |
2284f91b | 24 | @end menu |
73e2155a | 25 | @end ifnothtml |
2284f91b | 26 | |
7ec022b2 | 27 | Here is the procedure for installing GCC on a GNU or Unix system. |
2284f91b DE |
28 | |
29 | @enumerate | |
ab87f8c8 | 30 | @item |
7ec022b2 | 31 | If you have chosen a configuration for GCC which requires other GNU |
ab87f8c8 JL |
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 | |
cd42d3df | 34 | @file{as}, @file{ld} or whatever is appropriate. |
ab87f8c8 JL |
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 | ||
2284f91b DE |
40 | @item |
41 | Specify the host, build and target machine configurations. You do this | |
ab87f8c8 | 42 | when you run the @file{configure} script. |
2284f91b DE |
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} | |
630d3d5a | 58 | with the @option{--host} option; the host and target will default to be |
01e97976 | 59 | the same as the host machine. |
2284f91b DE |
60 | |
61 | Here is an example: | |
62 | ||
63 | @smallexample | |
f5963e61 | 64 | ./configure --host=sparc-sun-sunos4.1 |
2284f91b DE |
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 | |
e954b3d7 | 78 | @samp{sun3-sunos4.1} is another way to specify a Sun 3. |
2284f91b DE |
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 | |
7ec022b2 | 86 | section before proceeding any further with the installation of GCC@. |
2284f91b | 87 | |
2284f91b DE |
88 | @end enumerate |
89 | ||
73e2155a | 90 | @ifnothtml |
01e97976 | 91 | @node Configurations, , , Old |
7ec022b2 | 92 | @section Configurations Supported by GCC |
73e2155a JM |
93 | @end ifnothtml |
94 | @html | |
7ec022b2 | 95 | <h2>@anchor{Configurations}Configurations Supported by GCC</h2> |
73e2155a | 96 | @end html |
7ec022b2 | 97 | @cindex configurations supported by GCC |
2284f91b DE |
98 | |
99 | Here are the possible CPU types: | |
100 | ||
101 | @quotation | |
55383d87 | 102 | @c gmicro, fx80, spur and tahoe omitted since they don't work. |
052a4b28 | 103 | 1750a, a29k, alpha, arm, avr, c@var{n}, clipper, dsp16xx, elxsi, fr30, h8300, |
e3223ea2 | 104 | hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, ip2k, m32r, |
2856c3e3 SC |
105 | m68000, m68k, m6811, m6812, m88k, mcore, mips, mipsel, mips64, mips64el, |
106 | mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc, | |
107 | sparclite, sparc64, v850, vax, we32k. | |
2284f91b DE |
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 | |
0c82f6bf | 130 | 386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux, |
57119aa9 ZW |
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, | |
2284f91b DE |
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 | |
161d7b59 | 144 | @samp{bsd4.4} to distinguish versions of BSD@. In practice, the version |
2284f91b DE |
145 | number is most needed for @samp{sysv3} and @samp{sysv4}, which are often |
146 | treated differently. | |
147 | ||
f49957d6 | 148 | @samp{linux-gnu} is the canonical name for the GNU/Linux target; however |
7ec022b2 | 149 | GCC will also accept @samp{linux}. The version of the kernel in use is |
f49957d6 JL |
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. | |
57119aa9 | 153 | |
2284f91b DE |
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 | |
7ec022b2 | 158 | that it used. GCC does not support all possible alternatives. |
2284f91b DE |
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. | |
185 | If you want to install your own homemade configuration files, you can | |
186 | use @samp{local} as the company name to access them. If you use | |
187 | configuration @samp{@var{cpu}-local}, the configuration name | |
188 | without the cpu prefix | |
189 | is used to form the configuration file names. | |
190 | ||
191 | Thus, if you specify @samp{m68k-local}, configuration uses | |
192 | files @file{m68k.md}, @file{local.h}, @file{m68k.c}, | |
193 | @file{xm-local.h}, @file{t-local}, and @file{x-local}, all in the | |
194 | directory @file{config/m68k}. |