home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / gnu / gcc-2.5.8-bin.lha / info / gcc.info-5 (.txt) < prev    next >
GNU Info File  |  1994-02-21  |  50KB  |  867 lines

  1. This is Info file gcc.info, produced by Makeinfo-1.55 from the input
  2. file gcc.texi.
  3.    This file documents the use and the internals of the GNU compiler.
  4.    Published by the Free Software Foundation 675 Massachusetts Avenue
  5. Cambridge, MA 02139 USA
  6.    Copyright (C) 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
  7.    Permission is granted to make and distribute verbatim copies of this
  8. manual provided the copyright notice and this permission notice are
  9. preserved on all copies.
  10.    Permission is granted to copy and distribute modified versions of
  11. this manual under the conditions for verbatim copying, provided also
  12. that the sections entitled "GNU General Public License" and "Protect
  13. Your Freedom--Fight `Look And Feel'" are included exactly as in the
  14. original, and provided that the entire resulting derived work is
  15. distributed under the terms of a permission notice identical to this
  16.    Permission is granted to copy and distribute translations of this
  17. manual into another language, under the above conditions for modified
  18. versions, except that the sections entitled "GNU General Public
  19. License" and "Protect Your Freedom--Fight `Look And Feel'", and this
  20. permission notice, may be included in translations approved by the Free
  21. Software Foundation instead of in the original English.
  22. File: gcc.info,  Node: Installation,  Next: C Extensions,  Prev: Invoking GCC,  Up: Top
  23. Installing GNU CC
  24. *****************
  25.    Here is the procedure for installing GNU CC on a Unix system.
  26. * Menu:
  27. * Other Dir::     Compiling in a separate directory (not where the source is).
  28. * Cross-Compiler::   Building and installing a cross-compiler.
  29. * PA Install::    See below for installation on the HP Precision Architecture.
  30. * Sun Install::   See below for installation on the Sun.
  31. * 3b1 Install::   See below for installation on the 3b1.
  32. * Unos Install::  See below for installation on Unos (from CRDS).
  33. * VMS Install::   See below for installation on VMS.
  34. * WE32K Install:: See below for installation on the 3b* aside from the 3b1.
  35. * MIPS Install::  See below for installation on the MIPS Architecture.
  36. * Collect2::      How `collect2' works; how it finds `ld'.
  37. * Header Dirs::   Understanding the standard header file directories.
  38.    You cannot install GNU C by itself on MSDOS; it will not compile
  39. under any MSDOS compiler except itself.  You need to get the complete
  40. compilation package DJGPP, which includes binaries as well as sources,
  41. and includes all the necessary compilation tools and libraries.
  42.   1. If you have built GNU CC previously in the same directory for a
  43.      different target machine, do `make distclean' to delete all files
  44.      that might be invalid.  One of the files this deletes is
  45.      `Makefile'; if `make distclean' complains that `Makefile' does not
  46.      exist, it probably means that the directory is already suitably
  47.      clean.
  48.   2. On a System V release 4 system, make sure `/usr/bin' precedes
  49.      `/usr/ucb' in `PATH'.  The `cc' command in `/usr/ucb' uses
  50.      libraries which have bugs.
  51.   3. Specify the host and target machine configurations.  You do this by
  52.      running the file `configure' with appropriate arguments.
  53.      If you are building a compiler to produce code for the machine it
  54.      runs on, specify just one machine type, with the `--target'
  55.      option; the host type will default to be the same as the target.
  56.      (For information on building a cross-compiler, see *Note
  57.      Cross-Compiler::.)  Here is an example:
  58.           configure --target=sparc-sun-sunos4.1
  59.      If you run `configure' without specifying configuration arguments,
  60.      `configure' tries to guess the type of host you are on, and uses
  61.      that configuration type for both host and target.  So you don't
  62.      need to specify a configuration, for building a native compiler,
  63.      unless `configure' cannot figure out what your configuration is.
  64.      A configuration name may be canonical or it may be more or less
  65.      abbreviated.
  66.      A canonical configuration name has three parts, separated by
  67.      dashes.  It looks like this: `CPU-COMPANY-SYSTEM'.  (The three
  68.      parts may themselves contain dashes; `configure' can figure out
  69.      which dashes serve which purpose.)  For example,
  70.      `m68k-sun-sunos4.1' specifies a Sun 3.
  71.      You can also replace parts of the configuration by nicknames or
  72.      aliases.  For example, `sun3' stands for `m68k-sun', so
  73.      `sun3-sunos4.1' is another way to specify a Sun 3.  You can also
  74.      use simply `sun3-sunos', since the version of SunOS is assumed by
  75.      default to be version 4.  `sun3-bsd' also works, since `configure'
  76.      knows that the only BSD variant on a Sun 3 is SunOS.
  77.      You can specify a version number after any of the system types,
  78.      and some of the CPU types.  In most cases, the version is
  79.      irrelevant, and will be ignored.  So you might as well specify the
  80.      version if you know it.
  81.      Here are the possible CPU types:
  82.           a29k, alpha, arm, cN, clipper, elxsi, h8300, hppa1.0, hppa1.1,
  83.           i370, i386, i486, i860, i960, m68000, m68k, m88k, mips,
  84.           ns32k, pyramid, romp, rs6000, sh, sparc, sparclite, vax,
  85.           we32k.
  86.      Here are the recognized company names.  As you can see, customary
  87.      abbreviations are used rather than the longer official names.
  88.           alliant, altos, apollo, att, bull, cbm, convergent, convex,
  89.           crds, dec, dg, dolphin, elxsi, encore, harris, hitachi, hp,
  90.           ibm, intergraph, isi, mips, motorola, ncr, next, ns, omron,
  91.           plexus, sequent, sgi, sony, sun, tti, unicom.
  92.      The company name is meaningful only to disambiguate when the rest
  93.      of the information supplied is insufficient.  You can omit it,
  94.      writing just `CPU-SYSTEM', if it is not needed.  For example,
  95.      `vax-ultrix4.2' is equivalent to `vax-dec-ultrix4.2'.
  96.      Here is a list of system types:
  97.           aix, acis, aos, bsd, clix, ctix, dgux, dynix, genix, hpux,
  98.           isc, linux, luna, lynxos, mach, minix, newsos, osf, osfrose,
  99.           riscos, sco, solaris, sunos, sysv, ultrix, unos, vms.
  100.      You can omit the system type; then `configure' guesses the
  101.      operating system from the CPU and company.
  102.      You can add a version number to the system type; this may or may
  103.      not make a difference.  For example, you can write `bsd4.3' or
  104.      `bsd4.4' to distinguish versions of BSD.  In practice, the version
  105.      number is most needed for `sysv3' and `sysv4', which are often
  106.      treated differently.
  107.      If you specify an impossible combination such as `i860-dg-vms',
  108.      then you may get an error message from `configure', or it may
  109.      ignore part of the information and do the best it can with the
  110.      rest.  `configure' always prints the canonical name for the
  111.      alternative that it used.
  112.      Often a particular model of machine has a name.  Many machine
  113.      names are recognized as aliases for CPU/company combinations.
  114.      Thus, the machine name `sun3', mentioned above, is an alias for
  115.      `m68k-sun'.  Sometimes we accept a company name as a machine name,
  116.      when the name is popularly used for a particular machine.  Here is
  117.      a table of the known machine names:
  118.           3300, 3b1, 3bN, 7300, altos3068, altos, apollo68, att-7300,
  119.           balance, convex-cN, crds, decstation-3100, decstation, delta,
  120.           encore, fx2800, gmicro, hp7NN, hp8NN, hp9k2NN, hp9k3NN,
  121.           hp9k7NN, hp9k8NN, iris4d, iris, isi68, m3230, magnum, merlin,
  122.           miniframe, mmax, news-3600, news800, news, next, pbd, pc532,
  123.           pmax, ps2, risc-news, rtpc, sun2, sun386i, sun386, sun3,
  124.           sun4, symmetry, tower-32, tower.
  125.      Remember that a machine name specifies both the cpu type and the
  126.      company name.
  127.      There are four additional options you can specify independently to
  128.      describe variant hardware and software configurations.  These are
  129.      `--with-gnu-as', `--with-gnu-ld', `--with-stabs' and `--nfp'.
  130.     `--with-gnu-as'
  131.           If you will use GNU CC with the GNU assembler (GAS), you
  132.           should declare this by using the `--with-gnu-as' option when
  133.           you run `configure'.
  134.           Using this option does not install GAS.  It only modifies the
  135.           output of