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