Changeset 800c9c3 for general/prog
- Timestamp:
- 09/12/2005 02:48:14 AM (19 years ago)
- Branches:
- 10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 12.2, 6.2, 6.2.0, 6.2.0-rc1, 6.2.0-rc2, 6.3, 6.3-rc1, 6.3-rc2, 6.3-rc3, 7.10, 7.4, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gimp3, gnome, kde5-13430, kde5-14269, kde5-14686, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, krejzi/svn, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, systemd-11177, systemd-13485, trunk, upgradedb, xry111/for-12.3, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/spidermonkey128, xry111/test-20220226, xry111/xf86-video-removal
- Children:
- b9950b00
- Parents:
- 2f5888f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
general/prog/gcc.xml
r2f5888f r800c9c3 5 5 %general-entities; 6 6 7 <!ENTITY gcc-download-http "http:// mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">7 <!ENTITY gcc-download-http "http://ftp.gnu.org/gnu/gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2"> 8 8 <!ENTITY gcc-download-ftp "ftp://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2"> 9 <!ENTITY gcc-md5sum " b594ff4ea4fbef4ba9220887de713dfe">10 <!ENTITY gcc-size " 27.5MB">11 <!ENTITY gcc-buildsize " 1.6GB">12 <!ENTITY gcc-time " 46SBU (build, test and install all compilers)">9 <!ENTITY gcc-md5sum "947416e825a877a0d69489be1be43be1"> 10 <!ENTITY gcc-size "31.7 MB"> 11 <!ENTITY gcc-buildsize "2.2 GB"> 12 <!ENTITY gcc-time "67 SBU (build, test and install all compilers)"> 13 13 14 14 <!ENTITY gnat-download-http "http://anduin.linuxfromscratch.org/sources/BLFS/SVN/F-H/gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.bz2"> … … 31 31 32 32 <indexterm zone="gcc"> 33 <primary sortas="a-gcc- 3-4">GCC-&gcc-version;</primary>33 <primary sortas="a-gcc-4-0">GCC-&gcc-version;</primary> 34 34 </indexterm> 35 35 … … 38 38 39 39 <para>The <application>GCC</application> package contains GNU compilers. 40 This is useful for compiling programs written in <application>C</application>, 41 <application>C++</application>, <application>Fortran</application>, 42 <application>Java</application>, <application>Objective C</application> and 43 <application>Ada</application>.</para> 40 This package is useful for compiling programs written in C, C++, Fortran, 41 Java, Objective C and Ada. Also included is GNU Treelang. Treelang is a 42 sample language, useful only to help people understand how to implement a 43 new language front end to GCC. It is not a useful language in itself other 44 than as an example or basis for building a new language. Therefore only 45 language developers are likely to have an interest in it.</para> 46 47 <note> 48 <para>The Fortran compiler included with the 49 <application>GCC</application>-4.x package now aims to be conformant 50 with the Fortran 95 standard, not the Fortran 77 standard as all previous 51 versions of <application>GCC</application> have been. Please note the 52 following paragraph copied directly from the 53 <application>GCC</application>-&gcc-version; <command>gfortran</command> 54 man page.</para> 55 56 <para><quote>Gfortran is not yet a fully conformant Fortran 95 compiler. 57 It can generate code for most constructs and expressions, but work 58 remains to be done. In particular, there are known deficiencies with 59 ENTRY, NAMELIST, and sophisticated use of MODULES, POINTERS and DERIVED 60 TYPES. For those whose Fortran codes conform to either the Fortran 77 61 standard or the GNU Fortran 77 language, we recommend to use 62 <command>g77</command> from <application>GCC</application> 63 3.4.</quote></para> 64 </note> 44 65 45 66 <bridgehead renderas="sect3">Package Information</bridgehead> … … 65 86 </itemizedlist> 66 87 88 <!-- 67 89 <bridgehead renderas="sect3">Additional Downloads</bridgehead> 68 90 <itemizedlist spacing='compact'> … … 76 98 </listitem> 77 99 </itemizedlist> 100 --> 78 101 79 102 <bridgehead renderas="sect3">GCC Dependencies</bridgehead> … … 81 104 <bridgehead renderas="sect4">Recommended</bridgehead> 82 105 <para><xref linkend="dejagnu"/></para> 106 107 <bridgehead renderas="sect4">Optional (Required to Build the Fortran 108 Compiler)</bridgehead> 109 <para><xref linkend="gmp"/> and 110 <ulink url="http://www.mpfr.org/">MPFR</ulink></para> 83 111 84 112 <note> … … 89 117 </note> 90 118 91 <bridgehead renderas="sect3"> Package Information</bridgehead>119 <bridgehead renderas="sect3">GNAT-3.15 Package Information</bridgehead> 92 120 <itemizedlist spacing="compact"> 93 121 <listitem> … … 133 161 <para>In response to the questions asked by the <command>doconfig</command> 134 162 script, enter <userinput>3</userinput> in response to the first question 135 and <userinput>/opt/gnat</userinput> in response to the second question.</para> 136 137 <para>To finish the install, run the following command as the 163 and <userinput>/opt/gnat</userinput> in response to the second 164 question.</para> 165 166 <para>To finish the installation, run the following command as the 138 167 <systemitem class="username">root</systemitem> user:</para> 139 168 … … 151 180 152 181 <para>Prepare to compile <application>GCC</application> by placing the 153 <application>GNAT</application> <command>gcc</command> at the beginning of 154 the <envar>PATH</envar> variable by using the following commands:</para> 182 <application>GNAT</application> version of <command>gcc</command> at the 183 beginning of the <envar>PATH</envar> variable by using the following 184 commands:</para> 155 185 156 186 <screen><userinput>PATH_HOLD=$PATH && … … 167 197 <important> 168 198 <para>The installation process may overwrite your existing 169 <application>GCC</application> compiler and libraries. It 170 is highly recommended that you have the <application>Tcl</application>, 199 <application>GCC</application> <command>gcc</command> and 200 <command>c++</command> compilers and libraries. It is highly recommended 201 that you have the <application>Tcl</application>, 171 202 <application>Expect</application> and <application>DejaGnu</application> 172 203 packages installed before beginning the build so you can run the full … … 177 208 test results with those found at 178 209 <ulink url="http://gcc.gnu.org/ml/gcc-testresults/"/>. There's also an 179 i686 platform test result produced by an LFS-SVN-20050 730system at180 <ulink url="http://linuxfromscratch.org/~randy/gcc 344_test.txt"/>. You210 i686 platform test result produced by an LFS-SVN-20050831 system at 211 <ulink url="http://linuxfromscratch.org/~randy/gcc401_test.txt"/>. You 181 212 may also want to refer to the information found in the 182 <application>GCC</application>-Pass 2 section of Chapter 5 in the LFS book 183 (<ulink url="&lfs-root;/chapter05/gcc-pass2.html"/>).</para> 213 <application>GCC</application>-Pass 2 section of Chapter 5 in the LFS 214 book (<ulink url="&lfs-root;/chapter05/gcc-pass2.html"/>). Bottom line 215 is that this version of <application>GCC</application> should exhibit 216 no errors other than six errors in the 217 <filename class='libraryfile'>libmudflap</filename> tests.</para> 184 218 </important> 185 219 186 <screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch && 187 patch -Np1 -i ../gcc-&gcc-version;-linkonce-1.patch && 188 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && 220 <screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && 189 221 mkdir ../gcc-build && 190 222 cd ../gcc-build && 191 ../gcc-&gcc-version;/configure --prefix=/usr --libexecdir=/usr/lib \ 192 --enable-shared --enable-threads=posix --enable-__cxa_atexit \ 193 --enable-clocale=gnu --enable-languages=c,c++,objc,f77,ada,java && 223 ../gcc-&gcc-version;/configure \ 224 --prefix=/usr \ 225 --libexecdir=/usr/lib \ 226 --enable-shared \ 227 --enable-threads=posix \ 228 --enable-__cxa_atexit \ 229 --enable-clocale=gnu \ 230 --enable-languages=c,c++,objc,f95,ada,java,treelang && 194 231 make bootstrap && 195 make -C gcc gnatlib-shared &&196 make -C gcc gnattools &&197 232 make -k check && 198 233 ../gcc-&gcc-version;/contrib/test_summary</userinput></screen> … … 203 238 ln -v -sf ../usr/bin/cpp /lib && 204 239 ln -v -sf gcc /usr/bin/cc && 205 ln -v -sf g77 /usr/bin/f77 &&206 240 chown -v -R root:root \ 207 241 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include && … … 217 251 <screen role="root"><userinput>ln -v -sf `find /usr/lib/gcc -name ffitarget.h` /usr/include</userinput></screen> 218 252 219 <!--220 <para>There is a bug in the installation of the221 <filename class='libraryfile'>libffi</filename> interface headers. The222 architecture specific <filename>ffitarget.h</filename> file is not installed.223 If you included Java as one of the installed languages, install the missing224 file using the command below. Substitute for the225 <replaceable>[arch]</replaceable> in the command with the appropriate226 directory path for your system.</para>227 228 <screen role="root"><userinput>install -v -m644 ../gcc-&gcc-version;/libffi/src/<replaceable>[arch]</replaceable>/ffitarget.h \229 /usr/include</userinput></screen>230 -->231 232 253 <para>As the <systemitem class="username">root</systemitem> user, remove the 233 254 <application>GNAT</application> installation:</para> … … 241 262 unset PATH_HOLD</userinput></screen> 242 263 264 <!-- 243 265 <note> 244 266 <para>Some of the <application>Java</application> programs installed by … … 252 274 <envar>PATH</envar> variable.</para> 253 275 </note> 276 --> 254 277 255 278 </sect2> … … 259 282 260 283 <para><command>sed -i 's/install_to_$(INSTALL_DEST) //' 261 libiberty/Makefile.in</command>: This command suppresses the installation of262 <filename class='libraryfile'>libiberty.a</filename> as the version provided263 by <application>Binutils</application> is used instead.</para>284 libiberty/Makefile.in</command>: This command suppresses the installation 285 of <filename class='libraryfile'>libiberty.a</filename> as the version 286 provided by <application>Binutils</application> is used instead.</para> 264 287 265 288 <para><command>mkdir ../gcc-build; cd ../gcc-build</command>: The … … 268 291 269 292 <para><parameter>--enable-shared --enable-threads=posix 270 --enable-__cxa_atexit</parameter>: These commands are required to build293 --enable-__cxa_atexit</parameter>: These parameters are required to build 271 294 the <application>C++</application> libraries to published standards.</para> 272 295 … … 274 297 failsafe for incomplete locale data.</para> 275 298 276 <para><parameter>--enable-languages=c,c++,objc,f77,ada,java</parameter>: 299 <para> 300 <parameter>--enable-languages=c,c++,objc,f95,ada,java,treelang</parameter>: 277 301 This command identifies which languages to build. You may modify this command 278 302 to remove undesired languages.</para> 279 303 304 <!-- 280 305 <para><command>make -C gcc gnatlib-shared</command>: This command builds the 281 306 Ada shared and static libraries. Skip this step if you have not enabled … … 285 310 Ada development tools and binaries. Skip this step if you have not enabled 286 311 Ada as one of the languages.</para> 312 --> 287 313 288 314 <para><command>make -k check</command>: This command runs the test suite 289 without stopping should any errors be encountered.</para>315 without stopping if any errors are encountered.</para> 290 316 291 317 <para><command>../gcc-&gcc-version;/contrib/test_summary</command>: This 292 318 command will produce a summary of the test suite results. You can append 293 319 <command>| grep -A7 Summ</command> to the command to produce an even more 294 condensed version of the summary. You may also wish to redirect the output to 295 a file for review and comparison later on.</para> 296 297 <para><command>ln -sf ../usr/bin/cpp /lib</command>: This command creates a 298 link to the C PreProcessor as some packages expect it to be installed in the 299 <filename class='directory'>/lib</filename> directory.</para> 300 301 <para><command>ln -sf gcc /usr/bin/cc; ln -sf g77 /usr/bin/f77</command>: 302 These links are created as some packages refer to the C and Fortran compilers 303 using an alternate name.</para> 304 305 <para><command>chown -R root:root /usr/lib/gcc/i686-pc-linux-gnu/...</command>: 320 condensed version of the summary. You may also wish to redirect the output 321 to a file for review and comparison later on.</para> 322 323 <para><command>ln -v -sf ../usr/bin/cpp /lib</command>: This command 324 creates a link to the C PreProcessor as some packages expect it to be 325 installed in the <filename class='directory'>/lib</filename> 326 directory.</para> 327 328 <para><command>ln -v -sf gcc /usr/bin/cc</command>: This link is created as 329 some packages refer to the C compiler using an alternate name.</para> 330 331 <para><command>chown -v -R root:root 332 /usr/lib/gcc/i686-pc-linux-gnu/...</command>: 306 333 If the package is built by a user other than root, the ownership of the 307 334 installed <filename class='directory'>include</filename> and 308 335 <filename class='directory'>adalib</filename> directories (and their 309 contents) will be incorrect. These commands change the ownership to 310 root:root. Omit the command changing the Ada directories if you did not 311 include Ada as one of the installed languages.</para> 336 contents) will be incorrect. These commands change the ownership to the 337 <systemitem class="username">root</systemitem> user and group . Omit the 338 command changing the Ada directories if you did not include Ada as one of 339 the installed languages.</para> 312 340 313 341 </sect2> … … 322 350 323 351 <seglistitem> 324 <seg>addr2name.awk, cc, c++, cpp, f77, g++, g77, gcc, gccbug, gcj, gcjh, gcov, 325 gij, gnat, gnatbind, gnatbl, gnatchop, gnatclean, gnatfind, gnatkr, gnatlink, 326 gnatls, gnatmake, gnatname, gnatprep, gnatxref, gpr2make, gprcmd, grepjar, 327 jar, jcf-dump, jv-convert, jv-scan, rmic, rmiregistry and architecture 328 specific names for c++, g++, gcc, gcc-&gcc-version;, gcj, and gcjh</seg> 329 <seg>lib-org-w3c-dom.[so,a], lib-org-xml-sax.[so,a], libffi-2.00-beta.so, 330 libffi.[so,a], libfrtbegin.a, libg2c.[so,a], libgcc_s.so, libgcj.[so,a], 331 libobjc.[so,a], libstdc++.[so.6,a], libsupc++.a, and numerous other run-time 332 libraries and executables in /usr/lib/gcc</seg> 333 <seg>/usr/include/c++, /usr/include/gcj, /usr/include/gnu, /usr/include/java, 334 /usr/include/javax, /usr/lib/gcc, /usr/lib/security, /usr/share/gnat, and 335 /usr/share/java</seg> 352 <seg>addr2name.awk, fastjar, gcj, gcj-dbtool,gcjh, gfortran, gij, 353 gjnih, gnat, gnatbind, gnatbl, gnatchop, gnatclean, gnatfind, gnatkr, 354 gnatlink, gnatls, gnatmake, gnatname, gnatprep, gnatxref, gprmake, 355 grepjar, grmic, grmiregistry, gtreelang, jcf-dump, jv-convert, jv-scan 356 and architecture specific names for gcj and gcjh</seg> 357 <seg>libffi.[so,a], libgcj.[so,a], libgfortran.[so,a], 358 libgfortranbegin.a, libgij.[so,a], libobjc.[so,a] and numerous other 359 run-time libraries and executables in /usr/lib/gcc</seg> 360 <seg>/usr/include/c++/4.0.1/gcj, 361 /usr/include/c++/4.0.1/gnu, 362 /usr/include/c++/4.0.1/java, 363 /usr/include/c++/4.0.1/javax, 364 /usr/include/c++/4.0.1/org, 365 /usr/lib/gcc/i686-pc-linux-gnu/4.0.1/adainclude, 366 /usr/lib/gcc/i686-pc-linux-gnu/4.0.1/adalib, 367 /usr/lib/gcj-4.0.1, 368 /usr/lib/security 369 and /usr/share/java</seg> 336 370 </seglistitem> 337 371 </segmentedlist> 372 373 <para>Some program and library names and descriptions are not listed here, 374 but can be found at 375 <ulink url="&lfs-root;/chapter06/gcc.html#contents-gcc"/> as they were 376 initially installed during the building of LFS.</para> 338 377 339 378 <variablelist> … … 342 381 <?dbhtml list-presentation="table"?> 343 382 344 <para>Some program and library descriptions are not listed here, but can be345 found at <ulink url="&lfs-root;/chapter06/gcc.html#contents-gcc"/>.</para>346 347 383 <varlistentry id="addr2name.awk"> 348 384 <term><command>addr2name.awk</command></term> … … 355 391 </varlistentry> 356 392 357 <varlistentry id="f77"> 358 <term><command>f77</command></term> 359 <listitem> 360 <para>is a symlink to <command>g77</command>, created for 361 compatibility purposes.</para> 362 <indexterm zone="gcc f77"> 363 <primary sortas="g-f77">f77</primary> 364 </indexterm> 365 </listitem> 366 </varlistentry> 367 368 <varlistentry id="g77"> 369 <term><command>g77</command></term> 370 <listitem> 371 <para>is the <application>Fortran</application> compiler invoked by 372 <command>gcc</command>.</para> 373 <indexterm zone="gcc g77"> 374 <primary sortas="b-g77">g77</primary> 393 <varlistentry id="fastjar-gcc"> 394 <term><command>fastjar</command></term> 395 <listitem> 396 <para>is an archive tool for <application>Java</application> archives.</para> 397 <indexterm zone="gcc fastjar-gcc"> 398 <primary sortas="b-fastjar">fastjar</primary> 375 399 </indexterm> 376 400 </listitem> … … 388 412 </varlistentry> 389 413 414 <varlistentry id="gcj-dbtool"> 415 <term><command>gcj-dbtool</command></term> 416 <listitem> 417 <para>is a tool for creating and manipulating class file mapping 418 databases.</para> 419 <indexterm zone="gcc gcj-dbtool"> 420 <primary sortas="b-gcj-dbtool">gcj-dbtool</primary> 421 </indexterm> 422 </listitem> 423 </varlistentry> 424 390 425 <varlistentry id="gcjh"> 391 426 <term><command>gcjh</command></term> … … 399 434 </varlistentry> 400 435 436 <varlistentry id="gfortran"> 437 <term><command>gfortran</command></term> 438 <listitem> 439 <para>is the <application>Fortran</application> compiler invoked by 440 <command>gcc</command>.</para> 441 <indexterm zone="gcc gfortran"> 442 <primary sortas="b-gfortran">gfortran</primary> 443 </indexterm> 444 </listitem> 445 </varlistentry> 446 401 447 <varlistentry id="gij"> 402 448 <term><command>gij</command></term> … … 410 456 </varlistentry> 411 457 458 <varlistentry id="gjnih"> 459 <term><command>gjnij</command></term> 460 <listitem> 461 <para>is used to generate JNI header files from class files. Running 462 it is equivalent to running <command>gcjh -jni</command>.</para> 463 <indexterm zone="gcc gjnih"> 464 <primary sortas="b-gjnih">gjnih</primary> 465 </indexterm> 466 </listitem> 467 </varlistentry> 468 412 469 <varlistentry id="gnat"> 413 470 <term><command>gnat</command></term> … … 545 602 </varlistentry> 546 603 547 <varlistentry id="gpr 2make">548 <term><command>gpr 2make</command></term>604 <varlistentry id="gprmake"> 605 <term><command>gprmake</command></term> 549 606 <listitem> 550 607 <para>is a tool used to create <filename>Makefile</filename>s that 551 608 support compilation by multiple languages.</para> 552 <indexterm zone="gcc gpr2make"> 553 <primary sortas="b-gpr2make">gpr2make</primary> 554 </indexterm> 555 </listitem> 556 </varlistentry> 557 558 <varlistentry id="gprcmd"> 559 <term><command>gprcmd</command></term> 560 <listitem> 561 <para>is a utility used by <filename>Makefile.generic</filename> to 562 handle multi-language builds. It provides a set of commands so that the 563 <filename>Makefile</filename>s do not need to depend on Unix utilities not 564 available on all targets.</para> 565 <indexterm zone="gcc gprcmd"> 566 <primary sortas="b-gprcmd">gprcmd</primary> 609 <indexterm zone="gcc gprmake"> 610 <primary sortas="b-gprmake">gprmake</primary> 567 611 </indexterm> 568 612 </listitem> … … 579 623 </varlistentry> 580 624 581 <varlistentry id="jar-gcc"> 582 <term><command>jar</command></term> 583 <listitem> 584 <para>is an archive tool for <application>Java</application> archives.</para> 585 <indexterm zone="gcc jar-gcc"> 586 <primary sortas="b-jar">jar</primary> 625 <varlistentry id="grmic-gcc"> 626 <term><command>grmic</command></term> 627 <listitem> 628 <para>generates stubs for Remote Method Invocation.</para> 629 <indexterm zone="gcc grmic-gcc"> 630 <primary sortas="b-grmic">grmic</primary> 631 </indexterm> 632 </listitem> 633 </varlistentry> 634 635 <varlistentry id="grmiregistry-gcc"> 636 <term><command>grmiregistry</command></term> 637 <listitem> 638 <para> starts a remote object registry on the current host.</para> 639 <indexterm zone="gcc grmiregistry-gcc"> 640 <primary sortas="b-grmiregistry">grmiregistry</primary> 641 </indexterm> 642 </listitem> 643 </varlistentry> 644 645 <varlistentry id="gtreelang"> 646 <term><command>gtreelang</command></term> 647 <listitem> 648 <para>is largely a cut down version of C, designed to showcase the 649 features of the <application>GCC</application> code generation back 650 end. Only those features that are directly supported by the 651 <application>GCC</application> code generation back end are 652 implemented. Features are implemented in a manner which is easiest 653 and clearest to implement. Not all or even most code generation back 654 end features are implemented. The intention is to add features 655 incrementally until most features of the 656 <application>GCC</application> back end are implemented in 657 Treelang.</para> 658 <indexterm zone="gcc gtreelang"> 659 <primary sortas="b-gtreelang">gtreelang</primary> 587 660 </indexterm> 588 661 </listitem> … … 621 694 </varlistentry> 622 695 623 <varlistentry id="rmic-gcc">624 <term><command>rmic</command></term>625 <listitem>626 <para>generates stubs for Remote Method Invocation.</para>627 <indexterm zone="gcc rmic-gcc">628 <primary sortas="b-rmic">rmic</primary>629 </indexterm>630 </listitem>631 </varlistentry>632 633 <varlistentry id="rmiregistry-gcc">634 <term><command>rmiregistry</command></term>635 <listitem>636 <para> starts a remote object registry on the current host.</para>637 <indexterm zone="gcc rmiregistry-gcc">638 <primary sortas="b-rmiregistry">rmiregistry</primary>639 </indexterm>640 </listitem>641 </varlistentry>642 643 696 </variablelist> 644 697
Note:
See TracChangeset
for help on using the changeset viewer.