cccp.c, [...]: Removed.
* cccp.c, cexp.y, cexp.c, cccp.1: Removed. * configure.in: Delete --disable-cpplib option and all references to cpp_main. * configure: Regenerate. * Makefile.in: Remove all references to CCCP, CCCP_OBJS, @cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o, cccp.o, cccp, or cppmain. Link cppmain.o straight to cpp$(exeext). Add --no-headers to makeinfo command line when generating INSTALL. Install and uninstall cpp.1 manpage, not cccp.1. * install.texi: Delete all references to cexp.y/cexp.c. Delete ancient instructions for compiling GCC on 3b1. * INSTALL: Regenerate. * cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c, ch/decl.c, ch/lex.c, cp/lex.c, f/lex.c, mips/t-ecoff, mips/t-elf, mips/t-r3900: Remove references to cccp.c. * convex.h, fx80.h, m68k.h, pdp11.h, contrib/gcc_update, f/g77install.texi: Remove references to cexp.c/cexp.y. * xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING, which is no longer tested anywhere. * po/POTFILES.in: Remove cccp.c and cexp.c. Comment out alpha/vms-tramp.asm. From-SVN: r33238
This commit is contained in:
parent
d88b89e506
commit
86702e3134
@ -1,3 +1,7 @@
|
||||
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* gcc_update: Remove references to cexp.c/cexp.y.
|
||||
|
||||
1999-12-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* newcvsroot: Add check on the number of command-line arguments.
|
||||
|
@ -67,7 +67,6 @@ gcc/c-parse.y: gcc/c-parse.in
|
||||
gcc/c-parse.c: gcc/c-parse.y
|
||||
gcc/c-parse.h: gcc/c-parse.c
|
||||
gcc/c-gperf.h: gcc/c-parse.gperf
|
||||
gcc/cexp.c: gcc/cexp.y
|
||||
gcc/fixinc/fixincl.x: gcc/fixinc/fixincl.tpl gcc/fixinc/inclhack.def
|
||||
gcc/fixinc/inclhack.sh: gcc/fixinc/inclhack.def gcc/fixinc/inclhack.tpl gcc/fixinc/hackshell.tpl
|
||||
gcc/fixinc/fixincl.sh: gcc/fixinc/inclhack.def gcc/fixinc/inclhack.tpl
|
||||
|
@ -1,5 +1,27 @@
|
||||
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* cccp.c, cexp.y, cexp.c, cccp.1: Removed.
|
||||
|
||||
* configure.in: Delete --disable-cpplib option and all
|
||||
references to cpp_main.
|
||||
* configure: Regenerate.
|
||||
* Makefile.in: Remove all references to CCCP, CCCP_OBJS,
|
||||
@cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o,
|
||||
cccp.o, cccp, or cppmain. Link cppmain.o straight to
|
||||
cpp$(exeext). Add --no-headers to makeinfo command line when
|
||||
generating INSTALL. Install and uninstall cpp.1 manpage, not
|
||||
cccp.1.
|
||||
* install.texi: Delete all references to cexp.y/cexp.c.
|
||||
Delete ancient instructions for compiling GCC on 3b1.
|
||||
* INSTALL: Regenerate.
|
||||
|
||||
* cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c, mips/t-ecoff,
|
||||
mips/t-elf, mips/t-r3900: Remove references to cccp.c.
|
||||
* convex.h, fx80.h, m68k.h, pdp11.h: Remove references to
|
||||
cexp.c/cexp.y.
|
||||
* xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING,
|
||||
which is no longer tested anywhere.
|
||||
|
||||
* cppinit.c (handle_option): Don't run error message through
|
||||
gettext twice.
|
||||
|
||||
|
449
gcc/INSTALL
449
gcc/INSTALL
@ -1,32 +1,16 @@
|
||||
This is Info file INSTALL, produced by Makeinfo version 1.68 from the
|
||||
input file install1.texi.
|
||||
|
||||
This file documents the installation of the GNU compiler. Copyright
|
||||
This file documents the installation of the GNU compiler. Copyright
|
||||
(C) 1988, 1989, 1992, 1994, 1995 Free Software Foundation, Inc. You
|
||||
may copy, distribute, and modify it freely as long as you preserve this
|
||||
copyright notice and permission notice.
|
||||
|
||||
|
||||
File: INSTALL, Node: Installation, Up: (dir)
|
||||
|
||||
Installing GNU CC
|
||||
*****************
|
||||
|
||||
Note most of this information is out of date and superceded by the
|
||||
Note most of this information is out of date and superseded by the
|
||||
EGCS install procedures. It is provided for historical reference only.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Configurations:: Configurations Supported by GNU CC.
|
||||
* Other Dir:: Compiling in a separate directory (not where the source is).
|
||||
* Cross-Compiler:: Building and installing a cross-compiler.
|
||||
* Sun Install:: See below for installation on the Sun.
|
||||
* VMS Install:: See below for installation on VMS.
|
||||
* Collect2:: How `collect2' works; how it finds `ld'.
|
||||
* Header Dirs:: Understanding the standard header file directories.
|
||||
|
||||
Here is the procedure for installing GNU CC on a Unix system. See
|
||||
*Note VMS Install::, for VMS systems. In this section we assume you
|
||||
Here is the procedure for installing GNU CC on a GNU or Unix system.
|
||||
See *Note VMS Install::, for VMS systems. In this section we assume you
|
||||
compile in the same directory that contains the source files; see *Note
|
||||
Other Dir::, to find out how to compile in a separate directory on Unix
|
||||
systems.
|
||||
@ -47,8 +31,26 @@ and includes all the necessary compilation tools and libraries.
|
||||
`/usr/ucb' in `PATH'. The `cc' command in `/usr/ucb' uses
|
||||
libraries which have bugs.
|
||||
|
||||
3. Specify the host, build and target machine configurations. You do
|
||||
this by running the file `configure'.
|
||||
3. Make sure the Bison parser generator is installed. (This is
|
||||
unnecessary if the Bison output file `c-parse.c' is more recent
|
||||
than `c-parse.y',and you do not plan to change the `.y' file.)
|
||||
|
||||
Bison versions older than Sept 8, 1988 will produce incorrect
|
||||
output for `c-parse.c'.
|
||||
|
||||
4. If you have chosen a configuration for GNU CC 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 `as', `ld' or whatever is appropriate. This will
|
||||
enable the compiler to find the proper tools for compilation of
|
||||
the program `enquire'.
|
||||
|
||||
Alternatively, you can do subsequent compilation using a value of
|
||||
the `PATH' environment variable such that the necessary GNU tools
|
||||
come before the standard system tools.
|
||||
|
||||
5. Specify the host, build and target machine configurations. You do
|
||||
this when you run the `configure' script.
|
||||
|
||||
The "build" machine is the system which you are using, the "host"
|
||||
machine is the system where you want to run the resulting compiler
|
||||
@ -97,9 +99,10 @@ and includes all the necessary compilation tools and libraries.
|
||||
the notes in that section before proceeding any further with the
|
||||
installation of GNU CC.
|
||||
|
||||
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'.
|
||||
6. When running `configure', you may also need to specify certain
|
||||
additional options that describe variant hardware and software
|
||||
configurations. These are `--with-gnu-as', `--with-gnu-ld',
|
||||
`--with-stabs' and `--nfp'.
|
||||
|
||||
`--with-gnu-as'
|
||||
If you will use GNU CC with the GNU assembler (GAS), you
|
||||
@ -205,104 +208,130 @@ and includes all the necessary compilation tools and libraries.
|
||||
the compiler and may only work properly if you are building
|
||||
the compiler with GNU C.
|
||||
|
||||
The `configure' script searches subdirectories of the source
|
||||
directory for other compilers that are to be integrated into GNU
|
||||
CC. The GNU compiler for C++, called G++ is in a subdirectory
|
||||
named `cp'. `configure' inserts rules into `Makefile' to build
|
||||
all of those compilers.
|
||||
The `configure' script searches subdirectories of the source
|
||||
directory for other compilers that are to be integrated into
|
||||
GNU CC. The GNU compiler for C++, called G++ is in a
|
||||
subdirectory named `cp'. `configure' inserts rules into
|
||||
`Makefile' to build all of those compilers.
|
||||
|
||||
Here we spell out what files will be set up by `configure'.
|
||||
Normally you need not be concerned with these files.
|
||||
Here we spell out what files will be set up by `configure'.
|
||||
Normally you need not be concerned with these files.
|
||||
|
||||
* A file named `config.h' is created that contains a `#include'
|
||||
of the top-level config file for the machine you will run the
|
||||
compiler on (*note The Configuration File:
|
||||
(gcc.info)Config.). This file is responsible for defining
|
||||
information about the host machine. It includes `tm.h'.
|
||||
* A file named `config.h' is created that contains a
|
||||
`#include' of the top-level config file for the machine
|
||||
you will run the compiler on (*note The Configuration
|
||||
File: (gcc.info)Config.). This file is responsible for
|
||||
defining information about the host machine. It
|
||||
includes `tm.h'.
|
||||
|
||||
The top-level config file is located in the subdirectory
|
||||
`config'. Its name is always `xm-SOMETHING.h'; usually
|
||||
`xm-MACHINE.h', but there are some exceptions.
|
||||
The top-level config file is located in the subdirectory
|
||||
`config'. Its name is always `xm-SOMETHING.h'; usually
|
||||
`xm-MACHINE.h', but there are some exceptions.
|
||||
|
||||
If your system does not support symbolic links, you might
|
||||
want to set up `config.h' to contain a `#include' command
|
||||
which refers to the appropriate file.
|
||||
If your system does not support symbolic links, you
|
||||
might want to set up `config.h' to contain a `#include'
|
||||
command which refers to the appropriate file.
|
||||
|
||||
* A file named `tconfig.h' is created which includes the
|
||||
top-level config file for your target machine. This is used
|
||||
for compiling certain programs to run on that machine.
|
||||
* A file named `tconfig.h' is created which includes the
|
||||
top-level config file for your target machine. This is
|
||||
used for compiling certain programs to run on that
|
||||
machine.
|
||||
|
||||
* A file named `tm.h' is created which includes the
|
||||
machine-description macro file for your target machine. It
|
||||
should be in the subdirectory `config' and its name is often
|
||||
`MACHINE.h'.
|
||||
* A file named `tm.h' is created which includes the
|
||||
machine-description macro file for your target machine.
|
||||
It should be in the subdirectory `config' and its name
|
||||
is often `MACHINE.h'.
|
||||
|
||||
* The command file `configure' also constructs the file
|
||||
`Makefile' by adding some text to the template file
|
||||
`Makefile.in'. The additional text comes from files in the
|
||||
`config' directory, named `t-TARGET' and `x-HOST'. If these
|
||||
files do not exist, it means nothing needs to be added for a
|
||||
given target or host.
|
||||
`--enable-nls'
|
||||
`--disable-nls'
|
||||
The `--enable-nls' option enables Native Language Support
|
||||
(NLS), which lets GCC output diagnostics in languages other
|
||||
than American English. No translations are available yet, so
|
||||
the main users of this option now are those translating GCC's
|
||||
diagnostics who want to test their work. Once translations
|
||||
become available, Native Language Support will become enabled
|
||||
by default. The `--disable-nls' option disables NLS.
|
||||
|
||||
4. The standard directory for installing GNU CC is `/usr/local/lib'.
|
||||
If you want to install its files somewhere else, specify
|
||||
`--prefix=DIR' when you run `configure'. Here DIR is a directory
|
||||
name to use instead of `/usr/local' for all purposes with one
|
||||
exception: the directory `/usr/local/include' is searched for
|
||||
header files no matter where you install the compiler. To override
|
||||
this name, use the `--with-local-prefix' option below. The
|
||||
directory you specify need not exist, but its parent directory
|
||||
must exist.
|
||||
`--with-included-gettext'
|
||||
If NLS is enabled, the GCC build procedure normally attempts
|
||||
to use the host's `gettext' libraries, and falls back on
|
||||
GCC's copy of the GNU `gettext' library only if the host
|
||||
libraries do not suffice. The `--with-included-gettext'
|
||||
option causes the build procedure to prefer its copy of GNU
|
||||
`gettext'.
|
||||
|
||||
5. Specify `--with-local-prefix=DIR' if you want the compiler to
|
||||
search directory `DIR/include' for locally installed header files
|
||||
*instead* of `/usr/local/include'.
|
||||
`--with-catgets'
|
||||
If NLS is enabled, and if the host lacks `gettext' but has the
|
||||
inferior `catgets' interface, the GCC build procedure normally
|
||||
ignores `catgets' and instead uses GCC's copy of the GNU
|
||||
`gettext' library. The `--with-catgets' option causes the
|
||||
build procedure to use the host's `catgets' in this situation.
|
||||
|
||||
You should specify `--with-local-prefix' *only* if your site has a
|
||||
different convention (not `/usr/local') for where to put
|
||||
site-specific files.
|
||||
`--enable-win32-registry'
|
||||
`--enable-win32-registry=KEY'
|
||||
`--disable-win32-registry'
|
||||
The `--enable-win32-registry' option enables Windows-hosted
|
||||
GCC to look up installations paths in the registry using the
|
||||
following key:
|
||||
|
||||
The default value for `--with-local-prefix' is `/usr/local'
|
||||
regardless of the value of `--prefix'. Specifying `--prefix' has
|
||||
no effect on which directory GNU CC searches for local header
|
||||
files. This may seem counterintuitive, but actually it is logical.
|
||||
`HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\<KEY>'
|
||||
|
||||
The purpose of `--prefix' is to specify where to *install GNU CC*.
|
||||
The local header files in `/usr/local/include'--if you put any in
|
||||
that directory--are not part of GNU CC. They are part of other
|
||||
programs--perhaps many others. (GNU CC installs its own header
|
||||
files in another directory which is based on the `--prefix' value.)
|
||||
<KEY> defaults to GCC version number, and can be overridden
|
||||
by the `--enable-win32-registry=KEY' option. Vendors and
|
||||
distributors who use custom installers are encouraged to
|
||||
provide a different key, perhaps one comprised of vendor name
|
||||
and GCC version number, to avoid conflict with existing
|
||||
installations. This feature is enabled by default, and can be
|
||||
disabled by `--disable-win32-registry' option. This option
|
||||
has no effect on the other hosts.
|
||||
|
||||
*Do not* specify `/usr' as the `--with-local-prefix'! The
|
||||
directory you use for `--with-local-prefix' *must not* contain any
|
||||
of the system's standard header files. If it did contain them,
|
||||
certain programs would be miscompiled (including GNU Emacs, on
|
||||
certain targets), because this would override and nullify the
|
||||
header file corrections made by the `fixincludes' script.
|
||||
7. In certain cases, you should specify certain other options when
|
||||
you run `configure'.
|
||||
|
||||
Indications are that people who use this option use it based on
|
||||
mistaken ideas of what it is for. People use it as if it specified
|
||||
where to install part of GNU CC. Perhaps they make this assumption
|
||||
because installing GNU CC creates the directory.
|
||||
* The standard directory for installing GNU CC is
|
||||
`/usr/local/lib'. If you want to install its files somewhere
|
||||
else, specify `--prefix=DIR' when you run `configure'. Here
|
||||
DIR is a directory name to use instead of `/usr/local' for
|
||||
all purposes with one exception: the directory
|
||||
`/usr/local/include' is searched for header files no matter
|
||||
where you install the compiler. To override this name, use
|
||||
the `--with-local-prefix' option below. The directory you
|
||||
specify need not exist, but its parent directory must exist.
|
||||
|
||||
6. Make sure the Bison parser generator is installed. (This is
|
||||
unnecessary if the Bison output files `c-parse.c' and `cexp.c' are
|
||||
more recent than `c-parse.y' and `cexp.y' and you do not plan to
|
||||
change the `.y' files.)
|
||||
* Specify `--with-local-prefix=DIR' if you want the compiler to
|
||||
search directory `DIR/include' for locally installed header
|
||||
files *instead* of `/usr/local/include'.
|
||||
|
||||
Bison versions older than Sept 8, 1988 will produce incorrect
|
||||
output for `c-parse.c'.
|
||||
You should specify `--with-local-prefix' *only* if your site
|
||||
has a different convention (not `/usr/local') for where to put
|
||||
site-specific files.
|
||||
|
||||
7. If you have chosen a configuration for GNU CC 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 `as', `ld' or whatever is appropriate. This will
|
||||
enable the compiler to find the proper tools for compilation of
|
||||
the program `enquire'.
|
||||
The default value for `--with-local-prefix' is `/usr/local'
|
||||
regardless of the value of `--prefix'. Specifying `--prefix'
|
||||
has no effect on which directory GNU CC searches for local
|
||||
header files. This may seem counterintuitive, but actually
|
||||
it is logical.
|
||||
|
||||
Alternatively, you can do subsequent compilation using a value of
|
||||
the `PATH' environment variable such that the necessary GNU tools
|
||||
come before the standard system tools.
|
||||
The purpose of `--prefix' is to specify where to *install GNU
|
||||
CC*. The local header files in `/usr/local/include'--if you
|
||||
put any in that directory--are not part of GNU CC. They are
|
||||
part of other programs--perhaps many others. (GNU CC
|
||||
installs its own header files in another directory which is
|
||||
based on the `--prefix' value.)
|
||||
|
||||
*Do not* specify `/usr' as the `--with-local-prefix'! The
|
||||
directory you use for `--with-local-prefix' *must not* contain
|
||||
any of the system's standard header files. If it did contain
|
||||
them, certain programs would be miscompiled (including GNU
|
||||
Emacs, on certain targets), because this would override and
|
||||
nullify the header file corrections made by the `fixincludes'
|
||||
script.
|
||||
|
||||
Indications are that people who use this option use it based
|
||||
on mistaken ideas of what it is for. People use it as if it
|
||||
specified where to install part of GNU CC. Perhaps they make
|
||||
this assumption because installing GNU CC creates the
|
||||
directory.
|
||||
|
||||
8. Build the compiler. Just type `make LANGUAGES=c' in the compiler
|
||||
directory.
|
||||
@ -325,17 +354,16 @@ and includes all the necessary compilation tools and libraries.
|
||||
escape sequence" are normal in `genopinit.c' and perhaps some
|
||||
other files. Likewise, you should ignore warnings about "constant
|
||||
is so large that it is unsigned" in `insn-emit.c' and
|
||||
`insn-recog.c', a warning about a comparison always being zero in
|
||||
`enquire.o', and warnings about shift counts exceeding type widths
|
||||
in `cexp.y'. Any other compilation errors may represent bugs in
|
||||
`insn-recog.c', and a warning about a comparison always being zero
|
||||
in `enquire.o'. Any other compilation errors may represent bugs in
|
||||
the port to your machine or operating system, and should be
|
||||
investigated and reported.
|
||||
|
||||
Some commercial compilers fail to compile GNU CC because they have
|
||||
bugs or limitations. For example, the Microsoft compiler is said
|
||||
to run out of macro space. Some Ultrix compilers run out of
|
||||
expression space; then you need to break up the statement where
|
||||
the problem happens.
|
||||
Some compilers fail to compile GNU CC because they have bugs or
|
||||
limitations. For example, the Microsoft compiler is said to run
|
||||
out of macro space. Some Ultrix compilers run out of expression
|
||||
space; then you need to break up the statement where the problem
|
||||
happens.
|
||||
|
||||
9. If you are building a cross-compiler, stop here. *Note
|
||||
Cross-Compiler::.
|
||||
@ -411,8 +439,8 @@ and includes all the necessary compilation tools and libraries.
|
||||
instead of making `stage1', `stage2', and performing the two
|
||||
compiler builds.
|
||||
|
||||
14. Then compare the latest object files with the stage 2 object
|
||||
files--they ought to be identical, aside from time stamps (if any).
|
||||
14. Compare the latest object files with the stage 2 object files--they
|
||||
ought to be identical, aside from time stamps (if any).
|
||||
|
||||
On some systems, meaningful comparison of object files is
|
||||
impossible; they always appear "different." This is currently
|
||||
@ -485,11 +513,9 @@ and includes all the necessary compilation tools and libraries.
|
||||
or 3, since they usually run faster than the ones compiled with
|
||||
some other compiler.)
|
||||
|
||||
16. If you're going to use C++, it's likely that you need to also
|
||||
install a C++ runtime library. Just as GNU C does not distribute
|
||||
a C runtime library, it also does not include a C++ runtime
|
||||
library. All I/O functionality, special class libraries, etc., are
|
||||
provided by the C++ runtime library.
|
||||
16. If you're going to use C++, you need to install the C++ runtime
|
||||
library. This includes all I/O functionality, special class
|
||||
libraries, etc.
|
||||
|
||||
The standard C++ runtime library for GNU CC is called `libstdc++'.
|
||||
An obsolescent library `libg++' may also be available, but it's
|
||||
@ -566,19 +592,50 @@ and includes all the necessary compilation tools and libraries.
|
||||
|
||||
* thr-win32 Microsoft Win32 API thread support.
|
||||
|
||||
|
||||
File: INSTALL, Node: Configurations, Next: Other Dir, Up: Installation
|
||||
Files Created by `configure'
|
||||
============================
|
||||
|
||||
Here we spell out what files will be set up by `configure'. Normally
|
||||
you need not be concerned with these files.
|
||||
|
||||
* A file named `config.h' is created that contains a `#include' of
|
||||
the top-level config file for the machine you will run the compiler
|
||||
on (*note The Configuration File: (gcc.info)Config.). This file
|
||||
is responsible for defining information about the host machine.
|
||||
It includes `tm.h'.
|
||||
|
||||
The top-level config file is located in the subdirectory `config'.
|
||||
Its name is always `xm-SOMETHING.h'; usually `xm-MACHINE.h', but
|
||||
there are some exceptions.
|
||||
|
||||
If your system does not support symbolic links, you might want to
|
||||
set up `config.h' to contain a `#include' command which refers to
|
||||
the appropriate file.
|
||||
|
||||
* A file named `tconfig.h' is created which includes the top-level
|
||||
config file for your target machine. This is used for compiling
|
||||
certain programs to run on that machine.
|
||||
|
||||
* A file named `tm.h' is created which includes the
|
||||
machine-description macro file for your target machine. It should
|
||||
be in the subdirectory `config' and its name is often `MACHINE.h'.
|
||||
|
||||
* The command file `configure' also constructs the file `Makefile'
|
||||
by adding some text to the template file `Makefile.in'. The
|
||||
additional text comes from files in the `config' directory, named
|
||||
`t-TARGET' and `x-HOST'. If these files do not exist, it means
|
||||
nothing needs to be added for a given target or host.
|
||||
|
||||
Configurations Supported by GNU CC
|
||||
==================================
|
||||
|
||||
Here are the possible CPU types:
|
||||
|
||||
1750a, a29k, alpha, arm, cN, clipper, dsp16xx, elxsi, h8300,
|
||||
hppa1.0, hppa1.1, i370, i386, i486, i586, i860, i960, m32r,
|
||||
m68000, m68k, m88k, mips, mipsel, mips64, mips64el, ns32k,
|
||||
powerpc, powerpcle, pyramid, romp, rs6000, sh, sparc, sparclite,
|
||||
sparc64, vax, we32k.
|
||||
1750a, a29k, alpha, arm, avr, cN, clipper, dsp16xx, elxsi, fr30,
|
||||
h8300, hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860,
|
||||
i960, m32r, m68000, m68k, m88k, mcore, mips, mipsel, mips64,
|
||||
mips64el, mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle,
|
||||
romp, rs6000, sh, sparc, sparclite, sparc64, v850, vax, we32k.
|
||||
|
||||
Here are the recognized company names. As you can see, customary
|
||||
abbreviations are used rather than the longer official names.
|
||||
@ -744,12 +801,24 @@ special things you must know:
|
||||
You may need to make a variant of the file `arm.h' for your
|
||||
particular configuration.
|
||||
|
||||
`arm-*-linuxaout'
|
||||
Any of the ARM family processors running the Linux-based GNU
|
||||
system with the `a.out' binary format (ELF is not yet supported).
|
||||
You must use version 2.8.1.0.7 or later of the GNU/Linux binutils,
|
||||
which you can download from `sunsite.unc.edu:/pub/Linux/GCC' and
|
||||
other mirror sites for Linux-based GNU systems.
|
||||
`arm-*-elf'
|
||||
This configuration is intended for embedded systems.
|
||||
|
||||
`arm-*-linux-gnuaout'
|
||||
Any of the ARM-family processors running the Linux-based GNU
|
||||
system with the `a.out' binary format. This is an obsolete
|
||||
configuration.
|
||||
|
||||
`arm-*-linux-gnu'
|
||||
`arm-*-linux-gnuoldld'
|
||||
Any of the ARM-family processors running the Linux-based GNU
|
||||
system with the `ELF' binary format. You must use version
|
||||
2.9.1.0.22 or later of the GNU/Linux binutils, which you can
|
||||
download from `ftp.varesearch.com:/pub/support/hjl/binutils'.
|
||||
|
||||
These two configurations differ only in the required version of GNU
|
||||
binutils. For binutils 2.9.1.0.x, use `arm-*-linux-gnuoldld'. For
|
||||
newer versions of binutils, use `arm-*-linux-gnu'.
|
||||
|
||||
`arm-*-riscix'
|
||||
The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD
|
||||
@ -775,6 +844,12 @@ special things you must know:
|
||||
`a29k-*-bsd'
|
||||
AMD Am29050 used in a system running a variant of BSD Unix.
|
||||
|
||||
`avr'
|
||||
ATMEL AVR-family micro controllers. These are used in embedded
|
||||
applications. There are no standard Unix configurations.
|
||||
Supports following MCU's: - AT90S23xx - ATtiny22 - AT90S44xx -
|
||||
AT90S85xx - ATmega603/603L - ATmega103/103L
|
||||
|
||||
`decstation-*'
|
||||
MIPS-based DECstations can support three different personalities:
|
||||
Ultrix, DEC OSF/1, and OSF/rose. (Alpha-based DECstation products
|
||||
@ -1019,37 +1094,11 @@ special things you must know:
|
||||
the original.
|
||||
|
||||
`m68k-att-sysv'
|
||||
AT&T 3b1, a.k.a. 7300 PC. Special procedures are needed to
|
||||
compile GNU CC with this machine's standard C compiler, due to
|
||||
bugs in that compiler. You can bootstrap it more easily with
|
||||
previous versions of GNU CC if you have them.
|
||||
|
||||
Installing GNU CC on the 3b1 is difficult if you do not already
|
||||
have GNU CC running, due to bugs in the installed C compiler.
|
||||
However, the following procedure might work. We are unable to
|
||||
test it.
|
||||
|
||||
1. Comment out the `#include "config.h"' line near the start of
|
||||
`cccp.c' and do `make cpp'. This makes a preliminary version
|
||||
of GNU cpp.
|
||||
|
||||
2. Save the old `/lib/cpp' and copy the preliminary GNU cpp to
|
||||
that file name.
|
||||
|
||||
3. Undo your change in `cccp.c', or reinstall the original
|
||||
version, and do `make cpp' again.
|
||||
|
||||
4. Copy this final version of GNU cpp into `/lib/cpp'.
|
||||
|
||||
5. Replace every occurrence of `obstack_free' in the file
|
||||
`tree.c' with `_obstack_free'.
|
||||
|
||||
6. Run `make' to get the first-stage GNU CC.
|
||||
|
||||
7. Reinstall the original version of `/lib/cpp'.
|
||||
|
||||
8. Now you can compile GNU CC with itself and install it in the
|
||||
normal fashion.
|
||||
AT&T 3b1, a.k.a. 7300 PC. This version of GNU CC cannot be
|
||||
compiled with the system C compiler, which is too buggy. You will
|
||||
need to get a previous version of GCC and use it to bootstrap.
|
||||
Binaries are available from the OSU-CIS archive, at
|
||||
`ftp://archive.cis.ohio-state.edu/pub/att7300/'.
|
||||
|
||||
`m68k-bull-sysv'
|
||||
Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. GNU
|
||||
@ -1446,9 +1495,6 @@ special things you must know:
|
||||
You may need to raise the ULIMIT setting to build a C++ compiler,
|
||||
as the file `cc1plus' is larger than one megabyte.
|
||||
|
||||
|
||||
File: INSTALL, Node: Other Dir, Next: Cross-Compiler, Prev: Configurations, Up: Installation
|
||||
|
||||
Compilation in a Separate Directory
|
||||
===================================
|
||||
|
||||
@ -1493,9 +1539,6 @@ configuration steps shown above, when ordinary source files change. You
|
||||
must, however, run `configure' again when the configuration files
|
||||
change, if your system does not support symbolic links.
|
||||
|
||||
|
||||
File: INSTALL, Node: Cross-Compiler, Next: Sun Install, Prev: Other Dir, Up: Installation
|
||||
|
||||
Building and Installing a Cross-Compiler
|
||||
========================================
|
||||
|
||||
@ -1522,20 +1565,6 @@ If you want to link on other than the target machine, you need a
|
||||
cross-linker as well. You also need header files and libraries suitable
|
||||
for the target machine that you can install on the host machine.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Steps of Cross:: Using a cross-compiler involves several steps
|
||||
that may be carried out on different machines.
|
||||
* Configure Cross:: Configuring a cross-compiler.
|
||||
* Tools and Libraries:: Where to put the linker and assembler, and the C library.
|
||||
* Cross Headers:: Finding and installing header files
|
||||
for a cross-compiler.
|
||||
* Cross Runtime:: Supplying arithmetic runtime routines (`libgcc1.a').
|
||||
* Build Cross:: Actually compiling the cross-compiler.
|
||||
|
||||
|
||||
File: INSTALL, Node: Steps of Cross, Next: Configure Cross, Up: Cross-Compiler
|
||||
|
||||
Steps of Cross-Compilation
|
||||
--------------------------
|
||||
|
||||
@ -1561,9 +1590,6 @@ machine, since then you can do it all with a single invocation of GNU
|
||||
CC. This requires a suitable cross-assembler and cross-linker. For
|
||||
some targets, the GNU assembler and linker are available.
|
||||
|
||||
|
||||
File: INSTALL, Node: Configure Cross, Next: Tools and Libraries, Prev: Steps of Cross, Up: Cross-Compiler
|
||||
|
||||
Configuring a Cross-Compiler
|
||||
----------------------------
|
||||
|
||||
@ -1576,9 +1602,6 @@ system running BSD on a system that `configure' can correctly identify:
|
||||
|
||||
./configure --target=m68k-hp-bsd4.3
|
||||
|
||||
|
||||
File: INSTALL, Node: Tools and Libraries, Next: Cross Headers, Prev: Configure Cross, Up: Cross-Compiler
|
||||
|
||||
Tools and Libraries for a Cross-Compiler
|
||||
----------------------------------------
|
||||
|
||||
@ -1647,9 +1670,6 @@ machine:
|
||||
mget *crt*.o
|
||||
quit
|
||||
|
||||
|
||||
File: INSTALL, Node: Cross Runtime, Next: Build Cross, Prev: Cross Headers, Up: Cross-Compiler
|
||||
|
||||
`libgcc.a' and Cross-Compilers
|
||||
------------------------------
|
||||
|
||||
@ -1735,9 +1755,6 @@ Otherwise, you should place your replacement library under the name
|
||||
`libgcc1.a' in the directory in which you will build the
|
||||
cross-compiler, before you run `make'.
|
||||
|
||||
|
||||
File: INSTALL, Node: Cross Headers, Next: Cross Runtime, Prev: Tools and Libraries, Up: Cross-Compiler
|
||||
|
||||
Cross-Compilers and Header Files
|
||||
--------------------------------
|
||||
|
||||
@ -1786,9 +1803,6 @@ machine. On the target machine, do this:
|
||||
quit
|
||||
tar xf tarfile
|
||||
|
||||
|
||||
File: INSTALL, Node: Build Cross, Prev: Cross Runtime, Up: Cross-Compiler
|
||||
|
||||
Actually Building the Cross-Compiler
|
||||
------------------------------------
|
||||
|
||||
@ -1822,9 +1836,6 @@ must specify a 68030 as the host when you configure it.
|
||||
|
||||
To install the cross-compiler, use `make install', as usual.
|
||||
|
||||
|
||||
File: INSTALL, Node: Sun Install, Next: VMS Install, Prev: Cross-Compiler, Up: Installation
|
||||
|
||||
Installing GNU CC on the Sun
|
||||
============================
|
||||
|
||||
@ -1860,9 +1871,6 @@ error which does not recur if you run it again. To fix the problem,
|
||||
install Sun recommended patch 100726 (for SunOS 4.1.3) or 101508 (for
|
||||
SunOS 4.1.3_U1), or upgrade to a later SunOS release.
|
||||
|
||||
|
||||
File: INSTALL, Node: VMS Install, Next: Collect2, Prev: Sun Install, Up: Installation
|
||||
|
||||
Installing GNU CC on VMS
|
||||
========================
|
||||
|
||||
@ -2068,9 +2076,6 @@ edit the file `tm.h' (created by `vmsconfig.com') to define the macro
|
||||
`QSORT_WORKAROUND' is always defined when GNU CC is compiled with
|
||||
VAX C, to avoid a problem in case `gcclib.olb' is not yet available.
|
||||
|
||||
|
||||
File: INSTALL, Node: Collect2, Next: Header Dirs, Prev: VMS Install, Up: Installation
|
||||
|
||||
`collect2'
|
||||
==========
|
||||
|
||||
@ -2136,9 +2141,6 @@ search path.
|
||||
`collect2' searches for the utilities `nm' and `strip' using the
|
||||
same algorithm as above for `ld'.
|
||||
|
||||
|
||||
File: INSTALL, Node: Header Dirs, Prev: Collect2, Up: Installation
|
||||
|
||||
Standard Header File Directories
|
||||
================================
|
||||
|
||||
@ -2150,9 +2152,9 @@ cross compilation header files need to be fixed, they must be installed
|
||||
before GNU CC is built. If the cross compilation header files are
|
||||
already suitable for ANSI C and GNU CC, nothing special need be done).
|
||||
|
||||
`GPLUS_INCLUDE_DIR' means the same thing for native and cross. It
|
||||
is where `g++' looks first for header files. The C++ library installs
|
||||
only target independent header files in that directory.
|
||||
`GPLUSPLUS_INCLUDE_DIR' means the same thing for native and cross.
|
||||
It is where `g++' looks first for header files. The C++ library
|
||||
installs only target independent header files in that directory.
|
||||
|
||||
`LOCAL_INCLUDE_DIR' is used only for a native compiler. It is
|
||||
normally `/usr/local/include'. GNU CC searches this directory so that
|
||||
@ -2167,22 +2169,3 @@ use. For a cross-compiler, this is the equivalent of `/usr/include'.
|
||||
When you build a cross-compiler, `fixincludes' processes any header
|
||||
files in this directory.
|
||||
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Installation351
|
||||
Node: Configurations26618
|
||||
Node: Other Dir65739
|
||||
Node: Cross-Compiler67454
|
||||
Node: Steps of Cross69284
|
||||
Node: Configure Cross70401
|
||||
Node: Tools and Libraries71037
|
||||
Node: Cross Runtime73475
|
||||
Node: Cross Headers77555
|
||||
Node: Build Cross79553
|
||||
Node: Sun Install81428
|
||||
Node: VMS Install83099
|
||||
Node: Collect293028
|
||||
Node: Header Dirs95592
|
||||
|
||||
End Tag Table
|
||||
|
@ -692,8 +692,6 @@ OBJS = diagnostic.o \
|
||||
GEN= genemit genoutput genrecog genextract genflags gencodes genconfig \
|
||||
genpeep gengenrtl gencheck
|
||||
|
||||
CCCP=@cpp_main@
|
||||
|
||||
# Files to be copied away after each stage in building.
|
||||
STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
|
||||
insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
|
||||
@ -707,9 +705,8 @@ STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
|
||||
genattr$(build_exeext) genopinit$(build_exeext) gengenrtl$(build_exeext) \
|
||||
gencheck$(build_exeext) \
|
||||
xgcc$(exeext) xcpp$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES) \
|
||||
$(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
|
||||
$(CCCP)$(exeext) cc1obj$(exeext) enquire$(exeext) \
|
||||
protoize$(exeext) unprotoize$(exeext) \
|
||||
$(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) cc1obj$(exeext) \
|
||||
enquire$(exeext) protoize$(exeext) unprotoize$(exeext) \
|
||||
specs collect2$(exeext) $(USE_COLLECT2) underscore.c \
|
||||
gcov$(exeext) *.[0-9][0-9].* *.[si] libcpp.a \
|
||||
$(LANG_STAGESTUFF)
|
||||
@ -2013,7 +2010,7 @@ $(top_builddir)/intl/libintl.a:
|
||||
|
||||
# Make sure all the headers are there for xgettext to scan.
|
||||
$(INTL_TARGETS): $(srcdir)/c-gperf.h \
|
||||
$(srcdir)/c-parse.c $(srcdir)/c-parse.h $(srcdir)/cexp.c
|
||||
$(srcdir)/c-parse.c $(srcdir)/c-parse.h
|
||||
|
||||
intl.all intl.install intl.uninstall intl.distdir \
|
||||
intl.mostlyclean intl.clean intl.distclean intl.maintainer-clean:
|
||||
@ -2032,37 +2029,18 @@ intl.distdir-fixup:
|
||||
#
|
||||
# Remake cpp and protoize.
|
||||
|
||||
# Making the preprocessor
|
||||
cpp$(exeext): $(CCCP)$(exeext)
|
||||
-rm -f cpp$(exeext)
|
||||
$(LN) $(CCCP)$(exeext) cpp$(exeext)
|
||||
CCCP_OBJS = cccp.o cexp.o intl.o prefix.o version.o @extra_cpp_objs@ mbchar.o
|
||||
cccp$(exeext): $(CCCP_OBJS) $(LIBDEPS)
|
||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(CCCP_OBJS) $(LIBS)
|
||||
cexp.o: $(srcdir)/cexp.c $(CONFIG_H) system.h mbchar.h
|
||||
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/cexp.c
|
||||
$(srcdir)/cexp.c: $(srcdir)/cexp.y
|
||||
cd $(srcdir); $(BISON) -o cexp.c cexp.y
|
||||
|
||||
PREPROCESSOR_DEFINES = \
|
||||
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
||||
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
|
||||
-DLOCAL_INCLUDE_DIR=\"$(includedir)\" \
|
||||
-DCROSS_INCLUDE_DIR=\"$(gcc_tooldir)/sys-include\" \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\"
|
||||
# We use $(libsubdir)/$(unlibsubdir) to match the
|
||||
# -iprefix argument which gcc will pass if GCC_EXEC_PREFIX is used.
|
||||
cccp.o: cccp.c $(CONFIG_H) intl.h pcp.h version.c config.status system.h \
|
||||
mbchar.h prefix.h Makefile.in version.h
|
||||
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||
$(PREPROCESSOR_DEFINES) \
|
||||
-c `echo $(srcdir)/cccp.c | sed 's,^\./,,'`
|
||||
|
||||
LIBCPP_OBJS = cpplib.o cpphash.o cpperror.o cppexp.o cppfiles.o \
|
||||
cppinit.o cppulp.o cpplex.o mkdeps.o \
|
||||
prefix.o version.o mbchar.o @extra_cpp_objs@
|
||||
|
||||
LIBCPP_DEPS = cpplib.h cpphash.h intl.h system.h
|
||||
LIBCPP_DEPS = cpplib.h cpphash.h intl.h system.h
|
||||
|
||||
# All the other archives built/used by this makefile are for targets. This
|
||||
# one is strictly for the host.
|
||||
@ -2072,8 +2050,8 @@ libcpp.a: $(LIBCPP_OBJS)
|
||||
$(AR) $(AR_FLAGS) libcpp.a $(LIBCPP_OBJS)
|
||||
if $(RANLIB_TEST) ; then $(RANLIB) libcpp.a ; else true ; fi
|
||||
|
||||
cppmain$(exeext): cppmain.o intl.o libcpp.a $(LIBDEPS)
|
||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cppmain$(exeext) cppmain.o \
|
||||
cpp$(exeext): cppmain.o intl.o libcpp.a $(LIBDEPS)
|
||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cpp$(exeext) cppmain.o \
|
||||
intl.o libcpp.a $(LIBS)
|
||||
|
||||
cppmain.o: cppmain.c $(CONFIG_H) cpplib.h intl.h system.h
|
||||
@ -2361,7 +2339,7 @@ cpp.dvi: $(srcdir)/cpp.texi
|
||||
|
||||
INSTALL: $(srcdir)/install1.texi $(srcdir)/install.texi
|
||||
cd $(srcdir); $(MAKEINFO) -D INSTALLONLY \
|
||||
--no-split -o INSTALL install1.texi
|
||||
--no-split --no-headers -o INSTALL install1.texi
|
||||
#
|
||||
# Deletion of files made during compilation.
|
||||
# There are four levels of this:
|
||||
@ -2476,8 +2454,7 @@ maintainer-clean:
|
||||
$(MAKE) INTL_DISTCLEAN= INTL_CLEAN= INTL_MOSTLYCLEAN= \
|
||||
intl.maintainer-clean lang.maintainer-clean distclean
|
||||
-rm -f c-parse.y c-gperf.h
|
||||
-rm -f c-parse.c c-parse.h c-parse.output
|
||||
-rm -f cexp.c cexp.output TAGS
|
||||
-rm -f c-parse.c c-parse.h c-parse.output TAGS
|
||||
-rm -f cpp.info* cpp.??s cpp.*aux
|
||||
-rm -f gcc.info* gcc.??s gcc.*aux
|
||||
#
|
||||
@ -2661,7 +2638,7 @@ install-info: doc installdirs lang.install-info
|
||||
-chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*
|
||||
|
||||
# Install the man pages.
|
||||
install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cccp.1 lang.install-man
|
||||
install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cpp.1 lang.install-man
|
||||
-if [ -f gcc-cross$(exeext) ] ; then \
|
||||
rm -f $(man1dir)/$(GCC_CROSS_NAME)$(manext); \
|
||||
$(INSTALL_DATA) $(srcdir)/gcc.1 $(man1dir)/$(GCC_CROSS_NAME)$(manext); \
|
||||
@ -2671,9 +2648,9 @@ install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cccp.1 lang.install-man
|
||||
$(INSTALL_DATA) $(srcdir)/gcc.1 $(man1dir)/$(GCC_INSTALL_NAME)$(manext); \
|
||||
chmod a-x $(man1dir)/$(GCC_INSTALL_NAME)$(manext); \
|
||||
fi
|
||||
-rm -f $(man1dir)/cccp$(manext)
|
||||
-$(INSTALL_DATA) $(srcdir)/cccp.1 $(man1dir)/cccp$(manext)
|
||||
-chmod a-x $(man1dir)/cccp$(manext)
|
||||
-rm -f $(man1dir)/cpp$(manext)
|
||||
-$(INSTALL_DATA) $(srcdir)/cpp.1 $(man1dir)/cpp$(manext)
|
||||
-chmod a-x $(man1dir)/cpp$(manext)
|
||||
|
||||
# Install the library.
|
||||
install-libgcc: libgcc.a installdirs
|
||||
@ -2782,7 +2759,7 @@ uninstall: intl.uninstall lang.uninstall $(UNINSTALL_CPP)
|
||||
-rm -rf $(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
|
||||
-rm -rf $(man1dir)/$(GCC_INSTALL_NAME)$(manext)
|
||||
-rm -rf $(man1dir)/$(GCC_CROSS_NAME)$(manext)
|
||||
-rm -rf $(man1dir)/cccp$(manext)
|
||||
-rm -rf $(man1dir)/cpp$(manext)
|
||||
-rm -rf $(man1dir)/protoize$(manext)
|
||||
-rm -rf $(man1dir)/unprotoize$(manext)
|
||||
-rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
|
||||
@ -2898,7 +2875,7 @@ check-objc: testsuite/site.exp
|
||||
TAGS: force
|
||||
cd $(srcdir); \
|
||||
mkdir tmp-tags; \
|
||||
mv -f c-parse.[ch] cexp.c =*.[chy] tmp-tags; \
|
||||
mv -f c-parse.[ch] =*.[chy] tmp-tags; \
|
||||
etags *.y *.h *.c; \
|
||||
mv tmp-tags/* .; \
|
||||
rmdir tmp-tags
|
||||
@ -2918,8 +2895,7 @@ distdir-cvs: force
|
||||
# This target exists to do the initial work before the language specific
|
||||
# stuff gets done.
|
||||
distdir-start: doc $(srcdir)/INSTALL $(srcdir)/c-parse.y $(srcdir)/c-gperf.h \
|
||||
$(srcdir)/c-parse.c $(srcdir)/cexp.c $(srcdir)/config.in \
|
||||
$(srcdir)/version.c TAGS
|
||||
$(srcdir)/c-parse.c $(srcdir)/config.in $(srcdir)/version.c TAGS
|
||||
@case '$(USE_NLS)' in \
|
||||
yes) ;; \
|
||||
*) echo "configure with --enable-nls before making a distribution"; \
|
||||
@ -2948,7 +2924,7 @@ distdir-start: doc $(srcdir)/INSTALL $(srcdir)/c-parse.y $(srcdir)/c-gperf.h \
|
||||
test -f $(srcdir)/$$file && $(LN_S) $(srcdir)/$$file tmp; \
|
||||
done
|
||||
if test "$(srcdir)" != "." ; then \
|
||||
for file in c-parse.c cexp.c ; do \
|
||||
for file in c-parse.c ; do \
|
||||
test -f ./$$file && $(LN_S) ../$$file tmp; \
|
||||
done; \
|
||||
fi
|
||||
@ -2998,8 +2974,7 @@ distdir: distdir-cvs distdir-start intl.distdir intl.distdir-fixup \
|
||||
# The -P option assumes this is GNU diff.
|
||||
diff:
|
||||
diff -rc2P -x c-parse.y -x c-parse.c -x c-parse.h -x c-gperf.h \
|
||||
-x cexp.c -x -x TAGS -x INSTALL \
|
||||
-x configure -x config.in \
|
||||
-x TAGS -x INSTALL -x configure -x config.in \
|
||||
-x "gcc.??" -x "gcc.??s" -x gcc.aux -x "gcc.info*" \
|
||||
-x "cpp.??" -x "cpp.??s" -x cpp.aux -x "cpp.info*" \
|
||||
$(LANG_DIFF_EXCLUDES) \
|
||||
|
@ -680,7 +680,7 @@ check_newline ()
|
||||
}
|
||||
else if (!strcmp (name, "ident"))
|
||||
{
|
||||
/* #ident. The pedantic warning is now in cccp.c. */
|
||||
/* #ident. The pedantic warning is now in cpp. */
|
||||
|
||||
/* Here we have just seen `#ident '.
|
||||
A string constant should follow. */
|
||||
|
674
gcc/cccp.1
674
gcc/cccp.1
@ -1,674 +0,0 @@
|
||||
.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation \-*-Text-*-
|
||||
.\" See section COPYING for conditions for redistribution
|
||||
.TH cpp 1 "30apr1993" "GNU Tools" "GNU Tools"
|
||||
.SH NAME
|
||||
cccp, cpp \- The GNU C-Compatible Compiler Preprocessor.
|
||||
.SH SYNOPSIS
|
||||
.hy 0
|
||||
.na
|
||||
.TP
|
||||
.B cccp
|
||||
.RB "[\|" \-$ "\|]"
|
||||
.RB "[\|" \-A \c
|
||||
.I predicate\c
|
||||
.RB [ (\c
|
||||
.I value\c
|
||||
.BR ) ]\|]
|
||||
.RB "[\|" \-C "\|]"
|
||||
.RB "[\|" \-D \c
|
||||
.I name\c
|
||||
.RB [ =\c
|
||||
.I definition\c
|
||||
\&]\|]
|
||||
.RB "[\|" \-dD "\|]"
|
||||
.RB "[\|" \-dM "\|]"
|
||||
.RB "[\|" "\-I\ "\c
|
||||
.I directory\c
|
||||
\&\|]
|
||||
.RB "[\|" \-H "\|]"
|
||||
.RB "[\|" \-I\- "\|]"
|
||||
.RB "[\|" "\-imacros\ "\c
|
||||
.I file\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-include\ "\c
|
||||
.I file\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-idirafter\ "\c
|
||||
.I dir\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-iprefix\ "\c
|
||||
.I prefix\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-iwithprefix\ "\c
|
||||
.I dir\c
|
||||
\&\|]
|
||||
.RB "[\|" \-lang\-c "\|]"
|
||||
.RB "[\|" \-lang\-c++ "\|]"
|
||||
.RB "[\|" \-lang\-objc "\|]"
|
||||
.RB "[\|" \-lang\-objc++ "\|]"
|
||||
.RB "[\|" \-lint "\|]"
|
||||
.RB "[\|" \-M\ [ \-MG "\|]]"
|
||||
.RB "[\|" \-MM\ [ \-MG "\|]]"
|
||||
.RB "[\|" \-MD\ \c
|
||||
.I file\ \c
|
||||
\&\|]
|
||||
.RB "[\|" \-MMD\ \c
|
||||
.I file\ \c
|
||||
\&\|]
|
||||
.RB "[\|" \-nostdinc "\|]"
|
||||
.RB "[\|" \-nostdinc++ "\|]"
|
||||
.RB "[\|" \-P "\|]"
|
||||
.RB "[\|" \-pedantic "\|]"
|
||||
.RB "[\|" \-pedantic\-errors "\|]"
|
||||
.RB "[\|" \-traditional "\|]"
|
||||
.RB "[\|" \-trigraphs "\|]"
|
||||
.RB "[\|" \-U \c
|
||||
.I name\c
|
||||
\&\|]
|
||||
.RB "[\|" \-undef "\|]"
|
||||
.RB "[\|" \-Wtrigraphs "\|]"
|
||||
.RB "[\|" \-Wcomment "\|]"
|
||||
.RB "[\|" \-Wall "\|]"
|
||||
.RB "[\|" \-Wtraditional "\|]"
|
||||
.br
|
||||
.RB "[\|" \c
|
||||
.I infile\c
|
||||
.RB | \- "\|]"
|
||||
.RB "[\|" \c
|
||||
.I outfile\c
|
||||
.RB | \- "\|]"
|
||||
.ad b
|
||||
.hy 1
|
||||
.SH DESCRIPTION
|
||||
The C preprocessor is a \c
|
||||
.I macro processor\c
|
||||
\& that is used automatically by
|
||||
the C compiler to transform your program before actual compilation. It is
|
||||
called a macro processor because it allows you to define \c
|
||||
.I macros\c
|
||||
\&,
|
||||
which are brief abbreviations for longer constructs.
|
||||
|
||||
The C preprocessor provides four separate facilities that you can use as
|
||||
you see fit:
|
||||
.TP
|
||||
\(bu
|
||||
Inclusion of header files. These are files of declarations that can be
|
||||
substituted into your program.
|
||||
.TP
|
||||
\(bu
|
||||
Macro expansion. You can define \c
|
||||
.I macros\c
|
||||
\&, which are abbreviations
|
||||
for arbitrary fragments of C code, and then the C preprocessor will
|
||||
replace the macros with their definitions throughout the program.
|
||||
.TP
|
||||
\(bu
|
||||
Conditional compilation. Using special preprocessing directives, you
|
||||
can include or exclude parts of the program according to various
|
||||
conditions.
|
||||
.TP
|
||||
\(bu
|
||||
Line control. If you use a program to combine or rearrange source files into
|
||||
an intermediate file which is then compiled, you can use line control
|
||||
to inform the compiler of where each source line originally came from.
|
||||
.PP
|
||||
C preprocessors vary in some details. For a full explanation of the
|
||||
GNU C preprocessor, see the
|
||||
.B info
|
||||
file `\|\c
|
||||
.B cpp.info\c
|
||||
\&\|', or the manual
|
||||
.I The C Preprocessor\c
|
||||
\&. Both of these are built from the same documentation source file, `\|\c
|
||||
.B cpp.texinfo\c
|
||||
\&\|'. The GNU C
|
||||
preprocessor provides a superset of the features of ANSI Standard C.
|
||||
|
||||
ANSI Standard C requires the rejection of many harmless constructs commonly
|
||||
used by today's C programs. Such incompatibility would be inconvenient for
|
||||
users, so the GNU C preprocessor is configured to accept these constructs
|
||||
by default. Strictly speaking, to get ANSI Standard C, you must use the
|
||||
options `\|\c
|
||||
.B \-trigraphs\c
|
||||
\&\|', `\|\c
|
||||
.B \-undef\c
|
||||
\&\|' and `\|\c
|
||||
.B \-pedantic\c
|
||||
\&\|', but in
|
||||
practice the consequences of having strict ANSI Standard C make it
|
||||
undesirable to do this.
|
||||
|
||||
Most often when you use the C preprocessor you will not have to invoke it
|
||||
explicitly: the C compiler will do so automatically. However, the
|
||||
preprocessor is sometimes useful individually.
|
||||
|
||||
When you call the preprocessor individually, either name
|
||||
(\c
|
||||
.B cpp\c
|
||||
\& or \c
|
||||
.B cccp\c
|
||||
\&) will do\(em\&they are completely synonymous.
|
||||
|
||||
The C preprocessor expects two file names as arguments, \c
|
||||
.I infile\c
|
||||
\& and
|
||||
\c
|
||||
.I outfile\c
|
||||
\&. The preprocessor reads \c
|
||||
.I infile\c
|
||||
\& together with any other
|
||||
files it specifies with `\|\c
|
||||
.B #include\c
|
||||
\&\|'. All the output generated by the
|
||||
combined input files is written in \c
|
||||
.I outfile\c
|
||||
\&.
|
||||
|
||||
Either \c
|
||||
.I infile\c
|
||||
\& or \c
|
||||
.I outfile\c
|
||||
\& may be `\|\c
|
||||
.B \-\c
|
||||
\&\|', which as \c
|
||||
.I infile\c
|
||||
\&
|
||||
means to read from standard input and as \c
|
||||
.I outfile\c
|
||||
\& means to write to
|
||||
standard output. Also, if \c
|
||||
.I outfile\c
|
||||
\& or both file names are omitted,
|
||||
the standard output and standard input are used for the omitted file names.
|
||||
.SH OPTIONS
|
||||
Here is a table of command options accepted by the C preprocessor.
|
||||
These options can also be given when compiling a C program; they are
|
||||
passed along automatically to the preprocessor when it is invoked by
|
||||
the compiler.
|
||||
.TP
|
||||
.B \-P
|
||||
Inhibit generation of `\|\c
|
||||
.B #\c
|
||||
\&\|'-lines with line-number information in
|
||||
the output from the preprocessor. This might be
|
||||
useful when running the preprocessor on something that is not C code
|
||||
and will be sent to a program which might be confused by the
|
||||
`\|\c
|
||||
.B #\c
|
||||
\&\|'-lines.
|
||||
.TP
|
||||
.B \-C
|
||||
Do not discard comments: pass them through to the output file.
|
||||
Comments appearing in arguments of a macro call will be copied to the
|
||||
output before the expansion of the macro call.
|
||||
.TP
|
||||
.B \-traditional
|
||||
Try to imitate the behavior of old-fashioned C, as opposed to ANSI C.
|
||||
.TP
|
||||
.B \-trigraphs
|
||||
Process ANSI standard trigraph sequences. These are three-character
|
||||
sequences, all starting with `\|\c
|
||||
.B ??\c
|
||||
\&\|', that are defined by ANSI C to
|
||||
stand for single characters. For example, `\|\c
|
||||
.B ??/\c
|
||||
\&\|' stands for
|
||||
`\|\c
|
||||
.BR "\e" "\|',"
|
||||
so `\|\c
|
||||
.B '??/n'\c
|
||||
\&\|' is a character constant for a newline.
|
||||
Strictly speaking, the GNU C preprocessor does not support all
|
||||
programs in ANSI Standard C unless `\|\c
|
||||
.B \-trigraphs\c
|
||||
\&\|' is used, but if
|
||||
you ever notice the difference it will be with relief.
|
||||
|
||||
You don't want to know any more about trigraphs.
|
||||
.TP
|
||||
.B \-pedantic
|
||||
Issue warnings required by the ANSI C standard in certain cases such
|
||||
as when text other than a comment follows `\|\c
|
||||
.B #else\c
|
||||
\&\|' or `\|\c
|
||||
.B #endif\c
|
||||
\&\|'.
|
||||
.TP
|
||||
.B \-pedantic\-errors
|
||||
Like `\|\c
|
||||
.B \-pedantic\c
|
||||
\&\|', except that errors are produced rather than
|
||||
warnings.
|
||||
.TP
|
||||
.B \-Wtrigraphs
|
||||
Warn if any trigraphs are encountered (assuming they are enabled).
|
||||
.TP
|
||||
.B \-Wcomment
|
||||
.TP
|
||||
.B \-Wcomments
|
||||
Warn whenever a comment-start sequence `\|\c
|
||||
.B /*\c
|
||||
\&\|' appears in a comment.
|
||||
(Both forms have the same effect).
|
||||
.TP
|
||||
.B \-Wall
|
||||
Requests both `\|\c
|
||||
.B \-Wtrigraphs\c
|
||||
\&\|' and `\|\c
|
||||
.B \-Wcomment\c
|
||||
\&\|' (but not
|
||||
`\|\c
|
||||
.B \-Wtraditional\c
|
||||
\&\|').
|
||||
.TP
|
||||
.B \-Wtraditional
|
||||
Warn about certain constructs that behave differently in traditional and
|
||||
ANSI C.
|
||||
.TP
|
||||
.BI "\-I " directory\c
|
||||
\&
|
||||
Add the directory \c
|
||||
.I directory\c
|
||||
\& to the end of the list of
|
||||
directories to be searched for header files.
|
||||
This can be used to override a system header file, substituting your
|
||||
own version, since these directories are searched before the system
|
||||
header file directories. If you use more than one `\|\c
|
||||
.B \-I\c
|
||||
\&\|' option,
|
||||
the directories are scanned in left-to-right order; the standard
|
||||
system directories come after.
|
||||
.TP
|
||||
.B \-I\-
|
||||
Any directories specified with `\|\c
|
||||
.B \-I\c
|
||||
\&\|' options before the `\|\c
|
||||
.B \-I\-\c
|
||||
\&\|'
|
||||
option are searched only for the case of `\|\c
|
||||
.B #include "\c
|
||||
.I file\c
|
||||
\&"\c
|
||||
\&\|';
|
||||
they are not searched for `\|\c
|
||||
.B #include <\c
|
||||
.I file\c
|
||||
\&>\c
|
||||
\&\|'.
|
||||
|
||||
If additional directories are specified with `\|\c
|
||||
.B \-I\c
|
||||
\&\|' options after
|
||||
the `\|\c
|
||||
.B \-I\-\c
|
||||
\&\|', these directories are searched for all `\|\c
|
||||
.B #include\c
|
||||
\&\|'
|
||||
directives.
|
||||
|
||||
In addition, the `\|\c
|
||||
.B \-I\-\c
|
||||
\&\|' option inhibits the use of the current
|
||||
directory as the first search directory for `\|\c
|
||||
.B #include "\c
|
||||
.I file\c
|
||||
\&"\c
|
||||
\&\|'.
|
||||
Therefore, the current directory is searched only if it is requested
|
||||
explicitly with `\|\c
|
||||
.B \-I.\c
|
||||
\&\|'. Specifying both `\|\c
|
||||
.B \-I\-\c
|
||||
\&\|' and `\|\c
|
||||
.B \-I.\c
|
||||
\&\|'
|
||||
allows you to control precisely which directories are searched before
|
||||
the current one and which are searched after.
|
||||
.TP
|
||||
.B \-nostdinc
|
||||
Do not search the standard system directories for header files.
|
||||
Only the directories you have specified with `\|\c
|
||||
.B \-I\c
|
||||
\&\|' options
|
||||
(and the current directory, if appropriate) are searched.
|
||||
.TP
|
||||
.B \-nostdinc++
|
||||
Do not search for header files in the C++ specific standard
|
||||
directories, but do still search the other standard directories.
|
||||
(This option is used when building libg++.)
|
||||
.TP
|
||||
.BI "\-D " "name"\c
|
||||
\&
|
||||
Predefine \c
|
||||
.I name\c
|
||||
\& as a macro, with definition `\|\c
|
||||
.B 1\c
|
||||
\&\|'.
|
||||
.TP
|
||||
.BI "\-D " "name" = definition
|
||||
\&
|
||||
Predefine \c
|
||||
.I name\c
|
||||
\& as a macro, with definition \c
|
||||
.I definition\c
|
||||
\&.
|
||||
There are no restrictions on the contents of \c
|
||||
.I definition\c
|
||||
\&, but if
|
||||
you are invoking the preprocessor from a shell or shell-like program
|
||||
you may need to use the shell's quoting syntax to protect characters
|
||||
such as spaces that have a meaning in the shell syntax. If you use more than
|
||||
one `\|\c
|
||||
.B \-D\c
|
||||
\&\|' for the same
|
||||
.I name\c
|
||||
\&, the rightmost definition takes effect.
|
||||
.TP
|
||||
.BI "\-U " "name"\c
|
||||
\&
|
||||
Do not predefine \c
|
||||
.I name\c
|
||||
\&. If both `\|\c
|
||||
.B \-U\c
|
||||
\&\|' and `\|\c
|
||||
.B \-D\c
|
||||
\&\|' are
|
||||
specified for one name, the `\|\c
|
||||
.B \-U\c
|
||||
\&\|' beats the `\|\c
|
||||
.B \-D\c
|
||||
\&\|' and the name
|
||||
is not predefined.
|
||||
.TP
|
||||
.B \-undef
|
||||
Do not predefine any nonstandard macros.
|
||||
.TP
|
||||
.BI "\-A " "name(" value )
|
||||
Assert (in the same way as the \c
|
||||
.B #assert\c
|
||||
\& directive)
|
||||
the predicate \c
|
||||
.I name\c
|
||||
\& with tokenlist \c
|
||||
.I value\c
|
||||
\&. Remember to escape or quote the parentheses on
|
||||
shell command lines.
|
||||
|
||||
You can use `\|\c
|
||||
.B \-A-\c
|
||||
\&\|' to disable all predefined assertions; it also
|
||||
undefines all predefined macros.
|
||||
.TP
|
||||
.B \-dM
|
||||
Instead of outputting the result of preprocessing, output a list of
|
||||
`\|\c
|
||||
.B #define\c
|
||||
\&\|' directives for all the macros defined during the
|
||||
execution of the preprocessor, including predefined macros. This gives
|
||||
you a way of finding out what is predefined in your version of the
|
||||
preprocessor; assuming you have no file `\|\c
|
||||
.B foo.h\c
|
||||
\&\|', the command
|
||||
.sp
|
||||
.br
|
||||
touch\ foo.h;\ cpp\ \-dM\ foo.h
|
||||
.br
|
||||
.sp
|
||||
will show the values of any predefined macros.
|
||||
.TP
|
||||
.B \-dD
|
||||
Like `\|\c
|
||||
.B \-dM\c
|
||||
\&\|' except in two respects: it does \c
|
||||
.I not\c
|
||||
\& include the
|
||||
predefined macros, and it outputs \c
|
||||
.I both\c
|
||||
\& the `\|\c
|
||||
.B #define\c
|
||||
\&\|'
|
||||
directives and the result of preprocessing. Both kinds of output go to
|
||||
the standard output file.
|
||||
.PP
|
||||
.TP
|
||||
.BR \-M\ [ \-MG ]
|
||||
Instead of outputting the result of preprocessing, output a rule
|
||||
suitable for \c
|
||||
.B make\c
|
||||
\& describing the dependencies of the main
|
||||
source file. The preprocessor outputs one \c
|
||||
.B make\c
|
||||
\& rule containing
|
||||
the object file name for that source file, a colon, and the names of
|
||||
all the included files. If there are many included files then the
|
||||
rule is split into several lines using `\|\c
|
||||
.B \\\\\c
|
||||
\&\|'-newline.
|
||||
|
||||
`\|\c
|
||||
.B \-MG\c
|
||||
\&\|' says to treat missing header files as generated files and assume \c
|
||||
they live in the same directory as the source file. It must be specified \c
|
||||
in addition to `\|\c
|
||||
.B \-M\c
|
||||
\&\|'.
|
||||
|
||||
This feature is used in automatic updating of makefiles.
|
||||
.TP
|
||||
.BR \-MM\ [ \-MG ]
|
||||
Like `\|\c
|
||||
.B \-M\c
|
||||
\&\|' but mention only the files included with `\|\c
|
||||
.B #include
|
||||
"\c
|
||||
.I file\c
|
||||
\&"\c
|
||||
\&\|'. System header files included with `\|\c
|
||||
.B #include
|
||||
<\c
|
||||
.I file\c
|
||||
\&>\c
|
||||
\&\|' are omitted.
|
||||
.TP
|
||||
.BI \-MD\ file
|
||||
Like `\|\c
|
||||
.B \-M\c
|
||||
\&\|' but the dependency information is written to `\|\c
|
||||
.I file\c
|
||||
\&\|'. This is in addition to compiling the file as
|
||||
specified\(em\&`\|\c
|
||||
.B \-MD\c
|
||||
\&\|' does not inhibit ordinary compilation the way
|
||||
`\|\c
|
||||
.B \-M\c
|
||||
\&\|' does.
|
||||
|
||||
When invoking gcc, do not specify the `\|\c
|
||||
.I file\c
|
||||
\&\|' argument. Gcc will create file names made by replacing `\|\c
|
||||
.B .c\c
|
||||
\&\|' with `\|\c
|
||||
.B .d\c
|
||||
\&\|' at the end of the input file names.
|
||||
|
||||
In Mach, you can use the utility \c
|
||||
.B md\c
|
||||
\& to merge multiple files
|
||||
into a single dependency file suitable for using with the `\|\c
|
||||
.B make\c
|
||||
\&\|'
|
||||
command.
|
||||
.TP
|
||||
.BI \-MMD\ file
|
||||
Like `\|\c
|
||||
.B \-MD\c
|
||||
\&\|' except mention only user header files, not system
|
||||
header files.
|
||||
.TP
|
||||
.B \-H
|
||||
Print the name of each header file used, in addition to other normal
|
||||
activities.
|
||||
.TP
|
||||
.BI "\-imacros " "file"\c
|
||||
\&
|
||||
Process \c
|
||||
.I file\c
|
||||
\& as input, discarding the resulting output, before
|
||||
processing the regular input file. Because the output generated from
|
||||
\c
|
||||
.I file\c
|
||||
\& is discarded, the only effect of `\|\c
|
||||
.B \-imacros \c
|
||||
.I file\c
|
||||
\&\c
|
||||
\&\|' is to
|
||||
make the macros defined in \c
|
||||
.I file\c
|
||||
\& available for use in the main
|
||||
input. The preprocessor evaluates any `\|\c
|
||||
.B \-D\c
|
||||
\&\|' and `\|\c
|
||||
.B \-U\c
|
||||
\&\|' options
|
||||
on the command line before processing `\|\c
|
||||
.B \-imacros \c
|
||||
.I file\c
|
||||
\&\|' \c
|
||||
\&.
|
||||
.TP
|
||||
.BI "\-include " "file"
|
||||
Process
|
||||
.I file
|
||||
as input, and include all the resulting output,
|
||||
before processing the regular input file.
|
||||
.TP
|
||||
.BI "-idirafter " "dir"\c
|
||||
\&
|
||||
Add the directory \c
|
||||
.I dir\c
|
||||
\& to the second include path. The directories
|
||||
on the second include path are searched when a header file is not found
|
||||
in any of the directories in the main include path (the one that
|
||||
`\|\c
|
||||
.B \-I\c
|
||||
\&\|' adds to).
|
||||
.TP
|
||||
.BI "-iprefix " "prefix"\c
|
||||
\&
|
||||
Specify \c
|
||||
.I prefix\c
|
||||
\& as the prefix for subsequent `\|\c
|
||||
.B \-iwithprefix\c
|
||||
\&\|'
|
||||
options.
|
||||
.TP
|
||||
.BI "-iwithprefix " "dir"\c
|
||||
\&
|
||||
Add a directory to the second include path. The directory's name is
|
||||
made by concatenating \c
|
||||
.I prefix\c
|
||||
\& and \c
|
||||
.I dir\c
|
||||
\&, where \c
|
||||
.I prefix\c
|
||||
\&
|
||||
was specified previously with `\|\c
|
||||
.B \-iprefix\c
|
||||
\&\|'.
|
||||
.TP
|
||||
.B \-lang-c
|
||||
.TP
|
||||
.B \-lang-c++
|
||||
.TP
|
||||
.B \-lang-objc
|
||||
.TP
|
||||
.B \-lang-objc++
|
||||
Specify the source language. `\|\c
|
||||
.B \-lang-c++\c
|
||||
\&\|' makes the preprocessor
|
||||
handle C++ comment syntax, and includes extra default include
|
||||
directories for C++, and `\|\c
|
||||
.B \-lang-objc\c
|
||||
\&\|' enables the Objective C
|
||||
`\|\c
|
||||
.B #import\c
|
||||
\&\|' directive. `\|\c
|
||||
.B \-lang-c\c
|
||||
\&\|' explicitly turns off both of
|
||||
these extensions, and `\|\c
|
||||
.B \-lang-objc++\c
|
||||
\&\|' enables both.
|
||||
|
||||
These options are generated by the compiler driver \c
|
||||
.B gcc\c
|
||||
\&, but not
|
||||
passed from the `\|\c
|
||||
.B gcc\c
|
||||
\&\|' command line.
|
||||
.TP
|
||||
.B \-lint
|
||||
Look for commands to the program checker \c
|
||||
.B lint\c
|
||||
\& embedded in
|
||||
comments, and emit them preceded by `\|\c
|
||||
.B #pragma lint\c
|
||||
\&\|'. For example,
|
||||
the comment `\|\c
|
||||
.B /* NOTREACHED */\c
|
||||
\&\|' becomes `\|\c
|
||||
.B #pragma lint
|
||||
NOTREACHED\c
|
||||
\&\|'.
|
||||
|
||||
This option is available only when you call \c
|
||||
.B cpp\c
|
||||
\& directly;
|
||||
\c
|
||||
.B gcc\c
|
||||
\& will not pass it from its command line.
|
||||
.TP
|
||||
.B \-$
|
||||
Forbid the use of `\|\c
|
||||
.B $\c
|
||||
\&\|' in identifiers. This was formerly required for strict conformance
|
||||
to the C Standard before the standard was corrected. \c
|
||||
|
||||
This option is available only when you call \c
|
||||
.B cpp\c
|
||||
\& directly;
|
||||
.B gcc\c
|
||||
\& will not pass it from its command line.
|
||||
.SH "SEE ALSO"
|
||||
.RB "`\|" Cpp "\|'"
|
||||
entry in
|
||||
.B info\c
|
||||
\&;
|
||||
.I The C Preprocessor\c
|
||||
, Richard M. Stallman.
|
||||
.br
|
||||
.BR gcc "(" 1 ");"
|
||||
.RB "`\|" Gcc "\|'"
|
||||
entry in
|
||||
.B info\c
|
||||
\&;
|
||||
.I
|
||||
Using and Porting GNU CC (for version 2.0)\c
|
||||
, Richard M. Stallman.
|
||||
.SH COPYING
|
||||
Copyright (c) 1991, 1992, 1993 Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
.PP
|
||||
Permission is granted to copy and distribute modified versions of this
|
||||
manual under the conditions for verbatim copying, provided that the
|
||||
entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
.PP
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions, except that this permission notice may be included in
|
||||
translations approved by the Free Software Foundation instead of in
|
||||
the original English.
|
11313
gcc/cccp.c
11313
gcc/cccp.c
File diff suppressed because it is too large
Load Diff
2209
gcc/cexp.c
2209
gcc/cexp.c
File diff suppressed because it is too large
Load Diff
1226
gcc/cexp.y
1226
gcc/cexp.y
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,7 @@
|
||||
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* ch/lex.c: Remove references to cccp.c.
|
||||
|
||||
2000-04-03 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* lang-specs.h: Pass -fno-show-column to the preprocessor.
|
||||
|
@ -619,9 +619,7 @@ const char *chill_tree_code_name[] = {
|
||||
};
|
||||
#undef DEFTREECODE
|
||||
|
||||
/* Nonzero means `$' can be in an identifier.
|
||||
See cccp.c for reasons why this breaks some obscure ANSI C programs. */
|
||||
|
||||
/* Nonzero means `$' can be in an identifier. */
|
||||
#ifndef DOLLARS_IN_IDENTIFIERS
|
||||
#define DOLLARS_IN_IDENTIFIERS 0
|
||||
#endif
|
||||
|
@ -1677,7 +1677,7 @@ check_newline ()
|
||||
&& getlc (finput) == 't'
|
||||
&& ((c = getlc (finput)) == ' ' || c == '\t'))
|
||||
{
|
||||
/* #ident. The pedantic warning is now in cccp.c. */
|
||||
/* #ident. The pedantic warning is now in cpp. */
|
||||
|
||||
/* Here we have just seen `#ident '.
|
||||
A string constant should follow. */
|
||||
|
@ -491,7 +491,6 @@ extern int target_flags;
|
||||
#define FLOAT_TYPE_SIZE 32
|
||||
#define DOUBLE_TYPE_SIZE 64
|
||||
#define LONG_DOUBLE_TYPE_SIZE 64
|
||||
/* This prevents cexp.c from depending on LONG_TYPE_SIZE. */
|
||||
#define MAX_LONG_TYPE_SIZE 64
|
||||
|
||||
/* Declare the standard types used by builtins to match convex stddef.h --
|
||||
|
@ -179,9 +179,7 @@ extern int target_flags;
|
||||
|
||||
#define INT_TYPE_SIZE (TARGET_SHORT ? 16 : 32)
|
||||
|
||||
/* Define these to avoid dependence on meaning of `int'.
|
||||
Note that WCHAR_TYPE_SIZE is used in cexp.y,
|
||||
where TARGET_SHORT is not available. */
|
||||
/* Define these to avoid dependence on meaning of `int'. */
|
||||
|
||||
#define WCHAR_TYPE "long int"
|
||||
#define WCHAR_TYPE_SIZE 32
|
||||
|
@ -36,7 +36,6 @@ Boston, MA 02111-1307, USA. */
|
||||
#ifdef __EMX__
|
||||
#define EMX
|
||||
#define USG
|
||||
#define BSTRING
|
||||
#define HAVE_PUTENV
|
||||
#define HAVE_VPRINTF
|
||||
#define HAVE_STRERROR
|
||||
|
@ -337,10 +337,8 @@ extern int target_flags;
|
||||
|
||||
#define INT_TYPE_SIZE (TARGET_SHORT ? 16 : 32)
|
||||
|
||||
/* Define these to avoid dependence on meaning of `int'.
|
||||
Note that WCHAR_TYPE_SIZE is used in cexp.y,
|
||||
where TARGET_SHORT is not available. */
|
||||
|
||||
/* Define these to avoid dependence on meaning of `int'. */
|
||||
|
||||
#define WCHAR_TYPE "long int"
|
||||
#define WCHAR_TYPE_SIZE 32
|
||||
|
||||
|
@ -70,7 +70,6 @@ INSTALL_LIBGCC = install-multilib
|
||||
# cse.c (cost functions)
|
||||
# insn-output.c (possible ifdef changes in tm.h)
|
||||
# regclass.c (fixed/call used register changes)
|
||||
# cccp.c (new preprocessor macros, -v version #)
|
||||
# explow.c (GO_IF_LEGITIMATE_ADDRESS)
|
||||
# recog.c (GO_IF_LEGITIMATE_ADDRESS)
|
||||
# reload.c (GO_IF_LEGITIMATE_ADDRESS)
|
||||
@ -85,7 +84,6 @@ varasm.o: $(CONFIG2_H)
|
||||
cse.o: $(CONFIG2_H)
|
||||
insn-output.o: $(CONFIG2_H)
|
||||
regclass.o: $(CONFIG2_H)
|
||||
cccp.o: $(CONFIG2_H)
|
||||
explow.o: $(CONFIG2_H)
|
||||
recog.o: $(CONFIG2_H)
|
||||
reload.o: $(CONFIG2_H)
|
||||
|
@ -74,7 +74,6 @@ INSTALL_LIBGCC = install-multilib
|
||||
# cse.c (cost functions)
|
||||
# insn-output.c (possible ifdef changes in tm.h)
|
||||
# regclass.c (fixed/call used register changes)
|
||||
# cccp.c (new preprocessor macros, -v version #)
|
||||
# explow.c (GO_IF_LEGITIMATE_ADDRESS)
|
||||
# recog.c (GO_IF_LEGITIMATE_ADDRESS)
|
||||
# reload.c (GO_IF_LEGITIMATE_ADDRESS)
|
||||
@ -89,7 +88,6 @@ varasm.o: $(CONFIG2_H)
|
||||
cse.o: $(CONFIG2_H)
|
||||
insn-output.o: $(CONFIG2_H)
|
||||
regclass.o: $(CONFIG2_H)
|
||||
cccp.o: $(CONFIG2_H)
|
||||
explow.o: $(CONFIG2_H)
|
||||
recog.o: $(CONFIG2_H)
|
||||
reload.o: $(CONFIG2_H)
|
||||
|
@ -73,7 +73,6 @@ INSTALL_LIBGCC = install-multilib
|
||||
# cse.c (cost functions)
|
||||
# insn-output.c (possible ifdef changes in tm.h)
|
||||
# regclass.c (fixed/call used register changes)
|
||||
# cccp.c (new preprocessor macros, -v version #)
|
||||
# explow.c (GO_IF_LEGITIMATE_ADDRESS)
|
||||
# recog.c (GO_IF_LEGITIMATE_ADDRESS)
|
||||
# reload.c (GO_IF_LEGITIMATE_ADDRESS)
|
||||
@ -88,7 +87,6 @@ varasm.o: $(CONFIG2_H)
|
||||
cse.o: $(CONFIG2_H)
|
||||
insn-output.o: $(CONFIG2_H)
|
||||
regclass.o: $(CONFIG2_H)
|
||||
cccp.o: $(CONFIG2_H)
|
||||
explow.o: $(CONFIG2_H)
|
||||
recog.o: $(CONFIG2_H)
|
||||
reload.o: $(CONFIG2_H)
|
||||
|
@ -147,11 +147,6 @@ extern int target_flags;
|
||||
|
||||
/* machine types from ansi */
|
||||
#define SIZE_TYPE "unsigned int" /* definition of size_t */
|
||||
|
||||
/* is used in cexp.y - we don't have target_flags there,
|
||||
so just give default definition
|
||||
|
||||
hope it does not come back to haunt us! */
|
||||
#define WCHAR_TYPE "int" /* or long int???? */
|
||||
#define WCHAR_TYPE_SIZE 16
|
||||
|
||||
|
@ -47,8 +47,3 @@ Boston, MA 02111-1307, USA. */
|
||||
#define bcopy(s,d,l) memcpy(d,s,l)
|
||||
#define FUNCTION_CONVERSION_BUG
|
||||
#endif
|
||||
|
||||
/* We cannot allow cccp.o to contain a copy of BCOPY as this will
|
||||
cause multiple definitions since BLT and BCOPY share an object file
|
||||
in libc.a and the library references BLT. */
|
||||
#define BSTRING
|
||||
|
@ -25,6 +25,3 @@ Boston, MA 02111-1307, USA. */
|
||||
/* We do have one, but I'd like to use the one come with gcc since
|
||||
we have been doing that for a long time with USG defined. H.J. */
|
||||
#undef HAVE_STAB_H
|
||||
|
||||
#undef BSTRING
|
||||
#define BSTRING
|
||||
|
477
gcc/configure
vendored
477
gcc/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -217,14 +217,6 @@ elif test x$withval != xno; then
|
||||
cpp_install_dir=$withval
|
||||
fi])
|
||||
|
||||
# Use cpplib+cppmain for the preprocessor, but don't link it with the compiler.
|
||||
cpp_main=cppmain
|
||||
AC_ARG_ENABLE(cpplib,
|
||||
[ --disable-cpplib use the old isolated C preprocessor.],
|
||||
if test x$enable_cpplib = xno; then
|
||||
cpp_main=cccp
|
||||
fi)
|
||||
|
||||
dnl Disable this for the moment; the library interface is changing.
|
||||
dnl # Link cpplib into the compiler proper, for C/C++/ObjC.
|
||||
dnl AC_ARG_ENABLE(c-cpplib,
|
||||
@ -234,7 +226,6 @@ dnl if test x$enable_c_cpplib != xno; then
|
||||
dnl extra_c_objs="${extra_c_objs} libcpp.a"
|
||||
dnl extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
|
||||
dnl extra_c_flags="${extra_c_flags} -DUSE_CPPLIB=1"
|
||||
dnl cpp_main=cppmain
|
||||
dnl fi)
|
||||
|
||||
# Enable Multibyte Characters for C/C++
|
||||
@ -4811,7 +4802,6 @@ AC_SUBST(build_xm_file_list)
|
||||
AC_SUBST(cc_set_by_configure)
|
||||
AC_SUBST(quoted_cc_set_by_configure)
|
||||
AC_SUBST(cpp_install_dir)
|
||||
AC_SUBST(cpp_main)
|
||||
AC_SUBST(dep_host_xmake_file)
|
||||
AC_SUBST(dep_tmake_file)
|
||||
AC_SUBST(extra_c_flags)
|
||||
|
@ -1,3 +1,7 @@
|
||||
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* lex.c: Remove references to cccp.c.
|
||||
|
||||
2000-04-18 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* cp-tree.h (lang_decl_flags): Remove const_memfunc and
|
||||
|
@ -2302,7 +2302,7 @@ check_newline ()
|
||||
}
|
||||
else if (!strcmp (name, "ident"))
|
||||
{
|
||||
/* #ident. The pedantic warning is now in cccp.c. */
|
||||
/* #ident. The pedantic warning is now in cpp. */
|
||||
|
||||
/* Here we have just seen `#ident '.
|
||||
A string constant should follow. */
|
||||
|
@ -1097,7 +1097,7 @@ hack_vms_include_specification (fullname)
|
||||
/* The VMS part ends in a `]', and the preceding character is not a `.'.
|
||||
-> PATH]:/name (basename = '/name', unixname = 'name')
|
||||
We strip the `]', and then splice the two parts of the name in the
|
||||
usual way. Given the default locations for include files in cccp.c,
|
||||
usual way. Given the default locations for include files,
|
||||
we will only use this code if the user specifies alternate locations
|
||||
with the /include (-I) switch on the command line. */
|
||||
|
||||
|
@ -135,7 +135,7 @@ struct htab;
|
||||
/* Values for opts.dump_macros.
|
||||
dump_only means inhibit output of the preprocessed text
|
||||
and instead output the definitions of all user-defined
|
||||
macros in a form suitable for use as input to cccp.
|
||||
macros in a form suitable for use as input to cpp.
|
||||
dump_names means pass #define and the macro name through to output.
|
||||
dump_definitions means pass the whole definition (plus #define) through
|
||||
*/
|
||||
|
@ -1,6 +1,11 @@
|
||||
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* lex.c: Remove references to cccp.c.
|
||||
* g77install.texi: Remove references to cexp.c/cexp.y.
|
||||
|
||||
2000-04-15 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* f/target.h (FFETARGET_32bit_longs): Define for 64-bit PowerPC
|
||||
* target.h (FFETARGET_32bit_longs): Define for 64-bit PowerPC
|
||||
as well.
|
||||
|
||||
Wed Apr 12 15:15:26 2000 Mark Mitchell <mark@codesourcery.com>
|
||||
|
@ -1992,7 +1992,7 @@ type these commands:
|
||||
|
||||
@example
|
||||
sh# @kbd{cd gcc}
|
||||
sh# @kbd{touch bi-parser.c bi-parser.h c-parse.c c-parse.h cexp.c}
|
||||
sh# @kbd{touch bi-parser.c bi-parser.h c-parse.c c-parse.h}
|
||||
sh# @kbd{touch cp/parse.c cp/parse.h objc-parse.c}
|
||||
sh# @kbd{cd ..}
|
||||
sh#
|
||||
|
@ -1224,7 +1224,7 @@ ffelex_hash_ (FILE *finput)
|
||||
&& getc (finput) == 't'
|
||||
&& ((c = getc (finput)) == ' ' || c == '\t'))
|
||||
{
|
||||
/* #ident. The pedantic warning is now in cccp.c. */
|
||||
/* #ident. The pedantic warning is now in cpp. */
|
||||
|
||||
/* Here we have just seen `#ident '.
|
||||
A string constant should follow. */
|
||||
|
@ -53,10 +53,9 @@ On a System V release 4 system, make sure @file{/usr/bin} precedes
|
||||
@cindex Bison parser generator
|
||||
@cindex parser generator, Bison
|
||||
@item
|
||||
Make sure the Bison parser generator is installed. (This is
|
||||
unnecessary if the Bison output files @file{c-parse.c} and
|
||||
@file{cexp.c} are more recent than @file{c-parse.y} and @file{cexp.y}
|
||||
and you do not plan to change the @samp{.y} files.)
|
||||
Make sure the Bison parser generator is installed. (This is unnecessary
|
||||
if the Bison output file @file{c-parse.c} is more recent than
|
||||
@file{c-parse.y},and you do not plan to change the @samp{.y} file.)
|
||||
|
||||
Bison versions older than Sept 8, 1988 will produce incorrect output
|
||||
for @file{c-parse.c}.
|
||||
@ -396,9 +395,8 @@ Ignore any warnings you may see about ``statement not reached'' in
|
||||
escape sequence'' are normal in @file{genopinit.c} and perhaps some
|
||||
other files. Likewise, you should ignore warnings about ``constant is
|
||||
so large that it is unsigned'' in @file{insn-emit.c} and
|
||||
@file{insn-recog.c}, a warning about a comparison always being zero
|
||||
in @file{enquire.o}, and warnings about shift counts exceeding type
|
||||
widths in @file{cexp.y}. Any other compilation errors may represent bugs in
|
||||
@file{insn-recog.c}, and a warning about a comparison always being zero
|
||||
in @file{enquire.o}. Any other compilation errors may represent bugs in
|
||||
the port to your machine or operating system, and
|
||||
@ifclear INSTALLONLY
|
||||
should be investigated and reported (@pxref{Bugs}).
|
||||
@ -1260,47 +1258,11 @@ You will also a patched version of @file{/bin/ld} there that
|
||||
raises some of the arbitrary limits found in the original.
|
||||
|
||||
@item m68k-att-sysv
|
||||
AT&T 3b1, a.k.a. 7300 PC. Special procedures are needed to compile GNU
|
||||
CC with this machine's standard C compiler, due to bugs in that
|
||||
compiler. You can bootstrap it more easily with
|
||||
previous versions of GNU CC if you have them.
|
||||
|
||||
Installing GNU CC on the 3b1 is difficult if you do not already have
|
||||
GNU CC running, due to bugs in the installed C compiler. However,
|
||||
the following procedure might work. We are unable to test it.
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
Comment out the @samp{#include "config.h"} line near the start of
|
||||
@file{cccp.c} and do @samp{make cpp}. This makes a preliminary version
|
||||
of GNU cpp.
|
||||
|
||||
@item
|
||||
Save the old @file{/lib/cpp} and copy the preliminary GNU cpp to that
|
||||
file name.
|
||||
|
||||
@item
|
||||
Undo your change in @file{cccp.c}, or reinstall the original version,
|
||||
and do @samp{make cpp} again.
|
||||
|
||||
@item
|
||||
Copy this final version of GNU cpp into @file{/lib/cpp}.
|
||||
|
||||
@findex obstack_free
|
||||
@item
|
||||
Replace every occurrence of @code{obstack_free} in the file
|
||||
@file{tree.c} with @code{_obstack_free}.
|
||||
|
||||
@item
|
||||
Run @code{make} to get the first-stage GNU CC.
|
||||
|
||||
@item
|
||||
Reinstall the original version of @file{/lib/cpp}.
|
||||
|
||||
@item
|
||||
Now you can compile GNU CC with itself and install it in the normal
|
||||
fashion.
|
||||
@end enumerate
|
||||
AT&T 3b1, a.k.a. 7300 PC. This version of GNU CC cannot
|
||||
be compiled with the system C compiler, which is too buggy.
|
||||
You will need to get a previous version of GCC and use it to
|
||||
bootstrap. Binaries are available from the OSU-CIS archive, at
|
||||
@url{ftp://archive.cis.ohio-state.edu/pub/att7300/}.
|
||||
|
||||
@item m68k-bull-sysv
|
||||
Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. GNU CC works
|
||||
|
@ -939,7 +939,7 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan,
|
||||
/* ??? This is disabled in genconfig, as this simple-minded
|
||||
transformation can incredibly lengthen register lifetimes.
|
||||
|
||||
Consider this example from cexp.c's yyparse:
|
||||
Consider this example:
|
||||
|
||||
234 (set (pc)
|
||||
(if_then_else (ne (reg:DI 149) (const_int 0 [0x0]))
|
||||
|
@ -1,3 +1,8 @@
|
||||
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* POTFILES.in: Remove cccp.c and cexp.c. Comment out
|
||||
alpha/vms-tramp.asm.
|
||||
|
||||
2000-04-05 Geoff Keating <geoffk@cygnus.com>
|
||||
|
||||
* POTFILES.in: Remove config/rs6000/eabi-ctors.c, which was
|
||||
|
@ -68,8 +68,6 @@ c-tree.h
|
||||
c-typeck.c
|
||||
caller-save.c
|
||||
calls.c
|
||||
cccp.c
|
||||
cexp.c
|
||||
../libiberty/choose-temp.c
|
||||
collect2.c
|
||||
combine.c
|
||||
@ -94,7 +92,7 @@ config/alpha/openbsd.h
|
||||
config/alpha/osf.h
|
||||
config/alpha/osf12.h
|
||||
config/alpha/osf2or3.h
|
||||
config/alpha/vms-tramp.asm
|
||||
#config/alpha/vms-tramp.asm is part of the GCC library
|
||||
config/alpha/vms.h
|
||||
config/alpha/vxworks.h
|
||||
config/alpha/win-nt.h
|
||||
|
@ -192,7 +192,7 @@ static const unexpansion unexpansions[] = {
|
||||
static const int hash_mask = (HASH_TABLE_SIZE - 1);
|
||||
|
||||
/* Make a table of default system include directories
|
||||
just as it is done in cccp.c. */
|
||||
just as it is done in cpp. */
|
||||
|
||||
#ifndef STANDARD_INCLUDE_DIR
|
||||
#define STANDARD_INCLUDE_DIR "/usr/include"
|
||||
|
Loading…
Reference in New Issue
Block a user