[52d29f7] | 1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
| 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
---|
| 3 | "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
|
---|
| 4 | <!ENTITY % general-entities SYSTEM "../../general.ent">
|
---|
| 5 | %general-entities;
|
---|
| 6 |
|
---|
| 7 | <!ENTITY gcc-download-http "http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
|
---|
| 8 | <!ENTITY gcc-download-ftp "ftp://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
|
---|
| 9 | <!ENTITY gcc-size "23 MB">
|
---|
| 10 | <!ENTITY gcc-buildsize "889 MB">
|
---|
| 11 | <!ENTITY gcc-time "29.3 SBU">
|
---|
| 12 |
|
---|
| 13 | <!ENTITY gnat-download-http " ">
|
---|
| 14 | <!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">
|
---|
| 18 | ]>
|
---|
| 19 |
|
---|
[58bd309a] | 20 | <sect1 id="gcc" xreflabel="GCC-&gcc-version;">
|
---|
[19aa75a] | 21 | <?dbhtml filename="gcc.html" ?>
|
---|
[58bd309a] | 22 | <title>GCC-&gcc-version;</title>
|
---|
[1a686a1] | 23 |
|
---|
[52d29f7] | 24 | <sect2>
|
---|
| 25 | <title>Introduction to <application><acronym>GCC</acronym></application></title>
|
---|
| 26 |
|
---|
| 27 | <para>The <application><acronym>GCC</acronym></application> package
|
---|
| 28 | contains <acronym>GNU</acronym> compilers. This is useful for
|
---|
| 29 | compiling programs written in <application>Ada</application>,
|
---|
| 30 | <application>C</application>, <application>C++</application>,
|
---|
| 31 | <application>Fortran</application>, <application>Java</application> and
|
---|
| 32 | <application>Objective C</application>.</para>
|
---|
| 33 |
|
---|
| 34 | <sect3><title>Package information</title>
|
---|
| 35 | <itemizedlist spacing='compact'>
|
---|
| 36 | <listitem><para>Download (HTTP): <ulink
|
---|
| 37 | url="&gcc-download-http;"/></para></listitem>
|
---|
| 38 | <listitem><para>Download (FTP): <ulink
|
---|
| 39 | url="&gcc-download-ftp;"/></para></listitem>
|
---|
| 40 | <listitem><para>Download size: &gcc-size;</para></listitem>
|
---|
| 41 | <listitem><para>Estimated Disk space required:
|
---|
| 42 | &gcc-buildsize;</para></listitem>
|
---|
| 43 | <listitem><para>Estimated build time:
|
---|
| 44 | &gcc-time;</para></listitem></itemizedlist>
|
---|
| 45 | </sect3>
|
---|
| 46 | <sect3><title>Additional Downloads</title>
|
---|
| 47 | <itemizedlist spacing='compact'>
|
---|
| 48 | <listitem><para>Required patch: <ulink url="&patch-root;/gcc-&gcc-version;-no_fixincludes-1.patch"/></para></listitem>
|
---|
| 49 | </itemizedlist></sect3>
|
---|
| 50 |
|
---|
| 51 | </sect2>
|
---|
| 52 |
|
---|
| 53 | <sect2>
|
---|
| 54 | <title>Installation of <application><acronym>GCC</acronym></application></title>
|
---|
| 55 |
|
---|
| 56 | <para>If you plan to compile Ada, you will need to install
|
---|
| 57 | <application><acronym>GNAT</acronym></application> temporarily to
|
---|
| 58 | satisfy the circular dependency when you recompile
|
---|
| 59 | <application><acronym>
|
---|
| 60 | GCC</acronym></application> to include
|
---|
| 61 | <application>Ada</application>.</para>
|
---|
| 62 |
|
---|
| 63 | <sect3><title>Package information</title>
|
---|
| 64 | <itemizedlist spacing='compact'>
|
---|
| 65 | <listitem><para>Download (HTTP): <ulink
|
---|
| 66 | url="&gnat-download-http;"/></para></listitem>
|
---|
| 67 | <listitem><para>Download (FTP): <ulink
|
---|
| 68 | url="&gnat-download-ftp;"/></para></listitem>
|
---|
| 69 | <listitem><para>Download size: &gnat-size;</para></listitem>
|
---|
| 70 | <listitem><para>Estimated Disk space required:
|
---|
| 71 | &gnat-buildsize;</para></listitem>
|
---|
| 72 | <listitem><para>Estimated build time:
|
---|
| 73 | &gnat-time;</para></listitem></itemizedlist>
|
---|
| 74 | </sect3>
|
---|
| 75 |
|
---|
| 76 | <sect3><title><application><acronym>GNAT</acronym></application> dependencies</title>
|
---|
| 77 | <sect4><title>Required</title>
|
---|
| 78 | <para><xref linkend="tcsh"/></para></sect4>
|
---|
| 79 | </sect3>
|
---|
| 80 |
|
---|
| 81 | </sect2>
|
---|
| 82 |
|
---|
| 83 | <sect2>
|
---|
| 84 | <title>Installation of <application><acronym>GNAT</acronym></application></title>
|
---|
| 85 |
|
---|
| 86 | <para>Install <application><acronym>GNAT</acronym></application> by running the
|
---|
| 87 | following commands:</para>
|
---|
| 88 |
|
---|
| 89 | <screen><userinput><command>./doconfig</command></userinput></screen>
|
---|
| 90 |
|
---|
| 91 | <para>The above script will ask you how and where you would like to install
|
---|
| 92 | <application><acronym>GNAT</acronym></application>. To avoid conflicts with the
|
---|
| 93 | system <command>gcc</command>, the package will be installed in a separate
|
---|
| 94 | directory, that can later be removed from the system.</para>
|
---|
| 95 |
|
---|
| 96 | <para>In response to the questions asked by the
|
---|
| 97 | <command>doconfig</command> script, enter
|
---|
| 98 | <userinput>3</userinput> in response to the first question
|
---|
| 99 | and <userinput>/opt/gnat</userinput> in response to the
|
---|
| 100 | second question.</para>
|
---|
| 101 |
|
---|
| 102 | <para>To finish the install, run:</para>
|
---|
| 103 | <screen><userinput><command>./doinstall</command></userinput></screen>
|
---|
| 104 |
|
---|
| 105 | <para>The <application><acronym>GNAT</acronym></application> compiler can be
|
---|
| 106 | invoked by executing the <command>gcc</command> binary installed by the above
|
---|
| 107 | script.</para>
|
---|
| 108 |
|
---|
| 109 | </sect2>
|
---|
| 110 |
|
---|
| 111 |
|
---|
| 112 | <sect2><title>Return to Installation of <application><acronym>GCC</acronym></application></title>
|
---|
| 113 |
|
---|
| 114 | <para>Patch the source files with the following command:</para>
|
---|
| 115 | <screen><userinput><command>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch &&
|
---|
| 116 | sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</command></userinput></screen>
|
---|
| 117 |
|
---|
| 118 | <para>Install <application><acronym>GCC</acronym></application> by running the
|
---|
| 119 | following commands:</para>
|
---|
| 120 |
|
---|
| 121 | <screen><userinput><command>PATH_HOLD=$PATH &&
|
---|
| 122 | export PATH=/opt/gnat/bin:$PATH &&
|
---|
| 123 | cd gcc/ada &&
|
---|
| 124 | touch treeprs.ads [es]info.h nmake.ad[bs] &&
|
---|
| 125 | cd ../.. &&
|
---|
| 126 | mkdir ../gcc-build &&
|
---|
| 127 | cd ../gcc-build &&
|
---|
| 128 | CC=/usr/bin/gcc ../gcc-&gcc-version;/configure --prefix=/usr --enable-shared \
|
---|
| 129 | --enable-languages=c,c++,objc,f77,ada,java --enable-threads=posix \
|
---|
| 130 | --enable-__cxa_atexit --enable-clocale=gnu &&
|
---|
| 131 | make bootstrap &&
|
---|
| 132 | make -C gcc gnatlib_and_tools &&
|
---|
| 133 | make -k check &&
|
---|
| 134 | make install &&
|
---|
| 135 | ln -sf ../usr/bin/cpp /lib &&
|
---|
| 136 | ln -sf gcc /usr/bin/cc &&
|
---|
| 137 | ln -sf g77 /usr/bin/f77 &&
|
---|
| 138 | export PATH=$PATH_HOLD</command></userinput></screen>
|
---|
| 139 |
|
---|
| 140 | <para>You may remove the <application><acronym>GNAT</acronym></application>
|
---|
| 141 | installation:</para>
|
---|
| 142 | <screen><userinput><command>rm -rf /opt/gnat</command></userinput></screen>
|
---|
| 143 |
|
---|
| 144 | </sect2>
|
---|
| 145 |
|
---|
| 146 | <sect2>
|
---|
| 147 | <title>Command explanations</title>
|
---|
| 148 |
|
---|
| 149 | <para><command>PATH_HOLD=$PATH</command>: This command
|
---|
| 150 | stores your current path before it's modified so that it can be restored after
|
---|
| 151 | installation.</para>
|
---|
| 152 |
|
---|
| 153 | <para><command>export PATH=/opt/gnat/bin:$PATH</command>: This
|
---|
| 154 | command allows the build to find
|
---|
| 155 | <application><acronym>GNAT</acronym></application>'s
|
---|
| 156 | <application>Ada</application> compiler to build
|
---|
| 157 | <application>Ada</application>.</para>
|
---|
| 158 |
|
---|
| 159 | <para><command>touch treeprs.ads [es]info.h nmake.ad[bs]</command>:
|
---|
| 160 | This command creates necessary files for the
|
---|
| 161 | <application>Ada</application> build. This step
|
---|
| 162 | may be skipped if you don't want to compile the
|
---|
| 163 | <application>Ada</application> front end.</para>
|
---|
| 164 |
|
---|
| 165 | <para><parameter>CC=/usr/bin/gcc</parameter>: This command works around the
|
---|
| 166 | new <envar>PATH</envar> which puts <application><acronym>GNAT</acronym>
|
---|
| 167 | </application>'s <command>gcc</command> as the primary compiler.</para>
|
---|
| 168 |
|
---|
| 169 | <para><parameter>--enable-languages=c,c++,objc,f77,ada,java</parameter>: This command builds all available languages in the
|
---|
| 170 | <application><acronym>GCC</acronym></application> package.
|
---|
| 171 | You may modify this command to remove unwanted languages.</para>
|
---|
| 172 |
|
---|
| 173 | <para><parameter>--enable-shared --enable-threads=posix
|
---|
| 174 | --enable-__cxa_atexit</parameter>: These commands are required to build
|
---|
| 175 | the <application>C++</application> libraries to published standards.</para>
|
---|
| 176 |
|
---|
| 177 | <para><parameter>--enable-clocale=gnu</parameter>: This command is a
|
---|
| 178 | failsafe for incomplete locale data.</para>
|
---|
| 179 |
|
---|
| 180 | <para><command>make gnatlib_and tools</command>: This command
|
---|
| 181 | completes the <application>Ada</application> build process. Skip this step if
|
---|
| 182 | you have not enabled <application>Ada</application> as one of the languages.
|
---|
| 183 | </para>
|
---|
| 184 |
|
---|
| 185 | </sect2>
|
---|
| 186 |
|
---|
| 187 | <sect2>
|
---|
| 188 | <title>Contents</title>
|
---|
| 189 |
|
---|
| 190 | <para>The <application><acronym>GCC</acronym></application> package contains
|
---|
| 191 | <command>c++</command>,
|
---|
| 192 | <command>c++filt</command>, <command>cpp</command>,
|
---|
| 193 | <command>g++</command>, <command>g77</command>,
|
---|
| 194 | <command>gcc</command>, <command>gccbug</command>,
|
---|
| 195 | <command>gcov</command>, <command>glob</command>,
|
---|
| 196 | <command>gnat</command>, <command>gnatbind</command>,
|
---|
| 197 | <command>gnatbl</command>, <command>gnatchop</command>,
|
---|
| 198 | <command>gnatfind</command>, <command>gnatkr</command>,
|
---|
| 199 | <command>gnatlink</command>, <command>gnatls</command>,
|
---|
| 200 | <command>gnatmake</command>, <command>gnatprep</command>,
|
---|
| 201 | <command>gnatpsta</command>, <command>gnatpsys</command>,
|
---|
| 202 | <command>gnatxref</command> and
|
---|
| 203 | <application><acronym>GCC</acronym></application> libraries.</para>
|
---|
| 204 |
|
---|
| 205 | </sect2>
|
---|
| 206 |
|
---|
| 207 | <sect2><title>Description</title>
|
---|
| 208 |
|
---|
| 209 | <para>The programs and libraries whose descriptions are missing here
|
---|
| 210 | have been described in the <acronym>LFS</acronym>
|
---|
| 211 | <acronym>GCC</acronym>-&gcc-version; page.</para>
|
---|
| 212 |
|
---|
| 213 | <sect3><title>g77</title>
|
---|
| 214 | <para><command>g77</command> is the <application>Fortran</application> compiler
|
---|
| 215 | invoked by <command>gcc</command>.</para></sect3>
|
---|
| 216 |
|
---|
| 217 | <sect3><title>add2line</title>
|
---|
| 218 | <para><command>add2line</command> converts the <acronym>ASCII</acronym> form of
|
---|
| 219 | the 2-line orbital elements in a file to binary form and appends them to the
|
---|
| 220 | orbdata files. </para></sect3>
|
---|
| 221 |
|
---|
| 222 | <sect3><title>gcov</title>
|
---|
| 223 | <para><command>gcov</command> is a test coverage program.</para></sect3>
|
---|
| 224 |
|
---|
| 225 | <sect3><title>gdb</title>
|
---|
| 226 | <para><command>gdb</command> is the
|
---|
| 227 | <application><acronym>GNAT</acronym></application> debugger.</para></sect3>
|
---|
| 228 |
|
---|
| 229 | <sect3><title>gnatbind</title>
|
---|
| 230 | <para><command>gnatbind</command> is used to bind compiled objects.</para>
|
---|
| 231 | </sect3>
|
---|
| 232 |
|
---|
| 233 | <sect3><title>gnatbl</title>
|
---|
| 234 | <para><command>gnatbl</command> is the <application>Ada</application> linker.
|
---|
| 235 | </para></sect3>
|
---|
| 236 |
|
---|
| 237 | <sect3><title>gnatchop</title>
|
---|
| 238 | <para><command>gnatchop</command> is useful for renaming files to meet the
|
---|
| 239 | standard <application>Ada</application> default file naming conventions.</para></sect3>
|
---|
| 240 |
|
---|
| 241 | <sect3><title>gnatelim</title>
|
---|
| 242 | <para><command>gnatelim</command> is used to detect and eliminate unused
|
---|
| 243 | subprograms in an <application>Ada</application> partition.</para></sect3>
|
---|
| 244 |
|
---|
| 245 | <sect3><title>gnatfind</title>
|
---|
| 246 | <para><command>gnatfind</command> is the <application><acronym>GNAT</acronym>
|
---|
| 247 | </application> definition/use finder.</para></sect3>
|
---|
| 248 |
|
---|
| 249 | <sect3><title>gnatgcc</title>
|
---|
| 250 | <para><command>gnatgcc</command> is the compiler.</para></sect3>
|
---|
| 251 |
|
---|
| 252 | <sect3><title>gnathtml.pl</title>
|
---|
| 253 | <para><command>gnathtml.pl</command> converts
|
---|
| 254 | <application>Ada</application> source files to <acronym>HTML</acronym> for
|
---|
| 255 | viewing in Web browsers.</para></sect3>
|
---|
| 256 |
|
---|
| 257 | <sect3><title>gnatkr</title>
|
---|
| 258 | <para><command>gnatkr</command> is used to determine the crunched name for a
|
---|
| 259 | given file, when crunched to a specified maximum length.</para></sect3>
|
---|
| 260 |
|
---|
| 261 | <sect3><title>gnatlink</title>
|
---|
| 262 | <para><command>gnatlink</command> is used to link programs and build an
|
---|
| 263 | executable file.</para></sect3>
|
---|
| 264 |
|
---|
| 265 | <sect3><title>gnatls</title>
|
---|
| 266 | <para><command>gnatls</command> is the compiled unit browser.</para></sect3>
|
---|
| 267 |
|
---|
| 268 | <sect3><title>gnatemake</title>
|
---|
| 269 | <para><command>gnatmake</command> is an automatic make facility.</para></sect3>
|
---|
| 270 | <sect3><title>gnatmem</title>
|
---|
| 271 | <para><command>gnatmem</command> is the <application><acronym>GNAT</acronym>
|
---|
| 272 | </application> utility that monitors dynamic allocation and
|
---|
| 273 | deallocation activity in a program.</para></sect3>
|
---|
| 274 |
|
---|
| 275 | <sect3><title>gnatprep</title>
|
---|
| 276 | <para><command>gnatprep</command> is the
|
---|
| 277 | <application><acronym>GNAT</acronym></application> external preprocessor.</para>
|
---|
| 278 | </sect3>
|
---|
| 279 |
|
---|
| 280 | <sect3><title>gnatpsta</title>
|
---|
| 281 | <para><command>gnatpsta</command> determines the values of all the relevant
|
---|
| 282 | parameters in Standard and outputs to stdout.</para></sect3>
|
---|
| 283 |
|
---|
| 284 | <sect3><title>gnatpsys</title>
|
---|
| 285 | <para><command>gnatpsys</command> determines the values of all the relevant
|
---|
| 286 | parameters in System and outputs to stdout.</para></sect3>
|
---|
| 287 |
|
---|
| 288 | <sect3><title>gnatstub</title>
|
---|
| 289 | <para><command>gnatstub</command> is a generator of body stubs.</para></sect3>
|
---|
| 290 |
|
---|
| 291 | <sect3><title>gnatxref</title>
|
---|
| 292 | <para><command>gnatxref</command> is the <application><acronym>GNAT</acronym></application> cross-referencer.</para></sect3>
|
---|
| 293 |
|
---|
| 294 | <sect3><title>gvd</title>
|
---|
| 295 | <para><command>gvd</command> is the <acronym>GNU</acronym> Visual Debugger.
|
---|
| 296 | </para></sect3>
|
---|
| 297 |
|
---|
| 298 | </sect2>
|
---|
[1a686a1] | 299 |
|
---|
| 300 | </sect1>
|
---|
| 301 |
|
---|