1*ec02198aSmrg@c Copyright (C) 1988-2020 Free Software Foundation, Inc. 210d565efSmrg@c This is part of the GCC manual. 310d565efSmrg@c For copying conditions, see the file install.texi. 410d565efSmrg 510d565efSmrg@ifnothtml 610d565efSmrg@comment node-name, next, previous, up 710d565efSmrg@node Old, GNU Free Documentation License, Specific, Top 810d565efSmrg@end ifnothtml 910d565efSmrg@html 1010d565efSmrg<h1 align="center">Old installation documentation</h1> 1110d565efSmrg@end html 1210d565efSmrg@ifnothtml 1310d565efSmrg@chapter Old installation documentation 1410d565efSmrg@end ifnothtml 1510d565efSmrg 1610d565efSmrgNote most of this information is out of date and superseded by the 1710d565efSmrgprevious chapters of this manual. It is provided for historical 1810d565efSmrgreference only, because of a lack of volunteers to merge it into the 1910d565efSmrgmain manual. 2010d565efSmrg 2110d565efSmrg@ifnothtml 2210d565efSmrg@menu 2310d565efSmrg* Configurations:: Configurations Supported by GCC. 2410d565efSmrg@end menu 2510d565efSmrg@end ifnothtml 2610d565efSmrg 2710d565efSmrgHere is the procedure for installing GCC on a GNU or Unix system. 2810d565efSmrg 2910d565efSmrg@enumerate 3010d565efSmrg@item 3110d565efSmrgIf you have chosen a configuration for GCC which requires other GNU 3210d565efSmrgtools (such as GAS or the GNU linker) instead of the standard system 3310d565efSmrgtools, install the required tools in the build directory under the names 3410d565efSmrg@file{as}, @file{ld} or whatever is appropriate. 3510d565efSmrg 3610d565efSmrgAlternatively, you can do subsequent compilation using a value of the 3710d565efSmrg@code{PATH} environment variable such that the necessary GNU tools come 3810d565efSmrgbefore the standard system tools. 3910d565efSmrg 4010d565efSmrg@item 4110d565efSmrgSpecify the host, build and target machine configurations. You do this 4210d565efSmrgwhen you run the @file{configure} script. 4310d565efSmrg 4410d565efSmrgThe @dfn{build} machine is the system which you are using, the 4510d565efSmrg@dfn{host} machine is the system where you want to run the resulting 4610d565efSmrgcompiler (normally the build machine), and the @dfn{target} machine is 4710d565efSmrgthe system for which you want the compiler to generate code. 4810d565efSmrg 4910d565efSmrgIf you are building a compiler to produce code for the machine it runs 5010d565efSmrgon (a native compiler), you normally do not need to specify any operands 5110d565efSmrgto @file{configure}; it will try to guess the type of machine you are on 5210d565efSmrgand use that as the build, host and target machines. So you don't need 5310d565efSmrgto specify a configuration when building a native compiler unless 5410d565efSmrg@file{configure} cannot figure out what your configuration is or guesses 5510d565efSmrgwrong. 5610d565efSmrg 5710d565efSmrgIn those cases, specify the build machine's @dfn{configuration name} 5810d565efSmrgwith the @option{--host} option; the host and target will default to be 5910d565efSmrgthe same as the host machine. 6010d565efSmrg 6110d565efSmrgHere is an example: 6210d565efSmrg 6310d565efSmrg@smallexample 6410d565efSmrg./configure --host=sparc-sun-sunos4.1 6510d565efSmrg@end smallexample 6610d565efSmrg 6710d565efSmrgA configuration name may be canonical or it may be more or less 6810d565efSmrgabbreviated. 6910d565efSmrg 7010d565efSmrgA canonical configuration name has three parts, separated by dashes. 7110d565efSmrgIt looks like this: @samp{@var{cpu}-@var{company}-@var{system}}. 7210d565efSmrg(The three parts may themselves contain dashes; @file{configure} 7310d565efSmrgcan figure out which dashes serve which purpose.) For example, 7410d565efSmrg@samp{m68k-sun-sunos4.1} specifies a Sun 3. 7510d565efSmrg 7610d565efSmrgYou can also replace parts of the configuration by nicknames or aliases. 7710d565efSmrgFor example, @samp{sun3} stands for @samp{m68k-sun}, so 7810d565efSmrg@samp{sun3-sunos4.1} is another way to specify a Sun 3. 7910d565efSmrg 8010d565efSmrgYou can specify a version number after any of the system types, and some 8110d565efSmrgof the CPU types. In most cases, the version is irrelevant, and will be 8210d565efSmrgignored. So you might as well specify the version if you know it. 8310d565efSmrg 8410d565efSmrgSee @ref{Configurations}, for a list of supported configuration names and 8510d565efSmrgnotes on many of the configurations. You should check the notes in that 8610d565efSmrgsection before proceeding any further with the installation of GCC@. 8710d565efSmrg 8810d565efSmrg@end enumerate 8910d565efSmrg 9010d565efSmrg@ifnothtml 9110d565efSmrg@node Configurations, , , Old 9210d565efSmrg@section Configurations Supported by GCC 9310d565efSmrg@end ifnothtml 9410d565efSmrg@html 9510d565efSmrg<h2>@anchor{Configurations}Configurations Supported by GCC</h2> 9610d565efSmrg@end html 9710d565efSmrg@cindex configurations supported by GCC 9810d565efSmrg 9910d565efSmrgHere are the possible CPU types: 10010d565efSmrg 10110d565efSmrg@quotation 10210d565efSmrg@c gmicro, fx80, spur and tahoe omitted since they don't work. 10310d565efSmrg1750a, a29k, alpha, arm, avr, c@var{n}, clipper, dsp16xx, elxsi, fr30, h8300, 10410d565efSmrghppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, ip2k, m32r, 10510d565efSmrgm68000, m68k, m88k, mcore, mips, mipsel, mips64, mips64el, 10610d565efSmrgmn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc, 10710d565efSmrgsparclite, sparc64, v850, vax, we32k. 10810d565efSmrg@end quotation 10910d565efSmrg 11010d565efSmrgHere are the recognized company names. As you can see, customary 11110d565efSmrgabbreviations are used rather than the longer official names. 11210d565efSmrg 11310d565efSmrg@c What should be done about merlin, tek*, dolphin? 11410d565efSmrg@quotation 11510d565efSmrgacorn, alliant, altos, apollo, apple, att, bull, 11610d565efSmrgcbm, convergent, convex, crds, dec, dg, dolphin, 11710d565efSmrgelxsi, encore, harris, hitachi, hp, ibm, intergraph, isi, 11810d565efSmrgmips, motorola, ncr, next, ns, omron, plexus, 11910d565efSmrgsequent, sgi, sony, sun, tti, unicom, wrs. 12010d565efSmrg@end quotation 12110d565efSmrg 12210d565efSmrgThe company name is meaningful only to disambiguate when the rest of 12310d565efSmrgthe information supplied is insufficient. You can omit it, writing 12410d565efSmrgjust @samp{@var{cpu}-@var{system}}, if it is not needed. For example, 12510d565efSmrg@samp{vax-ultrix4.2} is equivalent to @samp{vax-dec-ultrix4.2}. 12610d565efSmrg 12710d565efSmrgHere is a list of system types: 12810d565efSmrg 12910d565efSmrg@quotation 13010d565efSmrg386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux, 13110d565efSmrgdgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux, 13210d565efSmrglinux-gnu, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs, 13310d565efSmrgnetbsd, newsos, nindy, ns, osf, osfrose, ptx, riscix, riscos, rtu, sco, sim, 13410d565efSmrgsolaris, sunos, sym, sysv, udi, ultrix, unicos, uniplus, unos, vms, vsta, 13510d565efSmrgvxworks, winnt, xenix. 13610d565efSmrg@end quotation 13710d565efSmrg 13810d565efSmrg@noindent 13910d565efSmrgYou can omit the system type; then @file{configure} guesses the 14010d565efSmrgoperating system from the CPU and company. 14110d565efSmrg 14210d565efSmrgYou can add a version number to the system type; this may or may not 14310d565efSmrgmake a difference. For example, you can write @samp{bsd4.3} or 14410d565efSmrg@samp{bsd4.4} to distinguish versions of BSD@. In practice, the version 14510d565efSmrgnumber is most needed for @samp{sysv3} and @samp{sysv4}, which are often 14610d565efSmrgtreated differently. 14710d565efSmrg 14810d565efSmrg@samp{linux-gnu} is the canonical name for the GNU/Linux target; however 14910d565efSmrgGCC will also accept @samp{linux}. The version of the kernel in use is 15010d565efSmrgnot relevant on these systems. A suffix such as @samp{libc1} or @samp{aout} 15110d565efSmrgdistinguishes major versions of the C library; all of the suffixed versions 15210d565efSmrgare obsolete. 15310d565efSmrg 15410d565efSmrgIf you specify an impossible combination such as @samp{i860-dg-vms}, 15510d565efSmrgthen you may get an error message from @file{configure}, or it may 15610d565efSmrgignore part of the information and do the best it can with the rest. 15710d565efSmrg@file{configure} always prints the canonical name for the alternative 15810d565efSmrgthat it used. GCC does not support all possible alternatives. 15910d565efSmrg 16010d565efSmrgOften a particular model of machine has a name. Many machine names are 16110d565efSmrgrecognized as aliases for CPU/company combinations. Thus, the machine 16210d565efSmrgname @samp{sun3}, mentioned above, is an alias for @samp{m68k-sun}. 16310d565efSmrgSometimes we accept a company name as a machine name, when the name is 16410d565efSmrgpopularly used for a particular machine. Here is a table of the known 16510d565efSmrgmachine names: 16610d565efSmrg 16710d565efSmrg@quotation 16810d565efSmrg3300, 3b1, 3b@var{n}, 7300, altos3068, altos, 16910d565efSmrgapollo68, att-7300, balance, 17010d565efSmrgconvex-c@var{n}, crds, decstation-3100, 17110d565efSmrgdecstation, delta, encore, 17210d565efSmrgfx2800, gmicro, hp7@var{nn}, hp8@var{nn}, 17310d565efSmrghp9k2@var{nn}, hp9k3@var{nn}, hp9k7@var{nn}, 17410d565efSmrghp9k8@var{nn}, iris4d, iris, isi68, 17510d565efSmrgm3230, magnum, merlin, miniframe, 17610d565efSmrgmmax, news-3600, news800, news, next, 17710d565efSmrgpbd, pc532, pmax, powerpc, powerpcle, ps2, risc-news, 17810d565efSmrgrtpc, sun2, sun386i, sun386, sun3, 17910d565efSmrgsun4, symmetry, tower-32, tower. 18010d565efSmrg@end quotation 18110d565efSmrg 18210d565efSmrg@noindent 18310d565efSmrgRemember that a machine name specifies both the cpu type and the company 18410d565efSmrgname. 185