X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fdoc%2Finstall.texi;h=5788e68fac5b163edab0a4c0bc6b9c074a1673a0;hb=942b4f9d8364e4ec230c2371ecabeb2b5e70caac;hp=b1b896527ba3cf0311db1b05a8451bc9ad265dc2;hpb=2c43234d401bd957b0908a4eb423d36d658a9ae6;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index b1b896527ba..5788e68fac5 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -45,7 +45,7 @@ @end ifset @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -@c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +@c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com @c IMPORTANT: whenever you modify this file, run `install.texi2html' to @@ -70,8 +70,9 @@ @c Part 2 Summary Description and Copyright @copying -Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, +1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +2008 Free Software Foundation, Inc. @sp 1 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or @@ -301,25 +302,43 @@ Necessary (only on some platforms) to untar the source code. Many systems' @command{tar} programs will also work, only try GNU @command{tar} if you have problems. -@item GNU Multiple Precision Library (GMP) version 4.1 (or later) +@item GNU Multiple Precision Library (GMP) version 4.2 (or later) Necessary to build GCC@. If you do not have it installed in your library search path, you will have to configure with the -@option{--with-gmp} configure option. See also -@option{--with-gmp-lib} and @option{--with-gmp-include}. +@option{--with-gmp} configure option. See also @option{--with-gmp-lib} +and @option{--with-gmp-include}. Alternatively, if a GMP source +distribution is found in a subdirectory of your GCC sources named +@file{gmp}, it will be built together with GCC@. -@item MPFR Library version 2.3.0 (or later) +@item MPFR Library version 2.3.2 (or later) Necessary to build GCC@. It can be downloaded from -@uref{http://www.mpfr.org/}. The version of MPFR that is bundled with -GMP 4.1.x contains numerous bugs. Although GCC may appear to function -with the buggy versions of MPFR, there are a few bugs that will not be -fixed when using this version. It is strongly recommended to upgrade -to the recommended version of MPFR. +@uref{http://www.mpfr.org/}. The @option{--with-mpfr} configure +option should be used if your MPFR Library is not installed in your +default library search path. See also @option{--with-mpfr-lib} and +@option{--with-mpfr-include}. Alternatively, if a MPFR source +distribution is found in a subdirectory of your GCC sources named +@file{mpfr}, it will be built together with GCC@. -The @option{--with-mpfr} configure option should be used if your MPFR -Library is not installed in your default library search path. See -also @option{--with-mpfr-lib} and @option{--with-mpfr-include}. +@item Parma Polyhedra Library (PPL) version 0.10 + +Necessary to build GCC with the Graphite loop optimizations. +It can be downloaded from @uref{http://www.cs.unipr.it/ppl/Download/}. + +The @option{--with-ppl} configure option should be used if PPL is not +installed in your default library search path. + +@item CLooG-PPL version 0.15 + +Necessary to build GCC with the Graphite loop optimizations. It can +be downloaded from @uref{ftp://gcc.gnu.org/pub/gcc/infrastructure/}. +The code in @file{cloog-ppl-0.15.tar.gz} comes from a branch of CLooG +available from @uref{http://repo.or.cz/w/cloog-ppl.git}. CLooG-PPL +should be configured with @option{--with-ppl}. + +The @option{--with-cloog} configure option should be used if CLooG is +not installed in your default library search path. @item @command{jar}, or InfoZIP (@command{zip} and @command{unzip}) @@ -386,7 +405,7 @@ Necessary to build GCC during development because the generated output files are not included in the SVN repository. They are included in releases. -@item Texinfo version 4.4 (or later) +@item Texinfo version 4.7 (or later) Necessary for running @command{makeinfo} when modifying @file{*.texi} files to test your changes. @@ -441,6 +460,17 @@ the GCC-specific entry point. You can download a suitable jar from @uref{ftp://sourceware.org/pub/java/}, or by running the script @command{contrib/download_ecj}. +@item antlr.jar version 2.7.1 (or later) +@itemx antlr binary + +If you wish to build the @command{gjdoc} binary in libjava, you will +need to have an @file{antlr.jar} library available. The library is +searched in system locations but can be configured with +@option{--with-antlr-jar=} instead. When configuring with +@option{--enable-java-maintainer-mode}, you will need to have one of +the executables named @command{cantlr}, @command{runantlr} or +@command{antlr} in your path. + @end table @html @@ -495,6 +525,12 @@ components of the binutils you intend to build alongside the compiler (@file{bfd}, @file{binutils}, @file{gas}, @file{gprof}, @file{ld}, @file{opcodes}, @dots{}) to the directory containing the GCC sources. +Likewise, the GMP and MPFR libraries can be automatically built together +with GCC. Unpack the GMP and/or MPFR source distributions in the +directory containing the GCC sources and rename their directories to +@file{gmp} and @file{mpfr}, respectively (or use symbolic links with the +same name). + @html
@@ -611,7 +647,7 @@ provide a configure target when configuring a native compiler. @item @var{target} must be specified as @option{--target=@var{target}} when configuring a cross compiler; examples of valid targets would be -m68k-coff, sh-elf, etc. +m68k-elf, sh-elf, etc. @item Specifying just @var{target} instead of @option{--target=@var{target}} @@ -684,8 +720,9 @@ manual.) @item --with-gxx-include-dir=@var{dirname} Specify -the installation directory for G++ header files. The default is -@file{@var{prefix}/include/c++/@var{version}}. +the installation directory for G++ header files. The default depends +on other configuration options, and differs between cross and native +configurations. @end table @@ -845,10 +882,6 @@ whether you use the GNU assembler. On any other system, @item @samp{sparc64-@var{any}-solaris2.@var{any}} @end itemize -On the systems listed above (except for the HP-PA, the SPARC, for ISC on -the 386, if you use the GNU assembler, you should also use the GNU linker -(and specify @option{--with-gnu-ld}). - @item @anchor{with-as}--with-as=@var{pathname} Specify that the compiler should use the assembler pointed to by @var{pathname}, rather than the one found by the standard rules to find @@ -950,6 +983,57 @@ sysv, aix. @end table +@item --with-multilib-list=@var{list} +@itemx --without-multilib-list +Specify what multilibs to build. +Currently only implemented for sh*-*-*. + +@var{list} is a comma separated list of CPU names. These must be of the +form @code{sh*} or @code{m*} (in which case they match the compiler option +for that processor). The list should not contain any endian options - +these are handled by @option{--with-endian}. + +If @var{list} is empty, then there will be no multilibs for extra +processors. The multilib for the secondary endian remains enabled. + +As a special case, if an entry in the list starts with a @code{!} +(exclamation point), then it is added to the list of excluded multilibs. +Entries of this sort should be compatible with @samp{MULTILIB_EXCLUDES} +(once the leading @code{!} has been stripped). + +If @option{--with-multilib-list} is not given, then a default set of +multilibs is selected based on the value of @option{--target}. This is +usually the complete set of libraries, but some targets imply a more +specialized subset. + +Example 1: to configure a compiler for SH4A only, but supporting both +endians, with little endian being the default: +@smallexample +--with-cpu=sh4a --with-endian=little,big --with-multilib-list= +@end smallexample + +Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with +only little endian SH4AL: +@smallexample +--with-cpu=sh4a --with-endian=little,big --with-multilib-list=sh4al,!mb/m4al +@end smallexample + +@item --with-endian=@var{endians} +Specify what endians to use. +Currently only implemented for sh*-*-*. + +@var{endians} may be one of the following: +@table @code +@item big +Use big endian exclusively. +@item little +Use little endian exclusively. +@item big,little +Use big endian by default. Provide a multilib for little endian. +@item little,big +Use little endian by default. Provide a multilib for big endian. +@end table + @item --enable-threads Specify that the target supports threads. This affects the Objective-C compiler and runtime @@ -1027,8 +1111,8 @@ Specify which cpu variant the compiler should generate code for by default. This option is only supported on some targets, including ARM, i386, M68k, PowerPC, and SPARC@. The @option{--with-cpu-32} and @option{--with-cpu-64} options specify separate default CPUs for -32-bit and 64-bit modes; these options are only supported for i386 and -x86-64. +32-bit and 64-bit modes; these options are only supported for i386, +x86-64 and PowerPC. @item --with-schedule=@var{cpu} @itemx --with-arch=@var{cpu} @@ -1075,6 +1159,12 @@ not provide them. On MIPS targets, make @option{-mno-llsc} the default when no @option{-mllsc} option is passed. +@item --with-mips-plt +On MIPS targets, make use of copy relocations and PLTs. +These features are extensions to the traditional +SVR4-based MIPS ABIs and require support from GNU binutils +and the runtime C library. + @item --enable-__cxa_atexit Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. @@ -1275,7 +1365,8 @@ consistency checks of the requested complexity. This does not change the generated code, but adds error checking within the compiler. This will slow down the compiler and may only work properly if you are building the compiler with GCC@. This is @samp{yes} by default when building -from SVN or snapshots, but @samp{release} for releases. More control +from SVN or snapshots, but @samp{release} for releases. The default +for building the stage1 compiler is @samp{yes}. More control over the checks may be had by specifying @var{list}. The categories of checks available are @samp{yes} (most common checks @samp{assert,misc,tree,gc,rtlflag,runtime}), @samp{no} (no checks at @@ -1294,6 +1385,19 @@ assertions will make the compiler and runtime slightly faster but increase the risk of undetected internal errors causing wrong code to be generated. +@item --disable-stage1-checking +@item --enable-stage1-checking +@itemx --enable-stage1-checking=@var{list} +If no @option{--enable-checking} option is specified the stage1 +compiler will be built with @samp{yes} checking enabled, otherwise +the stage1 checking flags are the same as specified by +@option{--enable-checking}. To build the stage1 compiler with +different checking options use @option{--enable-stage1-checking}. +The list of checking options is the same as for @option{--enable-checking}. +If your system is too slow or too small to bootstrap a released compiler +with checking for stage1 enabled, you can use @samp{--disable-stage1-checking} +to disable checking for the stage1 compiler. + @item --enable-coverage @itemx --enable-coverage=@var{level} With this option, the compiler is built to collect self coverage @@ -1398,11 +1502,48 @@ GCC, you can explicitly specify the directory where they are installed shorthand assumptions are not correct, you can use the explicit include and lib options directly. +@item --with-ppl=@var{pathname} +@itemx --with-ppl-include=@var{pathname} +@itemx --with-ppl-lib=@var{pathname} +@itemx --with-cloog=@var{pathname} +@itemx --with-cloog-include=@var{pathname} +@itemx --with-cloog-lib=@var{pathname} +If you do not have PPL (the Parma Polyhedra Library) and the CLooG +libraries installed in a standard location and you want to build GCC, +you can explicitly specify the directory where they are installed +(@samp{--with-ppl=@var{pplinstalldir}}, +@samp{--with-cloog=@var{clooginstalldir}}). The +@option{--with-ppl=@var{pplinstalldir}} option is shorthand for +@option{--with-ppl-lib=@var{pplinstalldir}/lib} and +@option{--with-ppl-include=@var{pplinstalldir}/include}. Likewise the +@option{--with-cloog=@var{clooginstalldir}} option is shorthand for +@option{--with-cloog-lib=@var{clooginstalldir}/lib} and +@option{--with-cloog-include=@var{clooginstalldir}/include}. If these +shorthand assumptions are not correct, you can use the explicit +include and lib options directly. + +@item --with-host-libstdcxx=@var{linker-args} +If you are linking with a static copy of PPL, you can use this option +to specify how the linker should find the standard C++ library used +internally by PPL. Typical values of @var{linker-args} might be +@samp{-lstdc++} or @samp{-Wl,-Bstatic,-lstdc++,-Bdynamic -lm}. If you are +linking with a shared copy of PPL, you probably do not need this +option; shared library dependencies will cause the linker to search +for the standard C++ library automatically. + @item --with-debug-prefix-map=@var{map} Convert source directory names using @option{-fdebug-prefix-map} when building runtime libraries. @samp{@var{map}} is a space-separated list of maps of the form @samp{@var{old}=@var{new}}. +@item --enable-linker-build-id +Tells GCC to pass @option{--build-id} option to the linker for all final +links (links performed without the @option{-r} or @option{--relocatable} +option), if the linker supports it. If you specify +@option{--enable-linker-build-id}, but your linker does not +support @option{--build-id} option, a warning is issued and the +@option{--enable-linker-build-id} option is ignored. The default is off. + @end table @subheading Cross-Compiler-Specific Options @@ -1472,7 +1613,7 @@ that will be used while building GCC itself. This option can be useful if the directory layouts are different between the system you are building GCC on, and the system where you will deploy it. -For example, on a @option{ia64-hp-hpux} system, you may have the GNU +For example, on an @samp{ia64-hp-hpux} system, you may have the GNU assembler and linker in @file{/usr/bin}, and the native tools in a different path, and build a toolchain that expects to find the native tools in @file{/usr/bin}. @@ -1575,6 +1716,13 @@ these options. This allows the compile-time linker to resolve dependencies when statically linking to libgcj. However it makes it impossible to override the affected portions of libgcj at run-time. +@item --enable-reduced-reflection +Build most of libgcj with @option{-freduced-reflection}. This reduces +the size of libgcj at the expense of not being able to do accurate +reflection on the classes it contains. This option is safe if you +know that code using libgcj will never use reflection on the standard +runtime classes in libgcj (including using serialization, RMI or CORBA). + @item --with-ecos Enable runtime eCos target support. @@ -1607,6 +1755,45 @@ Use installed @samp{zlib} rather than that included with GCC@. @item --with-win32-nlsapi=ansi, unicows or unicode Indicates how MinGW @samp{libgcj} translates between UNICODE characters and the Win32 API@. + +@item --enable-java-home +If enabled, this creates a JPackage compatible SDK environment during install. +Note that if --enable-java-home is used, --with-arch-directory=ARCH must also +be specified. + +@item --with-arch-directory=ARCH +Specifies the name to use for the @file{jre/lib/ARCH} directory in the SDK +environment created when --enable-java-home is passed. Typical names for this +directory include i386, amd64, ia64, etc. + +@item --with-os-directory=DIR +Specifies the OS directory for the SDK include directory. This is set to auto +detect, and is typically 'linux'. + +@item --with-origin-name=NAME +Specifies the JPackage origin name. This defaults to the 'gcj' in +java-1.5.0-gcj. + +@item --with-arch-suffix=SUFFIX +Specifies the suffix for the sdk directory. Defaults to the empty string. +Examples include '.x86_64' in 'java-1.5.0-gcj-1.5.0.0.x86_64'. + +@item --with-jvm-root-dir=DIR +Specifies where to install the SDK. Default is $(prefix)/lib/jvm. + +@item --with-jvm-jar-dir=DIR +Specifies where to install jars. Default is $(prefix)/lib/jvm-exports. + +@item --with-python-dir=DIR +Specifies where to install the Python modules used for aot-compile. DIR should +not include the prefix used in installation. For example, if the Python modules +are to be installed in /usr/lib/python2.5/site-packages, then +--with-python-dir=/lib/python2.5/site-packages should be passed. If this is +not specified, then the Python modules are installed in $(prefix)/share/python. + +@item --enable-aot-compile-rpm +Adds aot-compile-rpm to the list of installed scripts. + @table @code @item ansi Use the single-byte @code{char} and the Win32 A functions natively, @@ -1726,7 +1913,7 @@ build machinery, not of GCC itself) that is used even if you only build the C front end. When building from SVN or snapshots, or if you modify Texinfo -documentation, you need version 4.4 or later of Texinfo installed if you +documentation, you need version 4.7 or later of Texinfo installed if you want Info documentation to be regenerated. Releases contain Info documentation pre-built for the unmodified documentation in the release. @@ -2323,7 +2510,7 @@ If you find a bug, please report it following the @uref{../bugs.html,,bug reporting guidelines}. If you want to print the GCC manuals, do @samp{cd @var{objdir}; make -dvi}. You will need to have @command{texi2dvi} (version at least 4.4) +dvi}. You will need to have @command{texi2dvi} (version at least 4.7) and @TeX{} installed. This creates a number of @file{.dvi} files in subdirectories of @file{@var{objdir}}; these may be converted for printing with programs such as @command{dvips}. Alternately, by using @@ -2376,7 +2563,7 @@ AIX: @uref{http://www.bullfreeware.com,,Bull's Freeware and Shareware Archive for AIX}; @item -@uref{http://pware.hvcc.edu,,Hudson Valley Community College Open Source Softeware for IBM System p}; +@uref{http://pware.hvcc.edu,,Hudson Valley Community College Open Source Software for IBM System p}; @item @uref{http://www.perzl.org/aix,,AIX 5L and 6 Open Source Packages}. @@ -2492,8 +2679,6 @@ information are. @uref{#arc-x-elf,,arc-*-elf} @item @uref{#arm-x-elf,,arm-*-elf} -@uref{#arm-x-coff,,arm-*-coff} -@uref{#arm-x-aout,,arm-*-aout} @item @uref{#avr,,avr} @item @@ -2585,9 +2770,9 @@ information are. @item @uref{#x86-64-x-x,,x86_64-*-*, amd64-*-*} @item -@uref{#xtensa-x-elf,,xtensa-*-elf} +@uref{#xtensa-x-elf,,xtensa*-*-elf} @item -@uref{#xtensa-x-linux,,xtensa-*-linux*} +@uref{#xtensa-x-linux,,xtensa*-*-linux*} @item @uref{#windows,,Microsoft Windows} @item @@ -2595,7 +2780,7 @@ information are. @item @uref{#x-x-interix,,*-*-interix} @item -@uref{#x-x-mingw,,*-*-mingw} +@uref{#x-x-mingw32,,*-*-mingw32} @item @uref{#os2,,OS/2} @item @@ -2670,14 +2855,6 @@ the system header file @file{/usr/include/stamp.h}. If you install a new version of DEC Unix, you should rebuild GCC to pick up the new version stamp. -Note that since the Alpha is a 64-bit architecture, cross-compilers from -32-bit machines will not generate code as efficient as that generated -when the compiler is running on a 64-bit machine because many -optimizations that depend on being able to represent a word on the -target in an integral value on the host cannot be performed. Building -cross-compilers on the Alpha for 32-bit machines has only been tested in -a few cases and may not work properly. - @samp{make compare} may fail on old versions of DEC Unix unless you add @option{-save-temps} to @code{BOOT_CFLAGS}. On these systems, the name of the assembler input file is stored in the object file, and that makes @@ -2725,21 +2902,6 @@ and @code{arm-*-rtems}. @html