r2867 - in trunk/BOOK: general/prog introduction/welcome

randy at linuxfromscratch.org randy at linuxfromscratch.org
Sun Oct 24 15:47:56 PDT 2004


Author: randy
Date: 2004-10-24 16:47:54 -0600 (Sun, 24 Oct 2004)
New Revision: 2867

Modified:
   trunk/BOOK/general/prog/gcc.xml
   trunk/BOOK/introduction/welcome/changelog.xml
Log:
Added Ada back to the GCC instructions

Modified: trunk/BOOK/general/prog/gcc.xml
===================================================================
--- trunk/BOOK/general/prog/gcc.xml	2004-10-24 20:31:25 UTC (rev 2866)
+++ trunk/BOOK/general/prog/gcc.xml	2004-10-24 22:47:54 UTC (rev 2867)
@@ -7,14 +7,14 @@
   <!ENTITY gcc-download-http  "http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
   <!ENTITY gcc-download-ftp   "ftp://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
   <!ENTITY gcc-size           "27.2 MB">
-  <!ENTITY gcc-buildsize      "1.2 GB">
-  <!ENTITY gcc-time           "36.2 SBU">
+  <!ENTITY gcc-buildsize      "1.53 GB">
+  <!ENTITY gcc-time           "48.94 SBU">
 
-<!--  <!ENTITY gnat-download-http " ">
+  <!ENTITY gnat-download-http " ">
   <!ENTITY gnat-download-ftp  "ftp://cs.nyu.edu/pub/gnat/3.15p/gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz">
-  <!ENTITY gnat-size          "13.2 MB">
-  <!ENTITY gnat-buildsize     "48.9 MB">
-  <!ENTITY gnat-time          "0.01 SBU"> -->
+  <!ENTITY gnat-size          "13.5 MB">
+  <!ENTITY gnat-buildsize     "48 MB">
+  <!ENTITY gnat-time          "0.01 SBU">
 ]>
 
 <sect1 id="gcc" xreflabel="GCC-&gcc-version;">
@@ -28,17 +28,12 @@
 <sect2>
 <title>Introduction to <application><acronym>GCC</acronym></application></title>
 
-<para>The <application><acronym>GCC</acronym></application> package
-contains <acronym>GNU</acronym> compilers. This is useful for
-<!-- compiling programs written in <application>Ada</application>, -->
-compiling programs written in 
-<application>C</application>, <application>C++</application>,
-<application>Fortran</application>, <application>Java</application> and
-<application>Objective C</application>. The 
-<application><acronym>GCC</acronym></application> package also contains an 
-<application>Ada</application> compiler, however, the installation 
-documentation is flawed and all the <application>Ada</application> tools cannot 
-be built using conventional methods.</para>
+<para>The <application><acronym>GCC</acronym></application> package contains 
+<acronym>GNU</acronym> compilers. This is useful for compiling programs 
+written in <application>C</application>, <application>C++</application>, 
+<application>Fortran</application>, <application>Java</application>, 
+<application>Objective C</application> and 
+<application>Ada</application>.</para>
 
 <sect3><title>Package Information</title>
 <itemizedlist spacing='compact'>
@@ -77,7 +72,7 @@
 <sect2>
 <title>Installation of <application><acronym>GCC</acronym></application></title>
 
-<!-- <para>If you plan to compile Ada, you will need to install
+<para>If you plan to compile Ada, you will need to install
 <application><acronym>GNAT</acronym></application> temporarily to
 satisfy the circular dependency when you recompile
 <application><acronym>GCC</acronym></application> to include
@@ -129,40 +124,21 @@
 invoked by executing the <command>gcc</command> binary installed by the above 
 script.</para>
 
+<para>Prepare to compile <application>GCC</application> by placing the 
+<application>GNAT</application> <command>gcc</command> at the beginning of 
+the <envar>PATH</envar> variable by using the following commands:</para>
+
+<screen><userinput><command>PATH_HOLD=$PATH &&
+export PATH=/opt/gnat/bin:$PATH</command></userinput></screen>
+
 </sect2>
 
 <sect2><title>Return to Installation of 
 <application><acronym>GCC</acronym></application></title>
 
-<screen><userinput><command>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch &&
-sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in &&
-PATH_HOLD=$PATH &&
-export PATH=/opt/gnat/bin:$PATH &&
-cd gcc/ada &&
-touch treeprs.ads [es]info.h nmake.ad[bs] &&
-cd ../.. &&
-mkdir ../gcc-build &&
-cd ../gcc-build &&
-CC=/usr/bin/gcc ../gcc-&gcc-version;/configure -prefix=/usr -enable-shared \
-../gcc-&gcc-version;/configure -prefix=/usr -libexecdir=/usr/lib \
-    -enable-shared -enable-languages=c,c++,objc,f77,java \
-    -enable-threads=posix -enable-__cxa_atexit -enable-clocale=gnu &&
-make bootstrap &&
-make -C gcc gnatlib_and_tools &&
-make -k check &&
-../gcc-3.4.1/contrib/test_summary &&
-../gcc-3.4.1/contrib/test_summary | grep -A7 Summ &&
-make install &&
-ln -sf ../usr/bin/cpp /lib &&
-ln -sf gcc /usr/bin/cc &&
-ln -sf g77 /usr/bin/f77 &&
-chown -R root:root /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include &&
-export PATH=$PATH_HOLD</command></userinput></screen>
+<para>Install <application><acronym>GCC</acronym></application> by running the 
+following commands:</para>
 
-<para>You may remove the <application><acronym>GNAT</acronym></application>
-installation:</para>
-<screen><userinput><command>rm -rf /opt/gnat</command></userinput></screen> -->
-
 <important><para>The installation process may overwrite your existing 
 <application><acronym>GCC</acronym></application> compiler and libraries. It 
 is highly recommended that you have the <application>Tcl</application>, 
@@ -175,9 +151,9 @@
 you're confident the build was successful. You can compare your test results 
 with those found at <ulink 
 url="http://gcc.gnu.org/ml/gcc-testresults/"/>. There's also an i686 platform 
-test result produced by an <acronym>LFS</acronym> (SVN-testing-040712) system 
-at <ulink url="http://www.linuxfromscratch.org/~randy/gcc-test.txt"/>. You may 
-also want to refer to the information found in the 
+test result produced by an <acronym>LFS</acronym> (6.0-testing-20041003) system 
+at <ulink url="http://www.linuxfromscratch.org/~randy/gcc341_test.txt"/>. You 
+may also want to refer to the information found in the 
 <application><acronym>GCC</acronym></application>-Pass 2 section of Chapter 5
 in the <acronym>LFS</acronym> book.</para></important>
 
@@ -192,18 +168,17 @@
 is listed before <filename class='directory'>/usr/bin</filename> in your 
 <envar>PATH</envar> variable.</para></note>
 
-<para>Install <application><acronym>GCC</acronym></application> by running the 
-following commands:</para>
-
 <screen><userinput><command>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch &&
 patch -Np1 -i ../gcc-&gcc-version;-linkonce-1.patch &&
 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in &&
 mkdir ../gcc-build &&
 cd ../gcc-build &&
 ../gcc-&gcc-version;/configure --prefix=/usr --libexecdir=/usr/lib \
-    --enable-shared --enable-languages=c,c++,objc,f77,java \
+    --enable-shared --enable-languages=c,c++,objc,f77,ada,java \
     --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu &&
 make bootstrap &&
+make -C gcc gnatlib-shared &&
+make -C gcc gnattools &&
 make -k check &&
 ../gcc-3.4.1/contrib/test_summary &&
 make install &&
@@ -212,31 +187,17 @@
 ln -sf g77 /usr/bin/f77 &&
 chown -R root:root /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include</command></userinput></screen>
 
+<para>You may remove the <application><acronym>GNAT</acronym></application>
+installation and restore your old <envar>PATH</envar>:</para>
+
+<screen><userinput><command>rm -rf /opt/gnat &&
+export PATH=$PATH_HOLD</command></userinput></screen>
+
 </sect2>
 
 <sect2>
 <title>Command explanations</title>
 
-<!-- <para><command>PATH_HOLD=$PATH</command>: This command
-stores your current path before it's modified so that it can be restored after
-installation.</para>
-
-<para><command>export PATH=/opt/gnat/bin:$PATH</command>: This
-command allows the build to find
-<application><acronym>GNAT</acronym></application>'s
-<application>Ada</application> compiler to build
-<application>Ada</application>.</para>
-
-<para><command>touch treeprs.ads [es]info.h nmake.ad[bs]</command>:
-This command creates necessary files for the
-<application>Ada</application> build. This step
-may be skipped if you don't want to compile the
-<application>Ada</application> front end.</para>
-
-<para><parameter>CC=/usr/bin/gcc</parameter>: This command works around the
-new <envar>PATH</envar> which puts <application><acronym>GNAT</acronym>
-</application>'s <command>gcc</command> as the primary compiler.</para> -->
-
 <para><command>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</command>: 
 This command suppresses the installation of 
 <filename class='libraryfile'>libiberty.a</filename> as the version provided 
@@ -248,7 +209,7 @@
 
 <para><parameter>--enable-languages=c,c++,objc,f77,ada,java</parameter>: 
 This command identifies which languages to build. You may modify this command 
-to remove unwanted languages.</para>
+to remove undesired languages.</para>
 
 <para><parameter>--enable-shared --enable-threads=posix
 --enable-__cxa_atexit</parameter>: These commands are required to build
@@ -257,6 +218,14 @@
 <para><parameter>--enable-clocale=gnu</parameter>: This command is a
 failsafe for incomplete locale data.</para>
 
+<para><command>make -C gcc gnatlib-shared</command>: This command builds the 
+Ada shared and static libraries. Skip this step if you have not enabled 
+<application>Ada</application> as one of the languages.</para>
+
+<para><command>make -C gcc gnattools</command>: This command builds the 
+Ada development tools and binaries. Skip this step if you have not enabled 
+<application>Ada</application> as one of the languages.</para>
+
 <para><command>make -k check</command>: This command runs the test suite 
 without stopping should any errors be encountered.</para>
 
@@ -280,33 +249,43 @@
 contents) will be incorrect. This command changes the ownership to 
 root:root.</para>
 
-<!-- <para><command>make gnatlib_and tools</command>: This command
-completes the <application>Ada</application> build process. Skip this step if
-you have not enabled <application>Ada</application> as one of the languages.
-</para> -->
-
 </sect2>
 
 <sect2>
 <title>Contents</title>
 
 <para>The <application><acronym>GCC</acronym></application> package contains 
-<command>addr2name.awk</command>, <command>c++</command>, 
-<command>cpp</command>, <command>g++</command>, 
-<command>g77</command>, <command>gcc</command>, 
-<command>gccbug</command>, <command>gcj</command>, 
-<command>gcjh</command>, <command>gcov</command>, 
-<command>gij</command>, <command>grepjar</command>, 
-<command>jar</command>, <command>jcf-dump</command>, 
-<command>jv-convert</command>, <command>jv-scan</command>, 
-<command>rmic</command>, <command>rmiregistry</command> and 
-<!-- <command>gnat</command>, <command>gnatbind</command>,
-<command>gnatbl</command>, <command>gnatchop</command>,
-<command>gnatfind</command>, <command>gnatkr</command>,
-<command>gnatlink</command>, <command>gnatls</command>,
-<command>gnatmake</command>, <command>gnatprep</command>,
-<command>gnatpsta</command>, <command>gnatpsys</command>,
-<command>gnatxref</command> and -->
+<command>addr2name.awk</command>, 
+<command>c++</command>, 
+<command>cpp</command>, 
+<command>g++</command>, 
+<command>g77</command>, 
+<command>gcc</command>, 
+<command>gccbug</command>, 
+<command>gcj</command>, 
+<command>gcjh</command>, 
+<command>gcov</command>, 
+<command>gij</command>, 
+<command>gnat</command>, 
+<command>gnatbind</command>, 
+<command>gnatbl</command>, 
+<command>gnatchop</command>, 
+<command>gnatclean</command>, 
+<command>gnatfind</command>, 
+<command>gnatkr</command>, 
+<command>gnatlink</command>, 
+<command>gnatls</command>, 
+<command>gnatmake</command>, 
+<command>gnatname</command>, 
+<command>gnatprep</command>, 
+<command>gnatxref</command>, 
+<command>grepjar</command>, 
+<command>jar</command>, 
+<command>jcf-dump</command>, 
+<command>jv-convert</command>, 
+<command>jv-scan</command>, 
+<command>rmic</command>, 
+<command>rmiregistry</command> and 
 <application><acronym>GCC</acronym></application> libraries.</para>
 
 </sect2>
@@ -318,7 +297,7 @@
 <acronym>GCC</acronym>-&gcc-version; page.</para>
 
 <sect3><title>addr2name.awk</title>
-<para><command>addr2name.awk</command> emulates a little of the functionality 
+<para><command>addr2name.awk</command> emulates some of the functionality 
 of addr2line.</para></sect3>
 
 <sect3><title>g77</title>
@@ -337,66 +316,32 @@
 <para><command>gij</command> is the <acronym>GNU</acronym> interpreter for 
 <application>Java</application> bytecode.</para></sect3>
 
-<sect3><title>grepjar</title>
-<para><command>grepjar</command> searches <filename>jar</filename> files for a 
-pattern.</para></sect3>
+<sect3><title>gnat</title>
+<para><command>gnat</command> is the <application>Ada</application> compiler 
+invoked by <command>gcc</command>.</para></sect3>
 
-<sect3><title>jar</title>
-<para><command>jar</command> is an archive tool for 
-<application>Java</application> archives.</para></sect3>
-
-<sect3><title>jcf-dump</title>
-<para><command>jcf-dump</command> prints information about 
-<application>Java</application> class files.</para></sect3>
-
-<sect3><title>jv-convert</title>
-<para><command>jv-convert</command> converts files from one encoding to 
-another.</para></sect3>
-
-<sect3><title>jv-scan</title>
-<para><command>jv-scan</command> prints information about 
-<application>Java</application> source files.</para></sect3>
-
-<sect3><title>rmic</title>
-<para><command>rmic</command> generates stubs for Remote Method 
-Invocation.</para></sect3>
-
-<sect3><title>rmiregistry</title>
-<para><command>rmiregistry</command> starts a remote object registry on the 
-current host.</para></sect3>
-
-<!-- <sect3><title>gdb</title>
-<para><command>gdb</command> is the
-<application><acronym>GNAT</acronym></application> debugger.</para></sect3>
-
 <sect3><title>gnatbind</title>
-<para><command>gnatbind</command> is used to bind compiled objects.</para>
-</sect3>
+<para><command>gnatbind</command> is used to bind compiled 
+objects.</para></sect3>
 
 <sect3><title>gnatbl</title>
-<para><command>gnatbl</command> is the <application>Ada</application> linker.
-</para></sect3>
+<para><command>gnatbl</command> is the <application>Ada</application> 
+linker.</para></sect3>
 
 <sect3><title>gnatchop</title>
-<para><command>gnatchop</command> is useful for renaming files to meet the
-standard <application>Ada</application> default file naming conventions.</para></sect3>
+<para><command>gnatchop</command> is useful for renaming files to meet the 
+standard <application>Ada</application> default file naming 
+conventions.</para></sect3>
 
-<sect3><title>gnatelim</title>
-<para><command>gnatelim</command> is used to detect and eliminate unused
-subprograms in an <application>Ada</application> partition.</para></sect3>
+<sect3><title>gnatclean</title>
+<para><command>gnatclean</command> is used to remove files associated with a 
+<application><acronym>GNAT</acronym></application> project.</para></sect3>
 
 <sect3><title>gnatfind</title>
-<para><command>gnatfind</command> is the <application><acronym>GNAT</acronym>
-</application> definition/use finder.</para></sect3>
+<para><command>gnatfind</command> is the 
+<application><acronym>GNAT</acronym></application> definition/use 
+finder.</para></sect3>
 
-<sect3><title>gnatgcc</title>
-<para><command>gnatgcc</command> is the compiler.</para></sect3>
-
-<sect3><title>gnathtml.pl</title>
-<para><command>gnathtml.pl</command> converts
-<application>Ada</application> source files to <acronym>HTML</acronym> for
-viewing in Web browsers.</para></sect3>
-
 <sect3><title>gnatkr</title>
 <para><command>gnatkr</command> is used to determine the crunched name for a
 given file, when crunched to a specified maximum length.</para></sect3>
@@ -408,33 +353,56 @@
 <sect3><title>gnatls</title>
 <para><command>gnatls</command> is the compiled unit browser.</para></sect3>
 
-<sect3><title>gnatemake</title>
+<sect3><title>gnatmake</title>
 <para><command>gnatmake</command> is an automatic make facility.</para></sect3>
 
+<sect3><title>gnatname</title>
+<para><command>gnatname</command> will list the files associated with a 
+<application><acronym>GNAT</acronym></application> project.</para></sect3>
+
 <sect3><title>gnatmem</title>
-<para><command>gnatmem</command> is the <application><acronym>GNAT</acronym>
-</application> utility that monitors dynamic allocation and
-deallocation activity in a program.</para></sect3>
+<para><command>gnatmem</command> is the 
+<application><acronym>GNAT</acronym></application> utility that monitors 
+dynamic allocation and deallocation activity in a program.</para></sect3>
 
 <sect3><title>gnatprep</title>
 <para><command>gnatprep</command> is the
-<application><acronym>GNAT</acronym></application> external preprocessor.</para>
-</sect3>
+<application><acronym>GNAT</acronym></application> external 
+preprocessor.</para></sect3>
 
-<sect3><title>gnatpsta</title>
-<para><command>gnatpsta</command> determines the values of all the relevant
-parameters in Standard and outputs to stdout.</para></sect3>
+<sect3><title>gnatxref</title>
+<para><command>gnatxref</command> is the 
+<application><acronym>GNAT</acronym></application> 
+cross-referencer.</para></sect3>
 
-<sect3><title>gnatpsys</title>
-<para><command>gnatpsys</command> determines the values of all the relevant
-parameters in System and outputs to stdout.</para></sect3>
+<sect3><title>grepjar</title>
+<para><command>grepjar</command> searches <filename>jar</filename> files for a 
+pattern.</para></sect3>
 
-<sect3><title>gnatstub</title>
-<para><command>gnatstub</command> is a generator of body stubs.</para></sect3>
+<sect3><title>jar</title>
+<para><command>jar</command> is an archive tool for 
+<application>Java</application> archives.</para></sect3>
 
-<sect3><title>gnatxref</title>
-<para><command>gnatxref</command> is the <application><acronym>GNAT</acronym></application> cross-referencer.</para></sect3> -->
+<sect3><title>jcf-dump</title>
+<para><command>jcf-dump</command> prints information about 
+<application>Java</application> class files.</para></sect3>
 
+<sect3><title>jv-convert</title>
+<para><command>jv-convert</command> converts files from one encoding to 
+another.</para></sect3>
+
+<sect3><title>jv-scan</title>
+<para><command>jv-scan</command> prints information about 
+<application>Java</application> source files.</para></sect3>
+
+<sect3><title>rmic</title>
+<para><command>rmic</command> generates stubs for Remote Method 
+Invocation.</para></sect3>
+
+<sect3><title>rmiregistry</title>
+<para><command>rmiregistry</command> starts a remote object registry on the 
+current host.</para></sect3>
+
 </sect2>
 
 </sect1>

Modified: trunk/BOOK/introduction/welcome/changelog.xml
===================================================================
--- trunk/BOOK/introduction/welcome/changelog.xml	2004-10-24 20:31:25 UTC (rev 2866)
+++ trunk/BOOK/introduction/welcome/changelog.xml	2004-10-24 22:47:54 UTC (rev 2867)
@@ -26,7 +26,7 @@
 directory to /var/run/screen.</para></listitem>
 
 <listitem><para>October 24th, 2004 [randy]: Updated to
-CUPS-1.1.21.</para></listitem>
+CUPS-1.1.21; added Ada back to the GCC instructions.</para></listitem>
 
 <listitem><para>October 23rd, 2004 [randy]: Updated to
 Aspell-0.60.</para></listitem>




More information about the blfs-book mailing list