| <html lang="en"> |
| <head> |
| <title>Installing GCC: Old documentation</title> |
| <meta http-equiv="Content-Type" content="text/html"> |
| <meta name="description" content="Installing GCC: Old documentation"> |
| <meta name="generator" content="makeinfo 4.11"> |
| <link title="Top" rel="top" href="#Top"> |
| <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> |
| <!-- |
| Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
| 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
| |
| Permission is granted to copy, distribute and/or modify this document |
| under the terms of the GNU Free Documentation License, Version 1.2 or |
| any later version published by the Free Software Foundation; with no |
| Invariant Sections, the Front-Cover texts being (a) (see below), and |
| with the Back-Cover Texts being (b) (see below). A copy of the |
| license is included in the section entitled "GNU Free Documentation License". |
| |
| (a) The FSF's Front-Cover Text is: |
| |
| A GNU Manual |
| |
| (b) The FSF's Back-Cover Text is: |
| |
| You have freedom to copy and modify this GNU Manual, like GNU |
| software. Copies published by the Free Software Foundation raise |
| funds for GNU development.--> |
| <meta http-equiv="Content-Style-Type" content="text/css"> |
| <style type="text/css"><!-- |
| pre.display { font-family:inherit } |
| pre.format { font-family:inherit } |
| pre.smalldisplay { font-family:inherit; font-size:smaller } |
| pre.smallformat { font-family:inherit; font-size:smaller } |
| pre.smallexample { font-size:smaller } |
| pre.smalllisp { font-size:smaller } |
| span.sc { font-variant:small-caps } |
| span.roman { font-family:serif; font-weight:normal; } |
| span.sansserif { font-family:sans-serif; font-weight:normal; } |
| --></style> |
| </head> |
| <body> |
| <h1 class="settitle">Installing GCC: Old documentation</h1> |
| <h1 align="center">Old installation documentation</h1> |
| |
| <p>Note most of this information is out of date and superseded by the |
| previous chapters of this manual. It is provided for historical |
| reference only, because of a lack of volunteers to merge it into the |
| main manual. |
| |
| <p>Here is the procedure for installing GCC on a GNU or Unix system. |
| |
| <ol type=1 start=1> |
| <li>If you have chosen a configuration for GCC which requires other GNU |
| tools (such as GAS or the GNU linker) instead of the standard system |
| tools, install the required tools in the build directory under the names |
| <samp><span class="file">as</span></samp>, <samp><span class="file">ld</span></samp> or whatever is appropriate. |
| |
| <p>Alternatively, you can do subsequent compilation using a value of the |
| <code>PATH</code> environment variable such that the necessary GNU tools come |
| before the standard system tools. |
| |
| <li>Specify the host, build and target machine configurations. You do this |
| when you run the <samp><span class="file">configure</span></samp> script. |
| |
| <p>The <dfn>build</dfn> machine is the system which you are using, the |
| <dfn>host</dfn> machine is the system where you want to run the resulting |
| compiler (normally the build machine), and the <dfn>target</dfn> machine is |
| the system for which you want the compiler to generate code. |
| |
| <p>If you are building a compiler to produce code for the machine it runs |
| on (a native compiler), you normally do not need to specify any operands |
| to <samp><span class="file">configure</span></samp>; it will try to guess the type of machine you are on |
| and use that as the build, host and target machines. So you don't need |
| to specify a configuration when building a native compiler unless |
| <samp><span class="file">configure</span></samp> cannot figure out what your configuration is or guesses |
| wrong. |
| |
| <p>In those cases, specify the build machine's <dfn>configuration name</dfn> |
| with the <samp><span class="option">--host</span></samp> option; the host and target will default to be |
| the same as the host machine. |
| |
| <p>Here is an example: |
| |
| <pre class="smallexample"> ./configure --host=sparc-sun-sunos4.1 |
| </pre> |
| <p>A configuration name may be canonical or it may be more or less |
| abbreviated. |
| |
| <p>A canonical configuration name has three parts, separated by dashes. |
| It looks like this: ‘<samp><var>cpu</var><span class="samp">-</span><var>company</var><span class="samp">-</span><var>system</var></samp>’. |
| (The three parts may themselves contain dashes; <samp><span class="file">configure</span></samp> |
| can figure out which dashes serve which purpose.) For example, |
| ‘<samp><span class="samp">m68k-sun-sunos4.1</span></samp>’ specifies a Sun 3. |
| |
| <p>You can also replace parts of the configuration by nicknames or aliases. |
| For example, ‘<samp><span class="samp">sun3</span></samp>’ stands for ‘<samp><span class="samp">m68k-sun</span></samp>’, so |
| ‘<samp><span class="samp">sun3-sunos4.1</span></samp>’ is another way to specify a Sun 3. |
| |
| <p>You can specify a version number after any of the system types, and some |
| of the CPU types. In most cases, the version is irrelevant, and will be |
| ignored. So you might as well specify the version if you know it. |
| |
| <p>See <a href="#Configurations">Configurations</a>, for a list of supported configuration names and |
| notes on many of the configurations. You should check the notes in that |
| section before proceeding any further with the installation of GCC. |
| |
| </ol> |
| |
| <p><h2><a name="Configurations"></a>Configurations Supported by GCC</h2><a name="index-configurations-supported-by-GCC-1"></a> |
| Here are the possible CPU types: |
| |
| <blockquote> |
| <!-- gmicro, fx80, spur and tahoe omitted since they don't work. --> |
| 1750a, a29k, alpha, arm, avr, c<var>n</var>, clipper, dsp16xx, elxsi, fr30, h8300, |
| hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, ip2k, m32r, |
| m68000, m68k, m6811, m6812, m88k, mcore, mips, mipsel, mips64, mips64el, |
| mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc, |
| sparclite, sparc64, v850, vax, we32k. |
| </blockquote> |
| |
| <p>Here are the recognized company names. As you can see, customary |
| abbreviations are used rather than the longer official names. |
| |
| <!-- What should be done about merlin, tek*, dolphin? --> |
| <blockquote> |
| acorn, alliant, altos, apollo, apple, att, bull, |
| cbm, convergent, convex, crds, dec, dg, dolphin, |
| elxsi, encore, harris, hitachi, hp, ibm, intergraph, isi, |
| mips, motorola, ncr, next, ns, omron, plexus, |
| sequent, sgi, sony, sun, tti, unicom, wrs. |
| </blockquote> |
| |
| <p>The company name is meaningful only to disambiguate when the rest of |
| the information supplied is insufficient. You can omit it, writing |
| just ‘<samp><var>cpu</var><span class="samp">-</span><var>system</var></samp>’, if it is not needed. For example, |
| ‘<samp><span class="samp">vax-ultrix4.2</span></samp>’ is equivalent to ‘<samp><span class="samp">vax-dec-ultrix4.2</span></samp>’. |
| |
| <p>Here is a list of system types: |
| |
| <blockquote> |
| 386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux, |
| dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux, |
| linux-gnu, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs, |
| netbsd, newsos, nindy, ns, osf, osfrose, ptx, riscix, riscos, rtu, sco, sim, |
| solaris, sunos, sym, sysv, udi, ultrix, unicos, uniplus, unos, vms, vsta, |
| vxworks, winnt, xenix. |
| </blockquote> |
| |
| <p class="noindent">You can omit the system type; then <samp><span class="file">configure</span></samp> guesses the |
| operating system from the CPU and company. |
| |
| <p>You can add a version number to the system type; this may or may not |
| make a difference. For example, you can write ‘<samp><span class="samp">bsd4.3</span></samp>’ or |
| ‘<samp><span class="samp">bsd4.4</span></samp>’ to distinguish versions of BSD. In practice, the version |
| number is most needed for ‘<samp><span class="samp">sysv3</span></samp>’ and ‘<samp><span class="samp">sysv4</span></samp>’, which are often |
| treated differently. |
| |
| <p>‘<samp><span class="samp">linux-gnu</span></samp>’ is the canonical name for the GNU/Linux target; however |
| GCC will also accept ‘<samp><span class="samp">linux</span></samp>’. The version of the kernel in use is |
| not relevant on these systems. A suffix such as ‘<samp><span class="samp">libc1</span></samp>’ or ‘<samp><span class="samp">aout</span></samp>’ |
| distinguishes major versions of the C library; all of the suffixed versions |
| are obsolete. |
| |
| <p>If you specify an impossible combination such as ‘<samp><span class="samp">i860-dg-vms</span></samp>’, |
| then you may get an error message from <samp><span class="file">configure</span></samp>, or it may |
| ignore part of the information and do the best it can with the rest. |
| <samp><span class="file">configure</span></samp> always prints the canonical name for the alternative |
| that it used. GCC does not support all possible alternatives. |
| |
| <p>Often a particular model of machine has a name. Many machine names are |
| recognized as aliases for CPU/company combinations. Thus, the machine |
| name ‘<samp><span class="samp">sun3</span></samp>’, mentioned above, is an alias for ‘<samp><span class="samp">m68k-sun</span></samp>’. |
| Sometimes we accept a company name as a machine name, when the name is |
| popularly used for a particular machine. Here is a table of the known |
| machine names: |
| |
| <blockquote> |
| 3300, 3b1, 3b<var>n</var>, 7300, altos3068, altos, |
| apollo68, att-7300, balance, |
| convex-c<var>n</var>, crds, decstation-3100, |
| decstation, delta, encore, |
| fx2800, gmicro, hp7<var>nn</var>, hp8<var>nn</var>, |
| hp9k2<var>nn</var>, hp9k3<var>nn</var>, hp9k7<var>nn</var>, |
| hp9k8<var>nn</var>, iris4d, iris, isi68, |
| m3230, magnum, merlin, miniframe, |
| mmax, news-3600, news800, news, next, |
| pbd, pc532, pmax, powerpc, powerpcle, ps2, risc-news, |
| rtpc, sun2, sun386i, sun386, sun3, |
| sun4, symmetry, tower-32, tower. |
| </blockquote> |
| |
| <p class="noindent">Remember that a machine name specifies both the cpu type and the company |
| name. |
| If you want to install your own homemade configuration files, you can |
| use ‘<samp><span class="samp">local</span></samp>’ as the company name to access them. If you use |
| configuration ‘<samp><var>cpu</var><span class="samp">-local</span></samp>’, the configuration name |
| without the cpu prefix |
| is used to form the configuration file names. |
| |
| <p>Thus, if you specify ‘<samp><span class="samp">m68k-local</span></samp>’, configuration uses |
| 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>, |
| <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 |
| directory <samp><span class="file">config/m68k</span></samp>. |
| <hr /> |
| <p><a href="./index.html">Return to the GCC Installation page</a> |
| |
| <!-- ***GFDL******************************************************************** --> |
| <!-- *************************************************************************** --> |
| <!-- Part 6 The End of the Document --> |
| </body></html> |
| |