home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 7
/
FreshFishVol7.bin
/
bbs
/
gnu
/
gcc-2.3.3-src.lha
/
GNU
/
src
/
amiga
/
gcc-2.3.3
/
INSTALL
< prev
next >
Wrap
Text File
|
1994-02-06
|
52KB
|
1,154 lines
This file documents the installation of the GNU compiler. Copyright (C)
1988, 1989, 1992 Free Software Foundation, Inc. You may copy,
distribute, and modify it freely as long as you preserve this copyright
notice and permission notice.
Installing GNU CC
******************
Here is the procedure for installing GNU CC on a Unix system.
1. If you have built GNU CC previously in the same directory for a
different target machine, do `make distclean' to delete all files
that might be invalid. One of the files this deletes is
`Makefile'; if `make distclean' complains that `Makefile' does not
exist, it probably means that the directory is already suitably
clean.
2. On a System V release 4 system, make sure `/usr/bin' precedes
`/usr/ucb' in `PATH'. The `cc' command in `/usr/ucb' uses
libraries which have bugs.
3. Specify the host and target machine configurations. You do this by
running the file `configure' with appropriate arguments.
If you are building a compiler to produce code for the machine it
runs on, specify just one machine type. Use the `--target'
option; the host type will default to be the same as the target.
(For information on building a cross-compiler, see *Note
Cross-Compiler::.) The command looks like this:
configure --target=sparc-sun-sunos4.1
A configuration name may be canonical or it may be more or less
abbreviated.
A canonical configuration name has three parts, separated by
dashes. It looks like this: `CPU-COMPANY-SYSTEM'. (The three parts
may themselves contain dashes; `configure' can figure out which
dashes serve which purpose.) For example, `m68k-sun-sunos4.1'
specifies a Sun 3.
You can also replace parts of the configuration by nicknames or
aliases. For example, `sun3' stands for `m68k-sun', so
`sun3-sunos4.1' is another way to specify a Sun 3. You can also
use simply `sun3-sunos', since the version of SunOS is assumed by
default to be version 4. `sun3-bsd' also works, since `configure'
knows that the only BSD variant on a Sun 3 is SunOS.
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.
Here are the possible CPU types:
a29k, alpha, arm, cN, elxsi, hppa1.0, hppa1.1, i386, i860,
i960, m68000, m68k, m88k, mips, ns32k, pyramid, romp, rs6000,
sparc, vax, we32k.
Here are the recognized company names. As you can see, customary
abbreviations are used rather than the longer official names.
alliant, altos, apollo, att, cbm, convergent, convex, crds,
dec, dg, encore, harris, hp, ibm, mips, motorola, ncr, next,
ns, omron, sequent, sgi, sony, sun, tti, unicom.
The company name is meaningful only to disambiguate when the rest
of the information supplied is insufficient. You can omit it,
writing just `CPU-SYSTEM', if it is not needed. For example,
`vax-ultrix4.2' is equivalent to `vax-dec-ultrix4.2'.
Here is a list of system types:
aix, aos, bsd, ctix, dgux, dynix, genix, hpux, isc, linux,
luna, mach, minix, newsos, osf, osfrose, riscos, sco, sunos,
sysv, ultrix, unos, vms.
You can omit the system type; then `configure' guesses the
operating system from the CPU and company.
You can add a version number to the system type; this may or may
not make a difference. For example, you can write `bsd4.3' or
`bsd4.4' to distinguish versions of BSD. In practice, the version
number is most needed for `sysv3' and `sysv4', which are often
treated differently.
If you specify an impossible combination such as `i860-dg-vms',
then you may get an error message from `configure', or it may
ignore part of the information and do the best it can with the
rest. `configure' always prints the canonical name for the
alternative that it used.
Often a particular model of machine has a name. Many machine
names are recognized as aliases for CPU/company combinations.
Thus, the machine name `sun3', mentioned above, is an alias for
`m68k-sun'. 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:
3300, 3b1, 3bN, 7300, altos3068, altos, apollo68, att-7300,
balance, convex-cN, crds, decstation-3100, decstation, delta,
encore, fx2800, gmicro, hp7NN, hp8NN, hp9k2NN, hp9k3NN,
hp9k7NN, hp9k8NN, iris4d, iris, isi68, m3230, magnum, merlin,
miniframe, mmax, news-3600, news800, news, next, pbd, pc532,
pmax, ps2, risc-news, rtpc, sun2, sun386i, sun386, sun3,
sun4, symmetry, tower-32, tower.
Remember that a machine name specifies both the cpu type and the
company name.
There are four additional options you can specify independently to
describe variant hardware and software configurations. These are
`--with-gnu-as', `--with-gnu-ld', `--with-stabs' and `--nfp'.
`--with-gnu-as'
On certain systems, you must specify whether you want GNU CC
to work with the usual compilation tools or with the GNU
compilation tools (including GAS). Use the `--with-gnu-as'
argument when you run `configure', if you want to use the GNU
tools. (Specify `--with-gnu-ld' as well, since on these
systems GAS works only with the GNU linker.) The systems
where this makes a difference are `i386-ANYTHING-sysv',
`i860-ANYTHING-bsd', `m68k-hp-hpux', `m68k-sony-bsd',
`m68k-altos-sysv', `m68000-hp-hpux', and `m68000-att-sysv'.
On any other system, `--with-gnu-as' has no effect.
`--with-gnu-ld'
Specify the option `--with-gnu-ld' if you plan to use the GNU
linker. This inhibits the installation of `collect2', a
program which otherwise serves as a front-end for the
system's linker on most configurations.
`--with-stabs'
On MIPS based systems, you must specify whether you want GNU
CC to create the normal ECOFF debugging format, or to use
BSD-style stabs passed through the ECOFF symbol table. The
normal ECOFF debug format cannot fully handle languages other
than C. BSD stabs format can handle other languages, but it
only works with the GNU debugger GDB.
Normally, GNU CC uses the ECOFF debugging format by default;
if you prefer BSD stabs, specify `--with-stabs' when you
configure GNU CC.
No matter which default you choose when you configure GNU CC,
the user can use the `-gcoff' and `-gstabs+' options to
specify explicitly the debug format for a particular
compilation.
`--nfp'
On certain systems, you must specify whether the machine has
a floating point unit. These systems are `m68k-sun-sunosN'
and `m68k-isi-bsd'. On any other system, `--nfp' currently
has no effect, though perhaps there are other systems where
it could usefully make a difference.
If you want to install your own homemade configuration files, you
can use `local' as the company name to access them. If you use
configuration `CPU-local', the entire configuration name is used
to form the configuration file names.
Thus, if you specify `m68k-local', then the files used are
`m68k-local.md', `m68k-local.h', `m68k-local.c',
`xm-m68k-local.h', `t-m68k-local', and `x-m68k-local'.
Here is a list of configurations that have special treatment or
special things you must know:
`alpha-*-osf1'
Systems using processors that implement the DEC Alpha
architecture and are running the OSF/1 operating system. (VMS
on the Alpha is not currently supported by GNU CC.) As of