OSDN Git Service

doc: avoid leading whitespace in @smallexample install.texi.
[pf3gnuchains/gcc-fork.git] / gcc / doc / install.texi
index 5cb047e..c8571ec 100644 (file)
@@ -355,17 +355,6 @@ not installed in your default library search path.
 
 Necessary to build libgcj, the GCJ runtime.
 
-@item libelf version 0.8.12 (or later)
-
-Necessary to build link-time optimization (LTO) support.  It can be
-downloaded from @uref{http://www.mr511.de/software/libelf-0.8.12.tar.gz},
-though it is commonly available in several systems.  The version in
-IRIX 6.5 doesn't work since it lacks @file{gelf.h}.  The version in
-Solaris 2 does work.
-
-The @option{--with-libelf} configure option should be used if libelf is
-not installed in your default library search patch.
-
 @end table
 
 @heading Tools/packages necessary for modifying GCC
@@ -634,9 +623,9 @@ affected by this requirement, see
 To configure GCC:
 
 @smallexample
-   % mkdir @var{objdir}
-   % cd @var{objdir}
-   % @var{srcdir}/configure [@var{options}] [@var{target}]
+% mkdir @var{objdir}
+% cd @var{objdir}
+% @var{srcdir}/configure [@var{options}] [@var{target}]
 @end smallexample
 
 @heading Distributor options
@@ -895,7 +884,7 @@ only for the listed packages.  For other packages, only static libraries
 will be built.  Package names currently recognized in the GCC tree are
 @samp{libgcc} (also known as @samp{gcc}), @samp{libstdc++} (not
 @samp{libstdc++-v3}), @samp{libffi}, @samp{zlib}, @samp{boehm-gc},
-@samp{ada}, @samp{libada}, @samp{libjava} and @samp{libobjc}.
+@samp{ada}, @samp{libada}, @samp{libjava}, @samp{libgo}, and @samp{libobjc}.
 Note @samp{libiberty} does not support shared libraries at all.
 
 Use @option{--disable-shared} to build only static libraries.  Note that
@@ -1177,10 +1166,11 @@ of the arguments depend on the target.
 Specify if the compiler should default to @option{-marm} or @option{-mthumb}.
 This option is only supported on ARM targets.
 
-@item --with-fpmath=sse
-Specify if the compiler should default to @option{-msse2} and
-@option{-mfpmath=sse}.  This option is only supported on i386 and
-x86-64 targets.
+@item --with-fpmath=@var{isa}
+This options sets @option{-mfpmath=sse} by default and specifies the default
+ISA for floating-point arithmetics.  You can select either @samp{sse} which
+enables @option{-msse2} or @samp{avx} which enables @option{-mavx} by default.
+This option is only supported on i386 and x86-64 targets.
 
 @item --with-divide=@var{type}
 Specify how the compiler should generate code for checking for
@@ -1315,15 +1305,12 @@ their runtime libraries should be built.  For a list of valid values for
 grep language= */config-lang.in
 @end smallexample
 Currently, you can use any of the following:
-@code{all}, @code{ada}, @code{c}, @code{c++}, @code{fortran}, @code{java},
-@code{objc}, @code{obj-c++}.
+@code{all}, @code{ada}, @code{c}, @code{c++}, @code{fortran},
+@code{go}, @code{java}, @code{objc}, @code{obj-c++}.
 Building the Ada compiler has special requirements, see below.
 If you do not pass this flag, or specify the option @code{all}, then all
 default languages available in the @file{gcc} sub-tree will be configured.
-Ada and Objective-C++ are not default languages; the rest are.
-Re-defining @code{LANGUAGES} when calling @samp{make} @strong{does not}
-work anymore, as those language sub-directories might not have been
-configured!
+Ada, Go and Objective-C++ are not default languages; the rest are.
 
 @item --enable-stage1-languages=@var{lang1},@var{lang2},@dots{}
 Specify that a particular subset of compilers and their runtime
@@ -1350,6 +1337,16 @@ do a @samp{make -C gcc gnatlib_and_tools}.
 Specify that the run-time libraries for stack smashing protection
 should not be built.
 
+@item --disable-libquadmath
+Specify that the GCC quad-precision math library should not be built.
+On some systems, the library is required to be linkable when building
+the Fortran front end, unless @option{--disable-libquadmath-support}
+is used.
+
+@item --disable-libquadmath-support
+Specify that the Fortran front end and @code{libgfortran} do not add
+support for @code{libquadmath} on systems supporting it.
+
 @item --disable-libgomp
 Specify that the run-time libraries used by GOMP should not be built.
 
@@ -1574,7 +1571,10 @@ they are installed (@samp{--with-gmp=@var{gmpinstalldir}},
 @option{--with-mpc-lib=@var{mpcinstalldir}/lib} and
 @option{--with-mpc-include=@var{mpcinstalldir}/include}.  If these
 shorthand assumptions are not correct, you can use the explicit
-include and lib options directly.
+include and lib options directly.  You might also need to ensure the
+shared libraries can be found by the dynamic linker when building and
+using GCC, for example by setting the runtime shared library path
+variable (@env{LD_LIBRARY_PATH} on GNU/Linux and Solaris systems).
 
 @item --with-ppl=@var{pathname}
 @itemx --with-ppl-include=@var{pathname}
@@ -1618,8 +1618,9 @@ of GCC.  These are also used when linking GCC if configured with
 
 @item --with-boot-ldflags=@var{flags}
 This option may be used to set linker flags to be used when linking
-stage 2 and later when bootstrapping GCC.  By default no special flags
-are used.
+stage 2 and later when bootstrapping GCC.  If neither --with-boot-libs
+nor --with-host-libstdcxx is set to a value, then the default is
+@samp{-static-libstdc++ -static-libgcc}.
 
 @item --with-boot-libs=@var{libs}
 This option may be used to set libraries to be used when linking stage 2
@@ -1647,20 +1648,9 @@ default for a native toolchain with an assembler that accepts it and
 GLIBC 2.11 or above, otherwise disabled.
 
 @item --enable-lto
+@itemx --disable-lto
 Enable support for link-time optimization (LTO).  This is enabled by
-default if a working libelf implementation is found (see
-@option{--with-libelf}).
-
-@item --with-libelf=@var{pathname}
-@itemx --with-libelf-include=@var{pathname}
-@itemx --with-libelf-lib=@var{pathname}
-If you do not have libelf installed in a standard location and you
-want to enable support for link-time optimization (LTO), you can
-explicitly specify the directory where libelf is installed
-(@samp{--with-libelf=@var{libelfinstalldir}}).  The
-@option{--with-libelf=@var{libelfinstalldir}} option is shorthand for
-@option{--with-libelf-include=@var{libelfinstalldir}/include}
-@option{--with-libelf-lib=@var{libelfinstalldir}/lib}.
+default, and may be disabled using @option{--disable-lto}.
 
 @item --enable-gold
 Enable support for using @command{gold} as the linker.  If gold support is
@@ -1677,8 +1667,8 @@ The following options only apply to building cross compilers.
 @table @code
 @item --with-sysroot
 @itemx --with-sysroot=@var{dir}
-Tells GCC to consider @var{dir} as the root of a tree that contains a
-(subset of) the root filesystem of the target operating system.
+Tells GCC to consider @var{dir} as the root of a tree that contains
+(subset of) the root filesystem of the target operating system.
 Target system headers, libraries and run-time object files will be
 searched in there.  More specifically, this acts as if
 @option{--sysroot=@var{dir}} was added to the default options of the built
@@ -1988,6 +1978,36 @@ Do not try to compile and run a test libart program.
 
 @end table
 
+@subsubheading Overriding @command{configure} test results
+
+Sometimes, it might be necessary to override the result of some
+@command{configure} test, for example in order to ease porting to a new
+system or work around a bug in a test.  The toplevel @command{configure}
+script provides three variables for this:
+
+@table @code
+
+@item build_configargs
+@cindex @code{build_configargs}
+The contents of this variable is passed to all build @command{configure}
+scripts.
+
+@item host_configargs
+@cindex @code{host_configargs}
+The contents of this variable is passed to all host @command{configure}
+scripts.
+
+@item target_configargs
+@cindex @code{target_configargs}
+The contents of this variable is passed to all target @command{configure}
+scripts.
+
+@end table
+
+In order to avoid shell and @command{make} quoting issues for complex
+overrides, you can pass a setting for @env{CONFIG_SITE} and set
+variables in the site file.
+
 @html
 <hr />
 <p>
@@ -2100,7 +2120,7 @@ the bootstrap and the final installation.  (Libraries will still contain
 debugging information.)
 
 @smallexample
-     make BOOT_CFLAGS='-O' bootstrap
+make BOOT_CFLAGS='-O' bootstrap
 @end smallexample
 
 You can place non-default optimization flags into @code{BOOT_CFLAGS}; they
@@ -2401,8 +2421,8 @@ environment variables appropriately, as in the following example (which
 assumes that DejaGnu has been installed under @file{/usr/local}):
 
 @smallexample
-     TCL_LIBRARY = /usr/local/share/tcl8.0
-     DEJAGNULIBS = /usr/local/share/dejagnu
+TCL_LIBRARY = /usr/local/share/tcl8.0
+DEJAGNULIBS = /usr/local/share/dejagnu
 @end smallexample
 
 (On systems such as Cygwin, these paths are required to be actual
@@ -2412,7 +2432,7 @@ portability in the DejaGnu code.)
 
 Finally, you can run the testsuite (which may take a long time):
 @smallexample
-     cd @var{objdir}; make -k check
+cd @var{objdir}; make -k check
 @end smallexample
 
 This will test various components of GCC, such as compiler
@@ -2436,14 +2456,14 @@ A more selective way to just run all @command{gcc} execute tests in the
 testsuite is to use
 
 @smallexample
-    make check-gcc RUNTESTFLAGS="execute.exp @var{other-options}"
+make check-gcc RUNTESTFLAGS="execute.exp @var{other-options}"
 @end smallexample
 
 Likewise, in order to run only the @command{g++} ``old-deja'' tests in
 the testsuite with filenames matching @samp{9805*}, you would use
 
 @smallexample
-    make check-g++ RUNTESTFLAGS="old-deja.exp=9805* @var{other-options}"
+make check-g++ RUNTESTFLAGS="old-deja.exp=9805* @var{other-options}"
 @end smallexample
 
 The @file{*.exp} files are located in the testsuite directories of the GCC
@@ -2461,7 +2481,7 @@ You can pass multiple options to the testsuite using the
 work outside the makefiles.  For example,
 
 @smallexample
-    make check-g++ RUNTESTFLAGS="--target_board=unix/-O3/-fmerge-constants"
+make check-g++ RUNTESTFLAGS="--target_board=unix/-O3/-fmerge-constants"
 @end smallexample
 
 will run the standard @command{g++} testsuites (``unix'' is the target name
@@ -2473,7 +2493,7 @@ You can run the testsuites multiple times using combinations of options
 with a syntax similar to the brace expansion of popular shells:
 
 @smallexample
-    @dots{}"--target_board=arm-sim\@{-mhard-float,-msoft-float\@}\@{-O1,-O2,-O3,\@}"
+@dots{}"--target_board=arm-sim\@{-mhard-float,-msoft-float\@}\@{-O1,-O2,-O3,\@}"
 @end smallexample
 
 (Note the empty option caused by the trailing comma in the final group.)
@@ -2481,21 +2501,21 @@ The following will run each testsuite eight times using the @samp{arm-sim}
 target, as if you had specified all possible combinations yourself:
 
 @smallexample
-    --target_board=arm-sim/-mhard-float/-O1
-    --target_board=arm-sim/-mhard-float/-O2
-    --target_board=arm-sim/-mhard-float/-O3
-    --target_board=arm-sim/-mhard-float
-    --target_board=arm-sim/-msoft-float/-O1
-    --target_board=arm-sim/-msoft-float/-O2
-    --target_board=arm-sim/-msoft-float/-O3
-    --target_board=arm-sim/-msoft-float
+--target_board=arm-sim/-mhard-float/-O1
+--target_board=arm-sim/-mhard-float/-O2
+--target_board=arm-sim/-mhard-float/-O3
+--target_board=arm-sim/-mhard-float
+--target_board=arm-sim/-msoft-float/-O1
+--target_board=arm-sim/-msoft-float/-O2
+--target_board=arm-sim/-msoft-float/-O3
+--target_board=arm-sim/-msoft-float
 @end smallexample
 
 They can be combined as many times as you wish, in arbitrary ways.  This
 list:
 
 @smallexample
-    @dots{}"--target_board=unix/-Wextra\@{-O3,-fno-strength\@}\@{-fomit-frame,\@}"
+@dots{}"--target_board=unix/-Wextra\@{-O3,-fno-strength\@}\@{-fomit-frame,\@}"
 @end smallexample
 
 will generate four combinations, all involving @samp{-Wextra}.
@@ -2508,13 +2528,13 @@ do the parallel runs.  Instead of using @samp{--target_board}, use a
 special makefile target:
 
 @smallexample
-    make -j@var{N} check-@var{testsuite}//@var{test-target}/@var{option1}/@var{option2}/@dots{}
+make -j@var{N} check-@var{testsuite}//@var{test-target}/@var{option1}/@var{option2}/@dots{}
 @end smallexample
 
 For example,
 
 @smallexample
-    make -j3 check-gcc//sh-hms-sim/@{-m1,-m2,-m3,-m3e,-m4@}/@{,-nofpu@}
+make -j3 check-gcc//sh-hms-sim/@{-m1,-m2,-m3,-m3e,-m4@}/@{,-nofpu@}
 @end smallexample
 
 will run three concurrent ``make-gcc'' testsuites, eventually testing all
@@ -2573,8 +2593,8 @@ If you want to report the results to the GCC project, use the
 @file{contrib/test_summary} shell script.  Start it in the @var{objdir} with
 
 @smallexample
-    @var{srcdir}/contrib/test_summary -p your_commentary.txt \
-        -m gcc-testresults@@gcc.gnu.org |sh
+@var{srcdir}/contrib/test_summary -p your_commentary.txt \
+    -m gcc-testresults@@gcc.gnu.org |sh
 @end smallexample
 
 This script uses the @command{Mail} program to send the results, so
@@ -2605,7 +2625,7 @@ messages may be automatically processed.
 
 Now that GCC has been built (and optionally tested), you can install it with
 @smallexample
-cd @var{objdir}; make install
+cd @var{objdir} && make install
 @end smallexample
 
 We strongly recommend to install into a target directory where there is
@@ -2641,7 +2661,8 @@ jail can be achieved with the command
 make DESTDIR=@var{path-to-rootdir} install
 @end smallexample
 
-@noindent where @var{path-to-rootdir} is the absolute path of
+@noindent
+where @var{path-to-rootdir} is the absolute path of
 a directory relative to which all installation paths will be
 interpreted.  Note that the directory specified by @code{DESTDIR}
 need not exist yet; it will be created if necessary.
@@ -2655,6 +2676,12 @@ it will not be created otherwise.  This is regarded as a feature,
 not as a bug, because it gives slightly more control to the packagers
 using the @code{DESTDIR} feature.
 
+You can install stripped programs and libraries with
+
+@smallexample
+make install-strip
+@end smallexample
+
 If you are bootstrapping a released version of GCC then please
 quickly review the build status page for your release, available from
 @uref{http://gcc.gnu.org/buildstat.html}.
@@ -2791,7 +2818,7 @@ Development Tools for the Renesas H8/300[HS] Series}.
 HP-UX:
 @itemize
 @item
-@uref{http://hpux.cs.utah.edu/,,HP-UX Porting Center};
+@uref{http://hpux.connect.org.uk/,,HP-UX Porting Center};
 
 @item
 @uref{ftp://sunsite.informatik.rwth-aachen.de/pub/packages/gcc_hpux/,,Binaries for HP-UX 11.00 at Aachen University of Technology}.
@@ -2806,10 +2833,30 @@ Development Tools for the Motorola 68HC11/68HC12}.
 OpenServer/Unixware}.
 
 @item
-Solaris 2 (SPARC, Intel)---@uref{http://www.sunfreeware.com/,,Sunfreeware}.
+Solaris 2 (SPARC, Intel):
+@itemize
+@item
+@uref{http://www.sunfreeware.com/,,Sunfreeware}
+
+@item
+@uref{http://www.blastwave.org/,,Blastwave}
+
+@item
+@uref{http://www.opencsw.org/,,OpenCSW}
+
+@item
+@uref{http://jupiterrise.com/tgcware/,,TGCware}
+@end itemize
+
+@item
+SGI IRIX:
+@itemize
+@item
+@uref{http://nekochan.net/,,Nekoware}
 
 @item
-SGI---@uref{http://freeware.sgi.com/,,SGI Freeware}.
+@uref{http://jupiterrise.com/tgcware/,,TGCware}
+@end itemize
 
 @item
 Microsoft Windows:
@@ -2932,6 +2979,8 @@ information are.
 @item
 @uref{#mep-x-elf,,mep-*-elf}
 @item
+@uref{#microblaze-x-elf,,microblaze-*-elf}
+@item
 @uref{#mips-x-x,,mips-*-*}
 @item
 @uref{#mips-sgi-irix5,,mips-sgi-irix5}
@@ -3121,7 +3170,7 @@ We @emph{strongly} recommend using binutils 2.13 or newer.
 
 The following error:
 @smallexample
-  Error: register required
+Error: register required
 @end smallexample
 
 indicates that you should upgrade to a newer version of the binutils.
@@ -3581,8 +3630,8 @@ requires a larger data segment, which can be enabled through the
 @var{LDR_CNTRL} environment variable, e.g.,
 
 @smallexample
-   % LDR_CNTRL=MAXDATA=0x50000000
-   % export LDR_CNTRL
+% LDR_CNTRL=MAXDATA=0x50000000
+% export LDR_CNTRL
 @end smallexample
 
 One can start with a pre-compiled version of GCC to build from
@@ -3593,8 +3642,8 @@ To speed up the configuration phases of bootstrapping and installing GCC,
 one may use GNU Bash instead of AIX @command{/bin/sh}, e.g.,
 
 @smallexample
-   % CONFIG_SHELL=/opt/freeware/bin/bash
-   % export CONFIG_SHELL
+% CONFIG_SHELL=/opt/freeware/bin/bash
+% export CONFIG_SHELL
 @end smallexample
 
 and then proceed as described in @uref{build.html,,the build
@@ -3642,19 +3691,19 @@ multilib @file{libstdc++.a} installed:
 Extract the shared objects from the currently installed
 @file{libstdc++.a} archive:
 @smallexample
-   % ar -x libstdc++.a libstdc++.so.4 libstdc++.so.5
+% ar -x libstdc++.a libstdc++.so.4 libstdc++.so.5
 @end smallexample
 
 Enable the @samp{F_LOADONLY} flag so that the shared object will be
 available for runtime dynamic loading, but not linking:
 @smallexample
-   % strip -e libstdc++.so.4 libstdc++.so.5
+% strip -e libstdc++.so.4 libstdc++.so.5
 @end smallexample
 
 Archive the runtime-only shared object in the GCC 3.4
 @file{libstdc++.a} archive:
 @smallexample
-   % ar -q libstdc++.a libstdc++.so.4 libstdc++.so.5
+% ar -q libstdc++.a libstdc++.so.4 libstdc++.so.5
 @end smallexample
 
 Linking executables and shared libraries may produce warnings of
@@ -3802,6 +3851,13 @@ This configuration is intended for embedded systems.
 @html
 <hr />
 @end html
+@heading @anchor{microblaze-x-elf}microblaze-*-elf
+Xilinx MicroBlaze processor.
+This configuration is intended for embedded systems.
+
+@html
+<hr />
+@end html
 @heading @anchor{mips-x-x}mips-*-*
 If on a MIPS system you get an error message saying ``does not have gp
 sections for all it's [sic] sectons [sic]'', don't worry about it.  This
@@ -4097,8 +4153,8 @@ The Solaris 2 @command{/bin/sh} will often fail to configure
 recommend using the following initial sequence of commands
 
 @smallexample
-   % CONFIG_SHELL=/bin/ksh
-   % export CONFIG_SHELL
+% CONFIG_SHELL=/bin/ksh
+% export CONFIG_SHELL
 @end smallexample
 
 @noindent
@@ -4269,7 +4325,7 @@ configure line.  This target triplet can be obtained by invoking @command{./conf
 not that of GMP or MPFR or MPC).  For example on a Solaris 9 system:
 
 @smallexample
-   % ./configure --build=sparc-sun-solaris2.9 --prefix=xxx
+% ./configure --build=sparc-sun-solaris2.9 --prefix=xxx
 @end smallexample
 
 @html
@@ -4309,14 +4365,14 @@ the @command{build} parameter on the configure line.  For example
 on a Solaris 9 system:
 
 @smallexample
-   % ./configure --build=sparc64-sun-solaris2.9 --prefix=xxx
+% ./configure --build=sparc64-sun-solaris2.9 --prefix=xxx
 @end smallexample
 
 The following compiler flags must be specified in the configure
 step in order to bootstrap this target with the Sun compiler:
 
 @smallexample
-   % CC="cc -xarch=v9 -xildoff" @var{srcdir}/configure [@var{options}] [@var{target}]
+% CC="cc -xarch=v9 -xildoff" @var{srcdir}/configure [@var{options}] [@var{target}]
 @end smallexample
 
 @noindent