OSDN Git Service

* config/linux.h (ASM_COMMENT_START): Remove from here,
[pf3gnuchains/gcc-fork.git] / gcc / INSTALL
index 60fabf1..ac92f50 100644 (file)
@@ -3,12 +3,12 @@ This file documents the installation of the GNU compiler.  Copyright
 may copy, distribute, and modify it freely as long as you preserve this
 copyright notice and permission notice.
 
-Note most of this information is out of date and superceded by the EGCS
-install procedures.  It is provided for historical reference only.
-
 Installing GNU CC
 *****************
 
+   Note most of this information is out of date and superceded by the
+EGCS install procedures.  It is provided for historical reference only.
+
    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
 compile in the same directory that contains the source files; see *Note
@@ -122,9 +122,7 @@ and includes all the necessary compilation tools and libraries.
 
           This option does not cause the GNU linker to be installed; it
           just modifies the behavior of GNU CC to work with the GNU
-          linker.  Specifically, it inhibits the installation of
-          `collect2', a program which otherwise serves as a front-end
-          for the system's linker on most configurations.
+          linker.
 
     `--with-stabs'
           On MIPS based systems and on Alphas, you must specify whether
@@ -164,6 +162,16 @@ and includes all the necessary compilation tools and libraries.
           `--nfp' currently has no effect, though perhaps there are
           other systems where it could usefully make a difference.
 
+    `--enable-haifa'
+
+    `--disable-haifa'
+          Use `--enable-haifa' to enable use of an experimental
+          instruction scheduler (from IBM Haifa).  This may or may not
+          produce better code.  Some targets on which it is known to be
+          a win enable it by default; use `--disable-haifa' to disable
+          it in these cases.  `configure' will print out whether the
+          Haifa scheduler is enabled when it is run.
+
     `--enable-threads=TYPE'
           Certain systems, notably Linux-based GNU systems, can't be
           relied on to supply a threads facility for the Objective C
@@ -452,11 +460,39 @@ and includes all the necessary compilation tools and libraries.
      some other compiler.)
 
  16. If you're going to use C++, it's likely that you need to also
-     install the libg++ distribution.  It should be available from the
-     same place where you got the GNU C distribution.  Just as GNU C
-     does not distribute a C runtime library, it also does not include
-     a C++ run-time library.  All I/O functionality, special class
-     libraries, etc., are available in the libg++ distribution.
+     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.
+
+     Here's one way to build and install a C++ runtime library for GNU
+     CC:
+
+        * Build and install GNU CC, so that invoking `gcc' obtains the
+          GNU CC that was just built.
+
+        * Obtain a copy of a compatible `libstdc++' distribution.  For
+          example, the `libstdc++-2.8.0.tar.gz' distribution should be
+          compatible with GCC 2.8.0.  GCC distributors normally
+          distribute `libstdc++' as well.
+
+        * Set the `CXX' environment variable to `gcc' while running the
+          `libstdc++' distribution's `configure' command.  Use the same
+          `configure' options that you used when you invoked GCC's
+          `configure' command.
+
+        * Invoke `make' to build the C++ runtime.
+
+        * Invoke `make install' to install the C++ runtime.
+
+     To summarize, after building and installing GNU CC, invoke the
+     following shell commands in the topmost directory of the C++
+     library distribution.  For CONFIGURE-OPTIONS, use the same options
+     that you used to configure GNU CC.
+
+          $ CXX=gcc ./configure CONFIGURE-OPTIONS
+          $ make
+          $ make install
 
  17. GNU CC includes a runtime library for Objective-C because it is an
      integral part of the language.  You can find the files associated
@@ -918,7 +954,7 @@ special things you must know:
 `m68000-hp-bsd'
      HP 9000 series 200 running BSD.  Note that the C compiler that
      comes with this system cannot compile GNU CC; contact
-     `law@cs.utah.edu' to get binaries of GNU CC for bootstrapping.
+     `law@cygnus.com' to get binaries of GNU CC for bootstrapping.
 
 `m68k-altos'
      Altos 3068.  You must use the GNU assembler, linker and debugger.
@@ -1786,8 +1822,8 @@ perform the following steps:
             disk:[gcc.gxx_include.] gnu_gxx_include
 
      with the appropriate disk and directory name.  If you are going to
-     be using libg++, this is where the libg++ install procedure will
-     install the libg++ header files.
+     be using a C++ runtime library, this is where its install
+     procedure will install its header files.
 
   2. Obtain the file `gcc-cc1plus.exe', and place this in the same
      directory that `gcc-cc1.exe' is kept.
@@ -1944,10 +1980,8 @@ VAX C, to avoid a problem in case `gcclib.olb' is not yet available.
 `collect2'
 ==========
 
-   Many target systems do not have support in the assembler and linker
-for "constructors"--initialization functions to be called before the
-official "start" of `main'.  On such systems, GNU CC uses a utility
-called `collect2' to arrange to call these functions at start time.
+   GNU CC uses a utility called `collect2' on nearly all systems to
+arrange to call various initialization functions at start time.
 
    The program `collect2' works by linking the program once and looking
 through the linker output file for symbols with particular names
@@ -2020,8 +2054,8 @@ 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.  `libg++' installs only
-target independent header files in that directory.
+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