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