Changeset 3b15fe6 for general/prog


Ignore:
Timestamp:
10/24/2004 10:47:54 PM (20 years ago)
Author:
Randy McMurchy <randy@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 6.0, 6.1, 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, 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/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
Children:
eb3e33b
Parents:
0b99607
Message:

Added Ada back to the GCC instructions

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@2867 af4574ff-66df-0310-9fd7-8a98e5e911e0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • general/prog/gcc.xml

    r0b99607 r3b15fe6  
    88  <!ENTITY gcc-download-ftp   "ftp://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
    99  <!ENTITY gcc-size           "27.2 MB">
    10   <!ENTITY gcc-buildsize      "1.2 GB">
    11   <!ENTITY gcc-time           "36.2 SBU">
    12 
    13 <!--  <!ENTITY gnat-download-http " ">
     10  <!ENTITY gcc-buildsize      "1.53 GB">
     11  <!ENTITY gcc-time           "48.94 SBU">
     12
     13  <!ENTITY gnat-download-http " ">
    1414  <!ENTITY gnat-download-ftp  "ftp://cs.nyu.edu/pub/gnat/3.15p/gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz">
    15   <!ENTITY gnat-size          "13.2 MB">
    16   <!ENTITY gnat-buildsize     "48.9 MB">
    17   <!ENTITY gnat-time          "0.01 SBU"> -->
     15  <!ENTITY gnat-size          "13.5 MB">
     16  <!ENTITY gnat-buildsize     "48 MB">
     17  <!ENTITY gnat-time          "0.01 SBU">
    1818]>
    1919
     
    2929<title>Introduction to <application><acronym>GCC</acronym></application></title>
    3030
    31 <para>The <application><acronym>GCC</acronym></application> package
    32 contains <acronym>GNU</acronym> compilers. This is useful for
    33 <!-- compiling programs written in <application>Ada</application>, -->
    34 compiling programs written in
    35 <application>C</application>, <application>C++</application>,
    36 <application>Fortran</application>, <application>Java</application> and
    37 <application>Objective C</application>. The
    38 <application><acronym>GCC</acronym></application> package also contains an
    39 <application>Ada</application> compiler, however, the installation
    40 documentation is flawed and all the <application>Ada</application> tools cannot
    41 be built using conventional methods.</para>
     31<para>The <application><acronym>GCC</acronym></application> package contains
     32<acronym>GNU</acronym> compilers. This is useful for compiling programs
     33written in <application>C</application>, <application>C++</application>,
     34<application>Fortran</application>, <application>Java</application>,
     35<application>Objective C</application> and
     36<application>Ada</application>.</para>
    4237
    4338<sect3><title>Package Information</title>
     
    7873<title>Installation of <application><acronym>GCC</acronym></application></title>
    7974
    80 <!-- <para>If you plan to compile Ada, you will need to install
     75<para>If you plan to compile Ada, you will need to install
    8176<application><acronym>GNAT</acronym></application> temporarily to
    8277satisfy the circular dependency when you recompile
     
    130125script.</para>
    131126
     127<para>Prepare to compile <application>GCC</application> by placing the
     128<application>GNAT</application> <command>gcc</command> at the beginning of
     129the <envar>PATH</envar> variable by using the following commands:</para>
     130
     131<screen><userinput><command>PATH_HOLD=$PATH &amp;&amp;
     132export PATH=/opt/gnat/bin:$PATH</command></userinput></screen>
     133
    132134</sect2>
    133135
     
    135137<application><acronym>GCC</acronym></application></title>
    136138
    137 <screen><userinput><command>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch &amp;&amp;
    138 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in &amp;&amp;
    139 PATH_HOLD=$PATH &amp;&amp;
    140 export PATH=/opt/gnat/bin:$PATH &amp;&amp;
    141 cd gcc/ada &amp;&amp;
    142 touch treeprs.ads [es]info.h nmake.ad[bs] &amp;&amp;
    143 cd ../.. &amp;&amp;
    144 mkdir ../gcc-build &amp;&amp;
    145 cd ../gcc-build &amp;&amp;
    146 CC=/usr/bin/gcc ../gcc-&gcc-version;/configure -prefix=/usr -enable-shared \
    147 ../gcc-&gcc-version;/configure -prefix=/usr -libexecdir=/usr/lib \
    148     -enable-shared -enable-languages=c,c++,objc,f77,java \
    149     -enable-threads=posix -enable-__cxa_atexit -enable-clocale=gnu &amp;&amp;
    150 make bootstrap &amp;&amp;
    151 make -C gcc gnatlib_and_tools &amp;&amp;
    152 make -k check &amp;&amp;
    153 ../gcc-3.4.1/contrib/test_summary &amp;&amp;
    154 ../gcc-3.4.1/contrib/test_summary | grep -A7 Summ &amp;&amp;
    155 make install &amp;&amp;
    156 ln -sf ../usr/bin/cpp /lib &amp;&amp;
    157 ln -sf gcc /usr/bin/cc &amp;&amp;
    158 ln -sf g77 /usr/bin/f77 &amp;&amp;
    159 chown -R root:root /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include &amp;&amp;
    160 export PATH=$PATH_HOLD</command></userinput></screen>
    161 
    162 <para>You may remove the <application><acronym>GNAT</acronym></application>
    163 installation:</para>
    164 <screen><userinput><command>rm -rf /opt/gnat</command></userinput></screen> -->
     139<para>Install <application><acronym>GCC</acronym></application> by running the
     140following commands:</para>
    165141
    166142<important><para>The installation process may overwrite your existing
     
    176152with those found at <ulink
    177153url="http://gcc.gnu.org/ml/gcc-testresults/"/>. There's also an i686 platform
    178 test result produced by an <acronym>LFS</acronym> (SVN-testing-040712) system
    179 at <ulink url="http://www.linuxfromscratch.org/~randy/gcc-test.txt"/>. You may
    180 also want to refer to the information found in the
     154test result produced by an <acronym>LFS</acronym> (6.0-testing-20041003) system
     155at <ulink url="http://www.linuxfromscratch.org/~randy/gcc341_test.txt"/>. You
     156may also want to refer to the information found in the
    181157<application><acronym>GCC</acronym></application>-Pass 2 section of Chapter 5
    182158in the <acronym>LFS</acronym> book.</para></important>
     
    193169<envar>PATH</envar> variable.</para></note>
    194170
    195 <para>Install <application><acronym>GCC</acronym></application> by running the
    196 following commands:</para>
    197 
    198171<screen><userinput><command>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch &amp;&amp;
    199172patch -Np1 -i ../gcc-&gcc-version;-linkonce-1.patch &amp;&amp;
     
    202175cd ../gcc-build &amp;&amp;
    203176../gcc-&gcc-version;/configure --prefix=/usr --libexecdir=/usr/lib \
    204     --enable-shared --enable-languages=c,c++,objc,f77,java \
     177    --enable-shared --enable-languages=c,c++,objc,f77,ada,java \
    205178    --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu &amp;&amp;
    206179make bootstrap &amp;&amp;
     180make -C gcc gnatlib-shared &amp;&amp;
     181make -C gcc gnattools &amp;&amp;
    207182make -k check &amp;&amp;
    208183../gcc-3.4.1/contrib/test_summary &amp;&amp;
     
    213188chown -R root:root /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include</command></userinput></screen>
    214189
     190<para>You may remove the <application><acronym>GNAT</acronym></application>
     191installation and restore your old <envar>PATH</envar>:</para>
     192
     193<screen><userinput><command>rm -rf /opt/gnat &amp;&amp;
     194export PATH=$PATH_HOLD</command></userinput></screen>
     195
    215196</sect2>
    216197
    217198<sect2>
    218199<title>Command explanations</title>
    219 
    220 <!-- <para><command>PATH_HOLD=$PATH</command>: This command
    221 stores your current path before it's modified so that it can be restored after
    222 installation.</para>
    223 
    224 <para><command>export PATH=/opt/gnat/bin:$PATH</command>: This
    225 command allows the build to find
    226 <application><acronym>GNAT</acronym></application>'s
    227 <application>Ada</application> compiler to build
    228 <application>Ada</application>.</para>
    229 
    230 <para><command>touch treeprs.ads [es]info.h nmake.ad[bs]</command>:
    231 This command creates necessary files for the
    232 <application>Ada</application> build. This step
    233 may be skipped if you don't want to compile the
    234 <application>Ada</application> front end.</para>
    235 
    236 <para><parameter>CC=/usr/bin/gcc</parameter>: This command works around the
    237 new <envar>PATH</envar> which puts <application><acronym>GNAT</acronym>
    238 </application>'s <command>gcc</command> as the primary compiler.</para> -->
    239200
    240201<para><command>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</command>:
     
    249210<para><parameter>--enable-languages=c,c++,objc,f77,ada,java</parameter>:
    250211This command identifies which languages to build. You may modify this command
    251 to remove unwanted languages.</para>
     212to remove undesired languages.</para>
    252213
    253214<para><parameter>--enable-shared --enable-threads=posix
     
    257218<para><parameter>--enable-clocale=gnu</parameter>: This command is a
    258219failsafe for incomplete locale data.</para>
     220
     221<para><command>make -C gcc gnatlib-shared</command>: This command builds the
     222Ada shared and static libraries. Skip this step if you have not enabled
     223<application>Ada</application> as one of the languages.</para>
     224
     225<para><command>make -C gcc gnattools</command>: This command builds the
     226Ada development tools and binaries. Skip this step if you have not enabled
     227<application>Ada</application> as one of the languages.</para>
    259228
    260229<para><command>make -k check</command>: This command runs the test suite
     
    281250root:root.</para>
    282251
    283 <!-- <para><command>make gnatlib_and tools</command>: This command
    284 completes the <application>Ada</application> build process. Skip this step if
    285 you have not enabled <application>Ada</application> as one of the languages.
    286 </para> -->
    287 
    288252</sect2>
    289253
     
    292256
    293257<para>The <application><acronym>GCC</acronym></application> package contains
    294 <command>addr2name.awk</command>, <command>c++</command>,
    295 <command>cpp</command>, <command>g++</command>,
    296 <command>g77</command>, <command>gcc</command>,
    297 <command>gccbug</command>, <command>gcj</command>,
    298 <command>gcjh</command>, <command>gcov</command>,
    299 <command>gij</command>, <command>grepjar</command>,
    300 <command>jar</command>, <command>jcf-dump</command>,
    301 <command>jv-convert</command>, <command>jv-scan</command>,
    302 <command>rmic</command>, <command>rmiregistry</command> and
    303 <!-- <command>gnat</command>, <command>gnatbind</command>,
    304 <command>gnatbl</command>, <command>gnatchop</command>,
    305 <command>gnatfind</command>, <command>gnatkr</command>,
    306 <command>gnatlink</command>, <command>gnatls</command>,
    307 <command>gnatmake</command>, <command>gnatprep</command>,
    308 <command>gnatpsta</command>, <command>gnatpsys</command>,
    309 <command>gnatxref</command> and -->
     258<command>addr2name.awk</command>,
     259<command>c++</command>,
     260<command>cpp</command>,
     261<command>g++</command>,
     262<command>g77</command>,
     263<command>gcc</command>,
     264<command>gccbug</command>,
     265<command>gcj</command>,
     266<command>gcjh</command>,
     267<command>gcov</command>,
     268<command>gij</command>,
     269<command>gnat</command>,
     270<command>gnatbind</command>,
     271<command>gnatbl</command>,
     272<command>gnatchop</command>,
     273<command>gnatclean</command>,
     274<command>gnatfind</command>,
     275<command>gnatkr</command>,
     276<command>gnatlink</command>,
     277<command>gnatls</command>,
     278<command>gnatmake</command>,
     279<command>gnatname</command>,
     280<command>gnatprep</command>,
     281<command>gnatxref</command>,
     282<command>grepjar</command>,
     283<command>jar</command>,
     284<command>jcf-dump</command>,
     285<command>jv-convert</command>,
     286<command>jv-scan</command>,
     287<command>rmic</command>,
     288<command>rmiregistry</command> and
    310289<application><acronym>GCC</acronym></application> libraries.</para>
    311290
     
    319298
    320299<sect3><title>addr2name.awk</title>
    321 <para><command>addr2name.awk</command> emulates a little of the functionality
     300<para><command>addr2name.awk</command> emulates some of the functionality
    322301of addr2line.</para></sect3>
    323302
     
    338317<application>Java</application> bytecode.</para></sect3>
    339318
     319<sect3><title>gnat</title>
     320<para><command>gnat</command> is the <application>Ada</application> compiler
     321invoked by <command>gcc</command>.</para></sect3>
     322
     323<sect3><title>gnatbind</title>
     324<para><command>gnatbind</command> is used to bind compiled
     325objects.</para></sect3>
     326
     327<sect3><title>gnatbl</title>
     328<para><command>gnatbl</command> is the <application>Ada</application>
     329linker.</para></sect3>
     330
     331<sect3><title>gnatchop</title>
     332<para><command>gnatchop</command> is useful for renaming files to meet the
     333standard <application>Ada</application> default file naming
     334conventions.</para></sect3>
     335
     336<sect3><title>gnatclean</title>
     337<para><command>gnatclean</command> is used to remove files associated with a
     338<application><acronym>GNAT</acronym></application> project.</para></sect3>
     339
     340<sect3><title>gnatfind</title>
     341<para><command>gnatfind</command> is the
     342<application><acronym>GNAT</acronym></application> definition/use
     343finder.</para></sect3>
     344
     345<sect3><title>gnatkr</title>
     346<para><command>gnatkr</command> is used to determine the crunched name for a
     347given file, when crunched to a specified maximum length.</para></sect3>
     348
     349<sect3><title>gnatlink</title>
     350<para><command>gnatlink</command> is used to link programs and build an
     351executable file.</para></sect3>
     352
     353<sect3><title>gnatls</title>
     354<para><command>gnatls</command> is the compiled unit browser.</para></sect3>
     355
     356<sect3><title>gnatmake</title>
     357<para><command>gnatmake</command> is an automatic make facility.</para></sect3>
     358
     359<sect3><title>gnatname</title>
     360<para><command>gnatname</command> will list the files associated with a
     361<application><acronym>GNAT</acronym></application> project.</para></sect3>
     362
     363<sect3><title>gnatmem</title>
     364<para><command>gnatmem</command> is the
     365<application><acronym>GNAT</acronym></application> utility that monitors
     366dynamic allocation and deallocation activity in a program.</para></sect3>
     367
     368<sect3><title>gnatprep</title>
     369<para><command>gnatprep</command> is the
     370<application><acronym>GNAT</acronym></application> external
     371preprocessor.</para></sect3>
     372
     373<sect3><title>gnatxref</title>
     374<para><command>gnatxref</command> is the
     375<application><acronym>GNAT</acronym></application>
     376cross-referencer.</para></sect3>
     377
    340378<sect3><title>grepjar</title>
    341379<para><command>grepjar</command> searches <filename>jar</filename> files for a
     
    366404current host.</para></sect3>
    367405
    368 <!-- <sect3><title>gdb</title>
    369 <para><command>gdb</command> is the
    370 <application><acronym>GNAT</acronym></application> debugger.</para></sect3>
    371 
    372 <sect3><title>gnatbind</title>
    373 <para><command>gnatbind</command> is used to bind compiled objects.</para>
    374 </sect3>
    375 
    376 <sect3><title>gnatbl</title>
    377 <para><command>gnatbl</command> is the <application>Ada</application> linker.
    378 </para></sect3>
    379 
    380 <sect3><title>gnatchop</title>
    381 <para><command>gnatchop</command> is useful for renaming files to meet the
    382 standard <application>Ada</application> default file naming conventions.</para></sect3>
    383 
    384 <sect3><title>gnatelim</title>
    385 <para><command>gnatelim</command> is used to detect and eliminate unused
    386 subprograms in an <application>Ada</application> partition.</para></sect3>
    387 
    388 <sect3><title>gnatfind</title>
    389 <para><command>gnatfind</command> is the <application><acronym>GNAT</acronym>
    390 </application> definition/use finder.</para></sect3>
    391 
    392 <sect3><title>gnatgcc</title>
    393 <para><command>gnatgcc</command> is the compiler.</para></sect3>
    394 
    395 <sect3><title>gnathtml.pl</title>
    396 <para><command>gnathtml.pl</command> converts
    397 <application>Ada</application> source files to <acronym>HTML</acronym> for
    398 viewing in Web browsers.</para></sect3>
    399 
    400 <sect3><title>gnatkr</title>
    401 <para><command>gnatkr</command> is used to determine the crunched name for a
    402 given file, when crunched to a specified maximum length.</para></sect3>
    403 
    404 <sect3><title>gnatlink</title>
    405 <para><command>gnatlink</command> is used to link programs and build an
    406 executable file.</para></sect3>
    407 
    408 <sect3><title>gnatls</title>
    409 <para><command>gnatls</command> is the compiled unit browser.</para></sect3>
    410 
    411 <sect3><title>gnatemake</title>
    412 <para><command>gnatmake</command> is an automatic make facility.</para></sect3>
    413 
    414 <sect3><title>gnatmem</title>
    415 <para><command>gnatmem</command> is the <application><acronym>GNAT</acronym>
    416 </application> utility that monitors dynamic allocation and
    417 deallocation activity in a program.</para></sect3>
    418 
    419 <sect3><title>gnatprep</title>
    420 <para><command>gnatprep</command> is the
    421 <application><acronym>GNAT</acronym></application> external preprocessor.</para>
    422 </sect3>
    423 
    424 <sect3><title>gnatpsta</title>
    425 <para><command>gnatpsta</command> determines the values of all the relevant
    426 parameters in Standard and outputs to stdout.</para></sect3>
    427 
    428 <sect3><title>gnatpsys</title>
    429 <para><command>gnatpsys</command> determines the values of all the relevant
    430 parameters in System and outputs to stdout.</para></sect3>
    431 
    432 <sect3><title>gnatstub</title>
    433 <para><command>gnatstub</command> is a generator of body stubs.</para></sect3>
    434 
    435 <sect3><title>gnatxref</title>
    436 <para><command>gnatxref</command> is the <application><acronym>GNAT</acronym></application> cross-referencer.</para></sect3> -->
    437 
    438406</sect2>
    439407
Note: See TracChangeset for help on using the changeset viewer.