0
|
1 @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
|
2 @c This is part of the GCC manual.
|
|
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
|
|
15
|
|
16 Note most of this information is out of date and superseded by the
|
|
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.
|
|
20
|
|
21 @ifnothtml
|
|
22 @menu
|
|
23 * Configurations:: Configurations Supported by GCC.
|
|
24 @end menu
|
|
25 @end ifnothtml
|
|
26
|
|
27 Here is the procedure for installing GCC on a GNU or Unix system.
|
|
28
|
|
29 @enumerate
|
|
30 @item
|
|
31 If you have chosen a configuration for GCC which requires other GNU
|
|
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
|
|
34 @file{as}, @file{ld} or whatever is appropriate.
|
|
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
|
|
40 @item
|
|
41 Specify the host, build and target machine configurations. You do this
|
|
42 when you run the @file{configure} script.
|
|
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}
|
|
58 with the @option{--host} option; the host and target will default to be
|
|
59 the same as the host machine.
|
|
60
|
|
61 Here is an example:
|
|
62
|
|
63 @smallexample
|
|
64 ./configure --host=sparc-sun-sunos4.1
|
|
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
|
|
78 @samp{sun3-sunos4.1} is another way to specify a Sun 3.
|
|
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
|
|
86 section before proceeding any further with the installation of GCC@.
|
|
87
|
|
88 @end enumerate
|
|
89
|
|
90 @ifnothtml
|
|
91 @node Configurations, , , Old
|
|
92 @section Configurations Supported by GCC
|
|
93 @end ifnothtml
|
|
94 @html
|
|
95 <h2>@anchor{Configurations}Configurations Supported by GCC</h2>
|
|
96 @end html
|
|
97 @cindex configurations supported by GCC
|
|
98
|
|
99 Here are the possible CPU types:
|
|
100
|
|
101 @quotation
|
|
102 @c gmicro, fx80, spur and tahoe omitted since they don't work.
|
|
103 1750a, a29k, alpha, arm, avr, c@var{n}, clipper, dsp16xx, elxsi, fr30, h8300,
|
|
104 hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, ip2k, m32r,
|
|
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.
|
|
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
|
|
130 386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux,
|
|
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,
|
|
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
|
|
144 @samp{bsd4.4} to distinguish versions of BSD@. In practice, the version
|
|
145 number is most needed for @samp{sysv3} and @samp{sysv4}, which are often
|
|
146 treated differently.
|
|
147
|
|
148 @samp{linux-gnu} is the canonical name for the GNU/Linux target; however
|
|
149 GCC will also accept @samp{linux}. The version of the kernel in use is
|
|
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.
|
|
153
|
|
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
|
|
158 that it used. GCC does not support all possible alternatives.
|
|
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}.
|