source: general/prog/gcc.xml@ 49b50d4

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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
Last change on this file since 49b50d4 was 49b50d4, checked in by DJ Lucas <dj@…>, 12 years ago

Added OpenJDK and removed "IcedTea6".

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

  • Property mode set to 100644
File size: 24.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY gcc-download-http "http://ftp.gnu.org/gnu/gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
8 <!ENTITY gcc-download-ftp "ftp://ftp.gnu.org/gnu/gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
9 <!ENTITY gcc-md5sum "2a0f1d99fda235c29d40b561f81d9a77">
10 <!ENTITY gcc-size "79 MB">
11 <!ENTITY gcc-buildsize "~3.5 GB (build, test and install all compilers)">
12 <!ENTITY gcc-time "126 SBU (build, test and install all compilers)">
13
14 <!ENTITY gnat-download-http "https://libre.adacore.com/download/">
15 <!-- We don't know what platform, so this is commented out
16 <!ENTITY gnat-md5sum "6425f2c7cabbdee4595b4b7c0d47237f">
17 <!ENTITY gnat-size "110 MB"> -->
18]>
19
20<sect1 id="gcc" xreflabel="GCC-&gcc-version;">
21 <?dbhtml filename="gcc.html" ?>
22
23 <sect1info>
24 <othername>$LastChangedBy$</othername>
25 <date>$Date$</date>
26 </sect1info>
27
28 <title>GCC-&gcc-version;</title>
29
30 <indexterm zone="gcc">
31 <primary sortas="a-gcc-4-0">GCC-&gcc-version;</primary>
32 </indexterm>
33
34 <sect2 role="package">
35 <title>Introduction to GCC</title>
36
37 <para>The <application>GCC</application> package contains GNU compilers.
38 This package is useful for compiling programs written in C, C++, Fortran,
39 Java, Objective C, Objective C++, and Ada. You should ensure you actually
40 need one of these additional compilers (C and C++ are installed in LFS)
41 before you install them. Additionally, there are instructions in the BLFS
42 book to install <xref linkend="openjdk"/>, which can be used instead of
43 the Java provided by the <application>GCC</application> package. Many
44 consider the Iced Tea version to be a more robust Java environment than the
45 one provided by <application>GCC</application>.</para>
46
47 &lfs70_checked;
48
49 <caution>
50 <para>If you are upgrading <application>GCC</application> from any other
51 version prior to &gcc-version;, then you must be careful compiling 3rd
52 party kernel modules. You should ensure that the kernel and all its
53 native modules are also compiled using the same version of
54 <application>GCC</application> that you use to build the 3rd party module.
55 This issue does not affect native kernel (and kernel modules) updates,
56 as the instructions below are a complete reinstallation of
57 <application>GCC</application>. If you have existing 3rd party modules
58 installed, ensure they are recompiled using the updated version of
59 <application>GCC</application>. As always, never update the kernel
60 headers from the ones used when <application>Glibc</application> was
61 compiled during LFS.</para>
62 </caution>
63
64 <bridgehead renderas="sect3">Package Information</bridgehead>
65 <itemizedlist spacing="compact">
66 <listitem>
67 <para>Download (HTTP): <ulink url="&gcc-download-http;"/></para>
68 </listitem>
69 <listitem>
70 <para>Download (FTP): <ulink url="&gcc-download-ftp;"/></para>
71 </listitem>
72 <listitem>
73 <para>Download MD5 sum: &gcc-md5sum;</para>
74 </listitem>
75 <listitem>
76 <para>Download size: &gcc-size;</para>
77 </listitem>
78 <listitem>
79 <para>Estimated disk space required: &gcc-buildsize;</para>
80 </listitem>
81 <listitem>
82 <para>Estimated build time: &gcc-time;</para>
83 </listitem>
84 </itemizedlist>
85
86 <bridgehead renderas="sect3">GCC Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4">Recommended</bridgehead>
89 <para role="recommended"><xref linkend="dejagnu"/></para>
90
91 <note>
92 <para>If you plan to compile Ada, you will need to install
93 <application>GNAT</application> temporarily to satisfy the circular
94 dependency when you recompile <application>GCC</application>
95 to include Ada. At the AdaCore download page, choose your platform and
96 2010, then select the file to download. You probably want the x86-linux
97 or x86_64-linux file.</para>
98 </note>
99
100 <bridgehead renderas="sect3">GNAT GPL 2010 Package Information</bridgehead>
101 <itemizedlist spacing="compact">
102 <listitem>
103 <para>Download (HTTP): <ulink url="&gnat-download-http;"/></para>
104 </listitem>
105 </itemizedlist>
106
107 <para condition="html" role="usernotes">User Notes:
108 <ulink url="&blfs-wiki;/gcc"/></para>
109
110 </sect2>
111
112 <sect2 role="installation">
113 <title>Installation of GNAT</title>
114
115 <para>Before unpacking and changing into the GCC build directory, first
116 unpack the <application>GNAT</application> tarball and change into the
117 newly created directory and install <application>GNAT</application> by
118 running the following command:</para>
119
120<screen><userinput>make ins-all prefix=<replaceable>&lt;Your build directory&gt;</replaceable>/gnat</userinput></screen>
121
122 <para>The <application>GNAT</application> compiler can be
123 invoked by executing the <command>gcc</command> binary installed
124 in <filename
125 class='directory'><replaceable>&lt;Your build directory&gt;</replaceable>/gnat/bin</filename>.</para>
126
127 <para>You may now remove the <application>GNAT</application>
128 source directory:</para>
129
130<screen><userinput>cd .. &amp;&amp;
131rm -rf gnat-2010-i686-gnu-linux-libc2.3-bin</userinput></screen>
132
133 <para>Prepare to compile <application>GCC</application> by placing the
134 <application>GNAT</application> version of <command>gcc</command> at the
135 beginning of the <envar>PATH</envar> variable by using the following
136 commands:</para>
137
138<screen><userinput>PATH_HOLD=$PATH &amp;&amp;
139export PATH=<replaceable>&lt;Your build directory&gt;</replaceable>/gnat/bin:$PATH_HOLD</userinput></screen>
140
141 </sect2>
142
143 <sect2 role="installation">
144 <title>Installation of GCC</title>
145
146 <para>Install <application>GCC</application> by running the
147 following commands:</para>
148
149 <important>
150 <para>The installation process may overwrite your existing
151 <application>GCC</application> <command>gcc</command> and
152 <command>c++</command> compilers and libraries. It is highly recommended
153 that you have the <application>Tcl</application>,
154 <application>Expect</application> and <application>DejaGnu</application>
155 packages installed before beginning the build so you can run the full
156 suite of tests.</para>
157
158 <para>Do not continue with the <command>make install</command> command
159 until you are confident the build was successful. You can compare your
160 test results with those found at
161 <ulink url="http://gcc.gnu.org/ml/gcc-testresults/"/>. You may also
162 want to refer to the information found in the <application>GCC</application>
163 section of Chapter 6 in the LFS book
164 (<ulink url="&lfs-root;/chapter06/gcc.html"/>).</para>
165
166 </important>
167
168 <para>The instructions below perform a <quote><command>make
169 bootstrap</command></quote> instead of just a plain
170 <quote><command>make</command></quote> intentionally. Even though it is
171 assumed that the current version of <application>GCC</application> is
172 installed in LFS, because this installation includes the Ada compiler as an
173 installed language, a bootstrap is required. The GNAT compiler must be used
174 for stage1 of the bootstrap in order to build Ada. If the process didn't
175 use a <quote>bootstrap</quote> you could end up having a
176 <command>gcc</command> installed on the system that was produced by a
177 foreign compiler.</para>
178
179<screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in &amp;&amp;
180sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in &amp;&amp;
181sed -i 's/Standard/Types/' gcc/ada/uintp.adb &amp;&amp;
182
183mkdir ../gcc-build &amp;&amp;
184cd ../gcc-build &amp;&amp;
185
186../gcc-&gcc-version;/configure \
187 --prefix=/usr \
188 --libexecdir=/usr/lib \
189 --with-system-zlib \
190 --enable-shared \
191 --enable-threads=posix \
192 --enable-__cxa_atexit \
193 --disable-multilib \
194 --enable-bootstrap \
195 --enable-clocale=gnu \
196 --enable-languages=c,c++,ada,fortran,java,objc,obj-c++ &amp;&amp;
197
198make bootstrap &amp;&amp;
199make -k check &amp;&amp;
200
201../gcc-&gcc-version;/contrib/test_summary</userinput></screen>
202
203 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
204
205<screen role="root"><userinput>make install &amp;&amp;
206
207ln -v -sf ../usr/bin/cpp /lib &amp;&amp;
208ln -v -sf gcc /usr/bin/cc &amp;&amp;
209
210chown -v -R root:root \
211 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include \
212 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/ada{lib,include}</userinput></screen>
213
214 <para>The <filename class='libraryfile'>libffi</filename> interface header
215 is installed in a location where other packages will not be able to find
216 it. If you included Java as one of the installed languages, create a
217 symbolic link in <filename class='directory'>/usr/include</filename> to
218 remedy this:</para>
219
220<screen role="root"><userinput>ln -v -sf `find /usr/lib/gcc -name ffitarget.h` /usr/include</userinput></screen>
221
222 <para>You should now become the unprivileged user and remove the
223 <application>GNAT</application> installation and perform other
224 cleanups:</para>
225
226<screen><userinput>rm -rf <replaceable>&lt;Your build directory&gt;</replaceable>/gnat</userinput></screen>
227
228<screen><userinput>export PATH=$PATH_HOLD &amp;&amp;
229unset PATH_HOLD</userinput></screen>
230
231 </sect2>
232
233 <sect2 role="commands">
234 <title>Command Explanations</title>
235
236 <para>The two <command>sed</command> commands are the same ones used
237 during the build of LFS. The third one fixes an issue with the ADA
238 build.</para>
239
240 <para><command>mkdir ../gcc-build; cd ../gcc-build</command>: The
241 <application>GCC</application> documentation recommends
242 building the package in a dedicated build directory.</para>
243
244 <para><parameter>--enable-shared --enable-threads=posix
245 --enable-__cxa_atexit</parameter>: These parameters are required to build
246 the <application>C++</application> libraries to published standards.</para>
247
248 <para><parameter>--disable-multilib</parameter>: This parameter ensures
249 that files are created for the specific architecture of your computer.</para>
250
251 <para><parameter>--enable-bootstrap</parameter>: This parameter is used
252 so that a bootstrap installation is performed.</para>
253
254 <para><parameter>--enable-clocale=gnu</parameter>: This parameter is a
255 failsafe for incomplete locale data.</para>
256
257 <para>
258 <parameter>--enable-languages=c,c++,ada,fortran,java,objc,obj-c++</parameter>:
259 This command identifies which languages to build. You may modify this command
260 to remove undesired languages.</para>
261
262 <para><command>make -k check</command>: This command runs the test suite
263 without stopping if any errors are encountered.</para>
264
265 <para><command>../gcc-&gcc-version;/contrib/test_summary</command>: This
266 command will produce a summary of the test suite results. You can append
267 <command>| grep -A7 Summ</command> to the command to produce an even more
268 condensed version of the summary. You may also wish to redirect the output
269 to a file for review and comparison later on.</para>
270
271 <para><command>ln -v -sf ../usr/bin/cpp /lib</command>: This command
272 creates a link to the C PreProcessor as some packages expect it to be
273 installed in the <filename class='directory'>/lib</filename>
274 directory.</para>
275
276 <para><command>ln -v -sf gcc /usr/bin/cc</command>: This link is created as
277 some packages refer to the C compiler using an alternate name.</para>
278
279 <para><command>chown -v -R root:root
280 /usr/lib/gcc/i686-pc-linux-gnu/...</command>:
281 If the package is built by a user other than root, the ownership of the
282 installed <filename class='directory'>include</filename> and
283 <filename class='directory'>adalib</filename> directories (and their
284 contents) will be incorrect. These commands change the ownership to the
285 <systemitem class="username">root</systemitem> user and group . Omit the
286 command changing the Ada directories if you did not include Ada as one of
287 the installed languages.</para>
288
289 </sect2>
290
291 <sect2 role="content">
292 <title>Contents</title>
293
294 <segmentedlist>
295 <segtitle>Installed Programs</segtitle>
296 <segtitle>Installed Libraries</segtitle>
297 <segtitle>Installed Directories</segtitle>
298
299 <seglistitem>
300 <seg>addr2name.awk, fastjar, gcj, gcj-dbtool,gcjh, gfortran, gij,
301 gjnih, gnat, gnatbind, gnatbl, gnatchop, gnatclean, gnatfind, gnatkr,
302 gnatlink, gnatls, gnatmake, gnatname, gnatprep, gnatxref, gprmake,
303 grepjar, grmic, grmiregistry, gtreelang, jcf-dump, jv-convert, jv-scan
304 and architecture specific names for gcj and gcjh</seg>
305 <seg>libffi.{so,a}, libgcj.{so,a}, libgfortran.{so,a},
306 libgfortranbegin.a, libgij.{so,a}, libobjc.{so,a} and numerous other
307 run-time libraries and executables in /usr/lib/gcc</seg>
308 <seg>/usr/include/c++/&gcc-version;/{gcj,gnu,java,javax,org},
309 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/ada{include,lib},
310 /usr/lib/gcj-&gcc-version;,
311 /usr/lib/security,
312 and /usr/share/java</seg>
313 </seglistitem>
314 </segmentedlist>
315
316 <para>Some program and library names and descriptions are not listed here,
317 but can be found at
318 <ulink url="&lfs-root;/chapter06/gcc.html#contents-gcc"/> as they were
319 initially installed during the building of LFS.</para>
320
321 <variablelist>
322 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
323 <?dbfo list-presentation="list"?>
324 <?dbhtml list-presentation="table"?>
325
326 <varlistentry id="addr2name.awk">
327 <term><command>addr2name.awk</command></term>
328 <listitem>
329 <para> emulates some of the functionality of addr2line.</para>
330 <indexterm zone="gcc addr2name.awk">
331 <primary sortas="b-addr2name.awk">addr2name.awk</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="fastjar-gcc">
337 <term><command>fastjar</command></term>
338 <listitem>
339 <para>is an archive tool for <application>Java</application> archives.</para>
340 <indexterm zone="gcc fastjar-gcc">
341 <primary sortas="b-fastjar">fastjar</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
346 <varlistentry id="gcj">
347 <term><command>gcj</command></term>
348 <listitem>
349 <para>is an ahead-of-time compiler for the
350 <application>Java</application> language.</para>
351 <indexterm zone="gcc gcj">
352 <primary sortas="b-gcj">gcj</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="gcj-dbtool">
358 <term><command>gcj-dbtool</command></term>
359 <listitem>
360 <para>is a tool for creating and manipulating class file mapping
361 databases.</para>
362 <indexterm zone="gcc gcj-dbtool">
363 <primary sortas="b-gcj-dbtool">gcj-dbtool</primary>
364 </indexterm>
365 </listitem>
366 </varlistentry>
367
368 <varlistentry id="gcjh">
369 <term><command>gcjh</command></term>
370 <listitem>
371 <para>generates header files from <application>Java</application>
372 class files.</para>
373 <indexterm zone="gcc gcjh">
374 <primary sortas="b-gcjh">gcjh</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="gfortran">
380 <term><command>gfortran</command></term>
381 <listitem>
382 <para>is the <application>Fortran</application> compiler invoked by
383 <command>gcc</command>.</para>
384 <indexterm zone="gcc gfortran">
385 <primary sortas="b-gfortran">gfortran</primary>
386 </indexterm>
387 </listitem>
388 </varlistentry>
389
390 <varlistentry id="gij">
391 <term><command>gij</command></term>
392 <listitem>
393 <para>is the GNU interpreter for <application>Java</application>
394 bytecode.</para>
395 <indexterm zone="gcc gij">
396 <primary sortas="b-gij">gij</primary>
397 </indexterm>
398 </listitem>
399 </varlistentry>
400
401 <varlistentry id="gjnih">
402 <term><command>gjnij</command></term>
403 <listitem>
404 <para>is used to generate JNI header files from class files. Running
405 it is equivalent to running <command>gcjh -jni</command>.</para>
406 <indexterm zone="gcc gjnih">
407 <primary sortas="b-gjnih">gjnih</primary>
408 </indexterm>
409 </listitem>
410 </varlistentry>
411
412 <varlistentry id="gnat">
413 <term><command>gnat</command></term>
414 <listitem>
415 <para>is the <application>Ada</application> compiler invoked by
416 <command>gcc</command>.</para>
417 <indexterm zone="gcc gnat">
418 <primary sortas="b-gnat">gnat</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423 <varlistentry id="gnatbind">
424 <term><command>gnatbind</command></term>
425 <listitem>
426 <para>is used to bind compiled objects.</para>
427 <indexterm zone="gcc gnatbind">
428 <primary sortas="b-gnatbind">gnatbind</primary>
429 </indexterm>
430 </listitem>
431 </varlistentry>
432
433 <varlistentry id="gnatbl">
434 <term><command>gnatbl</command></term>
435 <listitem>
436 <para>is the <application>Ada</application> linker.</para>
437 <indexterm zone="gcc gnatbl">
438 <primary sortas="b-gnatbl">gnatbl</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="gnatchop">
444 <term><command>gnatchop</command></term>
445 <listitem>
446 <para>is useful for renaming files to meet the standard
447 <application>Ada</application> default file naming conventions.</para>
448 <indexterm zone="gcc gnatchop">
449 <primary sortas="b-gnatchop">gnatchop</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="gnatclean">
455 <term><command>gnatclean</command></term>
456 <listitem>
457 <para>is used to remove files associated with a
458 <application>GNAT</application> project.</para>
459 <indexterm zone="gcc gnatclean">
460 <primary sortas="b-gnatclean">gnatclean</primary>
461 </indexterm>
462 </listitem>
463 </varlistentry>
464
465 <varlistentry id="gnatfind">
466 <term><command>gnatfind</command></term>
467 <listitem>
468 <para> is the <application>GNAT</application> definition/use finder.</para>
469 <indexterm zone="gcc gnatfind">
470 <primary sortas="b-gnatfind">gnatfind</primary>
471 </indexterm>
472 </listitem>
473 </varlistentry>
474
475 <varlistentry id="gnatkr">
476 <term><command>gnatkr</command></term>
477 <listitem>
478 <para>is used to determine the crunched name for a given file, when
479 crunched to a specified maximum length.</para>
480 <indexterm zone="gcc gnatkr">
481 <primary sortas="b-gnatkr">gnatkr</primary>
482 </indexterm>
483 </listitem>
484 </varlistentry>
485
486 <varlistentry id="gnatlink">
487 <term><command>gnatlink</command></term>
488 <listitem>
489 <para>is used to link programs and build an executable file.</para>
490 <indexterm zone="gcc gnatlink">
491 <primary sortas="b-gnatlink">gnatlink</primary>
492 </indexterm>
493 </listitem>
494 </varlistentry>
495
496 <varlistentry id="gnatls">
497 <term><command>gnatls</command></term>
498 <listitem>
499 <para>is the compiled unit browser.</para>
500 <indexterm zone="gcc gnatls">
501 <primary sortas="b-gnatls">gnatls</primary>
502 </indexterm>
503 </listitem>
504 </varlistentry>
505
506 <varlistentry id="gnatmake">
507 <term><command>gnatmake</command></term>
508 <listitem>
509 <para>is an automatic <command>make</command> facility.</para>
510 <indexterm zone="gcc gnatmake">
511 <primary sortas="b-gnatmake">gnatmake</primary>
512 </indexterm>
513 </listitem>
514 </varlistentry>
515
516 <varlistentry id="gnatname">
517 <term><command>gnatname</command></term>
518 <listitem>
519 <para>will list the files associated with a
520 <application>GNAT</application> project.</para>
521 <indexterm zone="gcc gnatname">
522 <primary sortas="b-gnatname">gnatname</primary>
523 </indexterm>
524 </listitem>
525 </varlistentry>
526
527 <varlistentry id="gnatprep">
528 <term><command>gnatprep</command></term>
529 <listitem>
530 <para>is the <application>GNAT</application> external preprocessor.</para>
531 <indexterm zone="gcc gnatprep">
532 <primary sortas="b-gnatprep">gnatprep</primary>
533 </indexterm>
534 </listitem>
535 </varlistentry>
536
537 <varlistentry id="gnatxref">
538 <term><command>gnatxref</command></term>
539 <listitem>
540 <para>is the <application>GNAT</application> cross-referencer.</para>
541 <indexterm zone="gcc gnatxref">
542 <primary sortas="b-gnatxref">gnatxref</primary>
543 </indexterm>
544 </listitem>
545 </varlistentry>
546
547 <varlistentry id="gprmake">
548 <term><command>gprmake</command></term>
549 <listitem>
550 <para>is a tool used to create <filename>Makefile</filename>s that
551 support compilation by multiple languages.</para>
552 <indexterm zone="gcc gprmake">
553 <primary sortas="b-gprmake">gprmake</primary>
554 </indexterm>
555 </listitem>
556 </varlistentry>
557
558 <varlistentry id="grepjar">
559 <term><command>grepjar</command></term>
560 <listitem>
561 <para>searches <filename>jar</filename> files for a pattern.</para>
562 <indexterm zone="gcc grepjar">
563 <primary sortas="b-grepjar">grepjar</primary>
564 </indexterm>
565 </listitem>
566 </varlistentry>
567
568 <varlistentry id="grmic-gcc">
569 <term><command>grmic</command></term>
570 <listitem>
571 <para>generates stubs for Remote Method Invocation.</para>
572 <indexterm zone="gcc grmic-gcc">
573 <primary sortas="b-grmic">grmic</primary>
574 </indexterm>
575 </listitem>
576 </varlistentry>
577
578 <varlistentry id="grmiregistry-gcc">
579 <term><command>grmiregistry</command></term>
580 <listitem>
581 <para> starts a remote object registry on the current host.</para>
582 <indexterm zone="gcc grmiregistry-gcc">
583 <primary sortas="b-grmiregistry">grmiregistry</primary>
584 </indexterm>
585 </listitem>
586 </varlistentry>
587
588 <varlistentry id="gtreelang">
589 <term><command>gtreelang</command></term>
590 <listitem>
591 <para>is largely a cut down version of C, designed to showcase the
592 features of the <application>GCC</application> code generation back
593 end. Only those features that are directly supported by the
594 <application>GCC</application> code generation back end are
595 implemented. Features are implemented in a manner which is easiest
596 and clearest to implement. Not all or even most code generation back
597 end features are implemented. The intention is to add features
598 incrementally until most features of the
599 <application>GCC</application> back end are implemented in
600 Treelang.</para>
601 <indexterm zone="gcc gtreelang">
602 <primary sortas="b-gtreelang">gtreelang</primary>
603 </indexterm>
604 </listitem>
605 </varlistentry>
606
607 <varlistentry id="jcf-dump">
608 <term><command>jcf-dump</command></term>
609 <listitem>
610 <para>prints information about <application>Java</application>
611 class files.</para>
612 <indexterm zone="gcc jcf-dump">
613 <primary sortas="b-jcf-dump">jcf-dump</primary>
614 </indexterm>
615 </listitem>
616 </varlistentry>
617
618 <varlistentry id="jv-convert">
619 <term><command>jv-convert</command></term>
620 <listitem>
621 <para>converts files from one encoding to another.</para>
622 <indexterm zone="gcc jv-convert">
623 <primary sortas="b-jv-convert">jv-convert</primary>
624 </indexterm>
625 </listitem>
626 </varlistentry>
627
628 <varlistentry id="jv-scan">
629 <term><command>jv-scan</command></term>
630 <listitem>
631 <para>prints information about <application>Java</application>
632 source files.</para>
633 <indexterm zone="gcc jv-scan">
634 <primary sortas="b-jv-scan">jv-scan</primary>
635 </indexterm>
636 </listitem>
637 </varlistentry>
638
639 </variablelist>
640
641 </sect2>
642
643</sect1>
Note: See TracBrowser for help on using the repository browser.