install-old.texi 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. @c Copyright (C) 1988-2015 Free Software Foundation, Inc.
  2. @c This is part of the GCC manual.
  3. @c For copying conditions, see the file install.texi.
  4. @ifnothtml
  5. @comment node-name, next, previous, up
  6. @node Old, GNU Free Documentation License, Specific, Top
  7. @end ifnothtml
  8. @html
  9. <h1 align="center">Old installation documentation</h1>
  10. @end html
  11. @ifnothtml
  12. @chapter Old installation documentation
  13. @end ifnothtml
  14. Note most of this information is out of date and superseded by the
  15. previous chapters of this manual. It is provided for historical
  16. reference only, because of a lack of volunteers to merge it into the
  17. main manual.
  18. @ifnothtml
  19. @menu
  20. * Configurations:: Configurations Supported by GCC.
  21. @end menu
  22. @end ifnothtml
  23. Here is the procedure for installing GCC on a GNU or Unix system.
  24. @enumerate
  25. @item
  26. If you have chosen a configuration for GCC which requires other GNU
  27. tools (such as GAS or the GNU linker) instead of the standard system
  28. tools, install the required tools in the build directory under the names
  29. @file{as}, @file{ld} or whatever is appropriate.
  30. Alternatively, you can do subsequent compilation using a value of the
  31. @code{PATH} environment variable such that the necessary GNU tools come
  32. before the standard system tools.
  33. @item
  34. Specify the host, build and target machine configurations. You do this
  35. when you run the @file{configure} script.
  36. The @dfn{build} machine is the system which you are using, the
  37. @dfn{host} machine is the system where you want to run the resulting
  38. compiler (normally the build machine), and the @dfn{target} machine is
  39. the system for which you want the compiler to generate code.
  40. If you are building a compiler to produce code for the machine it runs
  41. on (a native compiler), you normally do not need to specify any operands
  42. to @file{configure}; it will try to guess the type of machine you are on
  43. and use that as the build, host and target machines. So you don't need
  44. to specify a configuration when building a native compiler unless
  45. @file{configure} cannot figure out what your configuration is or guesses
  46. wrong.
  47. In those cases, specify the build machine's @dfn{configuration name}
  48. with the @option{--host} option; the host and target will default to be
  49. the same as the host machine.
  50. Here is an example:
  51. @smallexample
  52. ./configure --host=sparc-sun-sunos4.1
  53. @end smallexample
  54. A configuration name may be canonical or it may be more or less
  55. abbreviated.
  56. A canonical configuration name has three parts, separated by dashes.
  57. It looks like this: @samp{@var{cpu}-@var{company}-@var{system}}.
  58. (The three parts may themselves contain dashes; @file{configure}
  59. can figure out which dashes serve which purpose.) For example,
  60. @samp{m68k-sun-sunos4.1} specifies a Sun 3.
  61. You can also replace parts of the configuration by nicknames or aliases.
  62. For example, @samp{sun3} stands for @samp{m68k-sun}, so
  63. @samp{sun3-sunos4.1} is another way to specify a Sun 3.
  64. You can specify a version number after any of the system types, and some
  65. of the CPU types. In most cases, the version is irrelevant, and will be
  66. ignored. So you might as well specify the version if you know it.
  67. See @ref{Configurations}, for a list of supported configuration names and
  68. notes on many of the configurations. You should check the notes in that
  69. section before proceeding any further with the installation of GCC@.
  70. @end enumerate
  71. @ifnothtml
  72. @node Configurations, , , Old
  73. @section Configurations Supported by GCC
  74. @end ifnothtml
  75. @html
  76. <h2>@anchor{Configurations}Configurations Supported by GCC</h2>
  77. @end html
  78. @cindex configurations supported by GCC
  79. Here are the possible CPU types:
  80. @quotation
  81. @c gmicro, fx80, spur and tahoe omitted since they don't work.
  82. 1750a, a29k, alpha, arm, avr, c@var{n}, clipper, dsp16xx, elxsi, fr30, h8300,
  83. hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, ip2k, m32r,
  84. m68000, m68k, m88k, mcore, mips, mipsel, mips64, mips64el,
  85. mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc,
  86. sparclite, sparc64, v850, vax, we32k.
  87. @end quotation
  88. Here are the recognized company names. As you can see, customary
  89. abbreviations are used rather than the longer official names.
  90. @c What should be done about merlin, tek*, dolphin?
  91. @quotation
  92. acorn, alliant, altos, apollo, apple, att, bull,
  93. cbm, convergent, convex, crds, dec, dg, dolphin,
  94. elxsi, encore, harris, hitachi, hp, ibm, intergraph, isi,
  95. mips, motorola, ncr, next, ns, omron, plexus,
  96. sequent, sgi, sony, sun, tti, unicom, wrs.
  97. @end quotation
  98. The company name is meaningful only to disambiguate when the rest of
  99. the information supplied is insufficient. You can omit it, writing
  100. just @samp{@var{cpu}-@var{system}}, if it is not needed. For example,
  101. @samp{vax-ultrix4.2} is equivalent to @samp{vax-dec-ultrix4.2}.
  102. Here is a list of system types:
  103. @quotation
  104. 386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux,
  105. dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux,
  106. linux-gnu, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs,
  107. netbsd, newsos, nindy, ns, osf, osfrose, ptx, riscix, riscos, rtu, sco, sim,
  108. solaris, sunos, sym, sysv, udi, ultrix, unicos, uniplus, unos, vms, vsta,
  109. vxworks, winnt, xenix.
  110. @end quotation
  111. @noindent
  112. You can omit the system type; then @file{configure} guesses the
  113. operating system from the CPU and company.
  114. You can add a version number to the system type; this may or may not
  115. make a difference. For example, you can write @samp{bsd4.3} or
  116. @samp{bsd4.4} to distinguish versions of BSD@. In practice, the version
  117. number is most needed for @samp{sysv3} and @samp{sysv4}, which are often
  118. treated differently.
  119. @samp{linux-gnu} is the canonical name for the GNU/Linux target; however
  120. GCC will also accept @samp{linux}. The version of the kernel in use is
  121. not relevant on these systems. A suffix such as @samp{libc1} or @samp{aout}
  122. distinguishes major versions of the C library; all of the suffixed versions
  123. are obsolete.
  124. If you specify an impossible combination such as @samp{i860-dg-vms},
  125. then you may get an error message from @file{configure}, or it may
  126. ignore part of the information and do the best it can with the rest.
  127. @file{configure} always prints the canonical name for the alternative
  128. that it used. GCC does not support all possible alternatives.
  129. Often a particular model of machine has a name. Many machine names are
  130. recognized as aliases for CPU/company combinations. Thus, the machine
  131. name @samp{sun3}, mentioned above, is an alias for @samp{m68k-sun}.
  132. Sometimes we accept a company name as a machine name, when the name is
  133. popularly used for a particular machine. Here is a table of the known
  134. machine names:
  135. @quotation
  136. 3300, 3b1, 3b@var{n}, 7300, altos3068, altos,
  137. apollo68, att-7300, balance,
  138. convex-c@var{n}, crds, decstation-3100,
  139. decstation, delta, encore,
  140. fx2800, gmicro, hp7@var{nn}, hp8@var{nn},
  141. hp9k2@var{nn}, hp9k3@var{nn}, hp9k7@var{nn},
  142. hp9k8@var{nn}, iris4d, iris, isi68,
  143. m3230, magnum, merlin, miniframe,
  144. mmax, news-3600, news800, news, next,
  145. pbd, pc532, pmax, powerpc, powerpcle, ps2, risc-news,
  146. rtpc, sun2, sun386i, sun386, sun3,
  147. sun4, symmetry, tower-32, tower.
  148. @end quotation
  149. @noindent
  150. Remember that a machine name specifies both the cpu type and the company
  151. name.