| 1 |
13 |
jlechner |
<html lang="en">
|
| 2 |
|
|
<head>
|
| 3 |
|
|
<title>Installing GCC: Old documentation</title>
|
| 4 |
|
|
<meta http-equiv="Content-Type" content="text/html">
|
| 5 |
|
|
<meta name="description" content="Installing GCC: Old documentation">
|
| 6 |
|
|
<meta name="generator" content="makeinfo 4.8">
|
| 7 |
|
|
<link title="Top" rel="top" href="#Top">
|
| 8 |
|
|
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
| 9 |
|
|
<!--
|
| 10 |
|
|
Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
| 11 |
|
|
1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
| 12 |
|
|
|
| 13 |
|
|
Permission is granted to copy, distribute and/or modify this document
|
| 14 |
|
|
under the terms of the GNU Free Documentation License, Version 1.2 or
|
| 15 |
|
|
any later version published by the Free Software Foundation; with no
|
| 16 |
|
|
Invariant Sections, the Front-Cover texts being (a) (see below), and
|
| 17 |
|
|
with the Back-Cover Texts being (b) (see below). A copy of the
|
| 18 |
|
|
license is included in the section entitled "GNU Free Documentation License".
|
| 19 |
|
|
|
| 20 |
|
|
(a) The FSF's Front-Cover Text is:
|
| 21 |
|
|
|
| 22 |
|
|
A GNU Manual
|
| 23 |
|
|
|
| 24 |
|
|
(b) The FSF's Back-Cover Text is:
|
| 25 |
|
|
|
| 26 |
|
|
You have freedom to copy and modify this GNU Manual, like GNU
|
| 27 |
|
|
software. Copies published by the Free Software Foundation raise
|
| 28 |
|
|
funds for GNU development.-->
|
| 29 |
|
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
| 30 |
|
|
<style type="text/css"><!--
|
| 31 |
|
|
pre.display { font-family:inherit }
|
| 32 |
|
|
pre.format { font-family:inherit }
|
| 33 |
|
|
pre.smalldisplay { font-family:inherit; font-size:smaller }
|
| 34 |
|
|
pre.smallformat { font-family:inherit; font-size:smaller }
|
| 35 |
|
|
pre.smallexample { font-size:smaller }
|
| 36 |
|
|
pre.smalllisp { font-size:smaller }
|
| 37 |
|
|
span.sc { font-variant:small-caps }
|
| 38 |
|
|
span.roman { font-family:serif; font-weight:normal; }
|
| 39 |
|
|
span.sansserif { font-family:sans-serif; font-weight:normal; }
|
| 40 |
|
|
--></style>
|
| 41 |
|
|
</head>
|
| 42 |
|
|
<body>
|
| 43 |
|
|
<h1 class="settitle">Installing GCC: Old documentation</h1>
|
| 44 |
|
|
<h1 align="center">Old installation documentation</h1>
|
| 45 |
|
|
|
| 46 |
|
|
<p>Note most of this information is out of date and superseded by the
|
| 47 |
|
|
previous chapters of this manual. It is provided for historical
|
| 48 |
|
|
reference only, because of a lack of volunteers to merge it into the
|
| 49 |
|
|
main manual.
|
| 50 |
|
|
|
| 51 |
|
|
<p>Here is the procedure for installing GCC on a GNU or Unix system.
|
| 52 |
|
|
|
| 53 |
|
|
<ol type=1 start=1>
|
| 54 |
|
|
<li>If you have chosen a configuration for GCC which requires other GNU
|
| 55 |
|
|
tools (such as GAS or the GNU linker) instead of the standard system
|
| 56 |
|
|
tools, install the required tools in the build directory under the names
|
| 57 |
|
|
<samp><span class="file">as</span></samp>, <samp><span class="file">ld</span></samp> or whatever is appropriate.
|
| 58 |
|
|
|
| 59 |
|
|
<p>Alternatively, you can do subsequent compilation using a value of the
|
| 60 |
|
|
<code>PATH</code> environment variable such that the necessary GNU tools come
|
| 61 |
|
|
before the standard system tools.
|
| 62 |
|
|
|
| 63 |
|
|
<li>Specify the host, build and target machine configurations. You do this
|
| 64 |
|
|
when you run the <samp><span class="file">configure</span></samp> script.
|
| 65 |
|
|
|
| 66 |
|
|
<p>The <dfn>build</dfn> machine is the system which you are using, the
|
| 67 |
|
|
<dfn>host</dfn> machine is the system where you want to run the resulting
|
| 68 |
|
|
compiler (normally the build machine), and the <dfn>target</dfn> machine is
|
| 69 |
|
|
the system for which you want the compiler to generate code.
|
| 70 |
|
|
|
| 71 |
|
|
<p>If you are building a compiler to produce code for the machine it runs
|
| 72 |
|
|
on (a native compiler), you normally do not need to specify any operands
|
| 73 |
|
|
to <samp><span class="file">configure</span></samp>; it will try to guess the type of machine you are on
|
| 74 |
|
|
and use that as the build, host and target machines. So you don't need
|
| 75 |
|
|
to specify a configuration when building a native compiler unless
|
| 76 |
|
|
<samp><span class="file">configure</span></samp> cannot figure out what your configuration is or guesses
|
| 77 |
|
|
wrong.
|
| 78 |
|
|
|
| 79 |
|
|
<p>In those cases, specify the build machine's <dfn>configuration name</dfn>
|
| 80 |
|
|
with the <samp><span class="option">--host</span></samp> option; the host and target will default to be
|
| 81 |
|
|
the same as the host machine.
|
| 82 |
|
|
|
| 83 |
|
|
<p>Here is an example:
|
| 84 |
|
|
|
| 85 |
|
|
<pre class="smallexample"> ./configure --host=sparc-sun-sunos4.1
|
| 86 |
|
|
</pre>
|
| 87 |
|
|
<p>A configuration name may be canonical or it may be more or less
|
| 88 |
|
|
abbreviated.
|
| 89 |
|
|
|
| 90 |
|
|
<p>A canonical configuration name has three parts, separated by dashes.
|
| 91 |
|
|
It looks like this: `<samp><var>cpu</var><span class="samp">-</span><var>company</var><span class="samp">-</span><var>system</var></samp>'.
|
| 92 |
|
|
(The three parts may themselves contain dashes; <samp><span class="file">configure</span></samp>
|
| 93 |
|
|
can figure out which dashes serve which purpose.) For example,
|
| 94 |
|
|
`<samp><span class="samp">m68k-sun-sunos4.1</span></samp>' specifies a Sun 3.
|
| 95 |
|
|
|
| 96 |
|
|
<p>You can also replace parts of the configuration by nicknames or aliases.
|
| 97 |
|
|
For example, `<samp><span class="samp">sun3</span></samp>' stands for `<samp><span class="samp">m68k-sun</span></samp>', so
|
| 98 |
|
|
`<samp><span class="samp">sun3-sunos4.1</span></samp>' is another way to specify a Sun 3.
|
| 99 |
|
|
|
| 100 |
|
|
<p>You can specify a version number after any of the system types, and some
|
| 101 |
|
|
of the CPU types. In most cases, the version is irrelevant, and will be
|
| 102 |
|
|
ignored. So you might as well specify the version if you know it.
|
| 103 |
|
|
|
| 104 |
|
|
<p>See <a href="#Configurations">Configurations</a>, for a list of supported configuration names and
|
| 105 |
|
|
notes on many of the configurations. You should check the notes in that
|
| 106 |
|
|
section before proceeding any further with the installation of GCC.
|
| 107 |
|
|
|
| 108 |
|
|
</ol>
|
| 109 |
|
|
|
| 110 |
|
|
<p><h2><a name="Configurations"></a>Configurations Supported by GCC</h2><a name="index-configurations-supported-by-GCC-1"></a>
|
| 111 |
|
|
Here are the possible CPU types:
|
| 112 |
|
|
|
| 113 |
|
|
<blockquote>
|
| 114 |
|
|
<!-- gmicro, fx80, spur and tahoe omitted since they don't work. -->
|
| 115 |
|
|
1750a, a29k, alpha, arm, avr, c<var>n</var>, clipper, dsp16xx, elxsi, fr30, h8300,
|
| 116 |
|
|
hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, ip2k, m32r,
|
| 117 |
|
|
m68000, m68k, m6811, m6812, m88k, mcore, mips, mipsel, mips64, mips64el,
|
| 118 |
|
|
mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc,
|
| 119 |
|
|
sparclite, sparc64, v850, vax, we32k.
|
| 120 |
|
|
</blockquote>
|
| 121 |
|
|
|
| 122 |
|
|
<p>Here are the recognized company names. As you can see, customary
|
| 123 |
|
|
abbreviations are used rather than the longer official names.
|
| 124 |
|
|
|
| 125 |
|
|
<!-- What should be done about merlin, tek*, dolphin? -->
|
| 126 |
|
|
<blockquote>
|
| 127 |
|
|
acorn, alliant, altos, apollo, apple, att, bull,
|
| 128 |
|
|
cbm, convergent, convex, crds, dec, dg, dolphin,
|
| 129 |
|
|
elxsi, encore, harris, hitachi, hp, ibm, intergraph, isi,
|
| 130 |
|
|
mips, motorola, ncr, next, ns, omron, plexus,
|
| 131 |
|
|
sequent, sgi, sony, sun, tti, unicom, wrs.
|
| 132 |
|
|
</blockquote>
|
| 133 |
|
|
|
| 134 |
|
|
<p>The company name is meaningful only to disambiguate when the rest of
|
| 135 |
|
|
the information supplied is insufficient. You can omit it, writing
|
| 136 |
|
|
just `<samp><var>cpu</var><span class="samp">-</span><var>system</var></samp>', if it is not needed. For example,
|
| 137 |
|
|
`<samp><span class="samp">vax-ultrix4.2</span></samp>' is equivalent to `<samp><span class="samp">vax-dec-ultrix4.2</span></samp>'.
|
| 138 |
|
|
|
| 139 |
|
|
<p>Here is a list of system types:
|
| 140 |
|
|
|
| 141 |
|
|
<blockquote>
|
| 142 |
|
|
386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux,
|
| 143 |
|
|
dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux,
|
| 144 |
|
|
linux-gnu, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs,
|
| 145 |
|
|
netbsd, newsos, nindy, ns, osf, osfrose, ptx, riscix, riscos, rtu, sco, sim,
|
| 146 |
|
|
solaris, sunos, sym, sysv, udi, ultrix, unicos, uniplus, unos, vms, vsta,
|
| 147 |
|
|
vxworks, winnt, xenix.
|
| 148 |
|
|
</blockquote>
|
| 149 |
|
|
|
| 150 |
|
|
<p class="noindent">You can omit the system type; then <samp><span class="file">configure</span></samp> guesses the
|
| 151 |
|
|
operating system from the CPU and company.
|
| 152 |
|
|
|
| 153 |
|
|
<p>You can add a version number to the system type; this may or may not
|
| 154 |
|
|
make a difference. For example, you can write `<samp><span class="samp">bsd4.3</span></samp>' or
|
| 155 |
|
|
`<samp><span class="samp">bsd4.4</span></samp>' to distinguish versions of BSD. In practice, the version
|
| 156 |
|
|
number is most needed for `<samp><span class="samp">sysv3</span></samp>' and `<samp><span class="samp">sysv4</span></samp>', which are often
|
| 157 |
|
|
treated differently.
|
| 158 |
|
|
|
| 159 |
|
|
<p>`<samp><span class="samp">linux-gnu</span></samp>' is the canonical name for the GNU/Linux target; however
|
| 160 |
|
|
GCC will also accept `<samp><span class="samp">linux</span></samp>'. The version of the kernel in use is
|
| 161 |
|
|
not relevant on these systems. A suffix such as `<samp><span class="samp">libc1</span></samp>' or `<samp><span class="samp">aout</span></samp>'
|
| 162 |
|
|
distinguishes major versions of the C library; all of the suffixed versions
|
| 163 |
|
|
are obsolete.
|
| 164 |
|
|
|
| 165 |
|
|
<p>If you specify an impossible combination such as `<samp><span class="samp">i860-dg-vms</span></samp>',
|
| 166 |
|
|
then you may get an error message from <samp><span class="file">configure</span></samp>, or it may
|
| 167 |
|
|
ignore part of the information and do the best it can with the rest.
|
| 168 |
|
|
<samp><span class="file">configure</span></samp> always prints the canonical name for the alternative
|
| 169 |
|
|
that it used. GCC does not support all possible alternatives.
|
| 170 |
|
|
|
| 171 |
|
|
<p>Often a particular model of machine has a name. Many machine names are
|
| 172 |
|
|
recognized as aliases for CPU/company combinations. Thus, the machine
|
| 173 |
|
|
name `<samp><span class="samp">sun3</span></samp>', mentioned above, is an alias for `<samp><span class="samp">m68k-sun</span></samp>'.
|
| 174 |
|
|
Sometimes we accept a company name as a machine name, when the name is
|
| 175 |
|
|
popularly used for a particular machine. Here is a table of the known
|
| 176 |
|
|
machine names:
|
| 177 |
|
|
|
| 178 |
|
|
<blockquote>
|
| 179 |
|
|
3300, 3b1, 3b<var>n</var>, 7300, altos3068, altos,
|
| 180 |
|
|
apollo68, att-7300, balance,
|
| 181 |
|
|
convex-c<var>n</var>, crds, decstation-3100,
|
| 182 |
|
|
decstation, delta, encore,
|
| 183 |
|
|
fx2800, gmicro, hp7<var>nn</var>, hp8<var>nn</var>,
|
| 184 |
|
|
hp9k2<var>nn</var>, hp9k3<var>nn</var>, hp9k7<var>nn</var>,
|
| 185 |
|
|
hp9k8<var>nn</var>, iris4d, iris, isi68,
|
| 186 |
|
|
m3230, magnum, merlin, miniframe,
|
| 187 |
|
|
mmax, news-3600, news800, news, next,
|
| 188 |
|
|
pbd, pc532, pmax, powerpc, powerpcle, ps2, risc-news,
|
| 189 |
|
|
rtpc, sun2, sun386i, sun386, sun3,
|
| 190 |
|
|
sun4, symmetry, tower-32, tower.
|
| 191 |
|
|
</blockquote>
|
| 192 |
|
|
|
| 193 |
|
|
<p class="noindent">Remember that a machine name specifies both the cpu type and the company
|
| 194 |
|
|
name.
|
| 195 |
|
|
If you want to install your own homemade configuration files, you can
|
| 196 |
|
|
use `<samp><span class="samp">local</span></samp>' as the company name to access them. If you use
|
| 197 |
|
|
configuration `<samp><var>cpu</var><span class="samp">-local</span></samp>', the configuration name
|
| 198 |
|
|
without the cpu prefix
|
| 199 |
|
|
is used to form the configuration file names.
|
| 200 |
|
|
|
| 201 |
|
|
<p>Thus, if you specify `<samp><span class="samp">m68k-local</span></samp>', configuration uses
|
| 202 |
|
|
files <samp><span class="file">m68k.md</span></samp>, <samp><span class="file">local.h</span></samp>, <samp><span class="file">m68k.c</span></samp>,
|
| 203 |
|
|
<samp><span class="file">xm-local.h</span></samp>, <samp><span class="file">t-local</span></samp>, and <samp><span class="file">x-local</span></samp>, all in the
|
| 204 |
|
|
directory <samp><span class="file">config/m68k</span></samp>.
|
| 205 |
|
|
<hr />
|
| 206 |
|
|
<p><a href="./index.html">Return to the GCC Installation page</a>
|
| 207 |
|
|
|
| 208 |
|
|
<!-- ***GFDL******************************************************************** -->
|
| 209 |
|
|
<!-- *************************************************************************** -->
|
| 210 |
|
|
<!-- Part 6 The End of the Document -->
|
| 211 |
|
|
</body></html>
|
| 212 |
|
|
|