OSDN Git Service

Use 64bit integer for LTO symbol ID.
[pf3gnuchains/gcc-fork.git] / gcc / doc / install-old.texi
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.
3 @c This is part of the GCC manual.
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
16
17 Note most of this information is out of date and superseded by the
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.
21
22 @ifnothtml
23 @menu
24 * Configurations::    Configurations Supported by GCC.
25 @end menu
26 @end ifnothtml
27
28 Here is the procedure for installing GCC on a GNU or Unix system.
29
30 @enumerate
31 @item
32 If you have chosen a configuration for GCC which requires other GNU
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
35 @file{as}, @file{ld} or whatever is appropriate.
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
41 @item
42 Specify the host, build and target machine configurations.  You do this
43 when you run the @file{configure} script.
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}
59 with the @option{--host} option; the host and target will default to be
60 the same as the host machine.
61
62 Here is an example:
63
64 @smallexample
65 ./configure --host=sparc-sun-sunos4.1
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
79 @samp{sun3-sunos4.1} is another way to specify a Sun 3.
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
87 section before proceeding any further with the installation of GCC@.
88
89 @end enumerate
90
91 @ifnothtml
92 @node Configurations, , , Old
93 @section Configurations Supported by GCC
94 @end ifnothtml
95 @html
96 <h2>@anchor{Configurations}Configurations Supported by GCC</h2>
97 @end html
98 @cindex configurations supported by GCC
99
100 Here are the possible CPU types:
101
102 @quotation
103 @c gmicro, fx80, spur and tahoe omitted since they don't work.
104 1750a, a29k, alpha, arm, avr, c@var{n}, clipper, dsp16xx, elxsi, fr30, h8300,
105 hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, ip2k, m32r,
106 m68000, m68k, m88k, mcore, mips, mipsel, mips64, mips64el,
107 mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc,
108 sparclite, sparc64, v850, vax, we32k.
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
131 386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux,
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,
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
145 @samp{bsd4.4} to distinguish versions of BSD@.  In practice, the version
146 number is most needed for @samp{sysv3} and @samp{sysv4}, which are often
147 treated differently.
148
149 @samp{linux-gnu} is the canonical name for the GNU/Linux target; however
150 GCC will also accept @samp{linux}.  The version of the kernel in use is
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.
154
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
159 that it used.  GCC does not support all possible alternatives.
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.