Changeset 9e26f63


Ignore:
Timestamp:
02/02/2006 09:35:05 PM (18 years ago)
Author:
Matthew Burgess <matthew@…>
Children:
a7fe252
Parents:
0e5c784
Message:

Merge r7314:7324, in order to bring the branch up to date with trunk

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/udev_update/BOOK@7326 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Files:
23 edited

Legend:

Unmodified
Added
Removed
  • appendixa/acronymlist.xml

    r0e5c784 r9e26f63  
    327327      <term><emphasis role="bold">LSB</emphasis></term>
    328328      <listitem>
    329         <para>Linux Standards Base</para>
     329        <para>Linux Standard Base</para>
    330330      </listitem>
    331331    </varlistentry>
  • chapter01/changelog.xml

    r0e5c784 r9e26f63  
    3838
    3939    <listitem>
     40      <para>January 30, 2006</para>
     41      <itemizedlist>
     42        <listitem>
     43          <para>[jhuntwork] - Adjust binutils-pass1 so we don't need to hang
     44          on to its source directories. Also use 'gcc -dumpmachine' instead
     45          of the MACHTYPE var.</para>
     46        </listitem>
     47        <listitem>
     48          <para>[jhuntwork] - Various textual corrections. Thanks Chris
     49          Staub.</para>
     50        </listitem>
     51        <listitem>
     52          <para>[jhuntwork] - Remove unnecessary LDFLAGS variables in binutils
     53          pass 1 and 2. Thanks Dan Nicholson.</para>
     54        </listitem>
     55      </itemizedlist>
     56    </listitem>
     57
     58    <listitem>
     59      <para>January 29, 2006</para>
     60      <itemizedlist>
     61        <listitem>
     62          <para>[jhuntwork] - Restore the use of *startfile_prefix_spec.</para>
     63        </listitem>
     64        <listitem>
     65          <para>[jhuntwork] - Remove a spurious -i from the perl command when
     66          readjusting the toolchain. Thanks Dan Nicholson.</para>
     67        </listitem>
     68      </itemizedlist>
     69    </listitem>
     70
     71    <listitem>
    4072      <para>January 26, 2006</para>
    4173      <itemizedlist>
    4274        <listitem>
    4375          <para>[jhuntwork] - Modify chapter 6 Glibc's make install command to
    44           allow test-installation.pl to run.</para>
    45         </listitem>
    46         <listitem>
    47           <para>[jhuntwork] - Adjust chapter 5 binutils to build a static ld-new
    48           for use in the chapter 6 readjusting section. Also add some extended
    49           sanity checks. These fixes are adapted from DIY-Linux and Greg Schafer.
    50           Thanks to Dan Nicholson for the report, as well.</para>
    51         </listitem>
    52         <listitem>
    53           <para>[jhuntwork] - Added 'nodump' to commands in the Package Management
    54           section.</para>
    55         </listitem>
     76          allow test-installation.pl to run.</para>
     77        </listitem>
     78        <listitem>
     79          <para>[jhuntwork] - Adjust chapter 5 binutils to build a static ld-new
     80          for use in the chapter 6 readjusting section. Also add some extended
     81          sanity checks. These fixes are adapted from DIY-Linux and Greg Schafer.
     82          Thanks to Dan Nicholson for the report, as well.</para>
     83        </listitem>
     84        <listitem>
     85          <para>[jhuntwork] - Added 'nodump' to commands in the Package Management
     86          section.</para>
     87        </listitem>
    5688      </itemizedlist>
    5789    </listitem>
     
    6193      <itemizedlist>
    6294        <listitem>
    63           <para>[jhuntwork] - Remove ppc specific instructions from chapter 6 patch.
    64           Cross-LFS can handle non-x86 arch specifics at this point.</para>
    65         </listitem>
    66         <listitem>
    67           <para>[jhuntwork] - Fix chapter 6 Glibc's test-installation.pl to test
    68           the correct Glibc. Fixes bug 1675. Thanks to Dan Nicholson for the report
    69           and Greg Schafer for the fix.</para>
    70         </listitem>
    71         <listitem>
    72           <para>[jhuntwork] - Fixed the re-adjusting of the toolchain in chapter 6
    73           so that chapter 6 GCC and Binutils links against the proper Glibc and so
    74           that we don't have to keep the binutils directories from chapter 5. Also
    75           moved a note about saving the /tools directory to the beginning of chapter 6.
    76           Fixes bug 1677. Thanks to Chris Staub, Alexander Patrakov, Greg Schafer and
    77           Tushar Teredesai for reporting and resolving this issue.</para>
    78         </listitem>
     95          <para>[jhuntwork] - Remove ppc specific instructions from chapter 6
     96          patch. Cross-LFS can handle non-x86 arch specifics at this point.</para>
     97        </listitem>
     98        <listitem>
     99          <para>[jhuntwork] - Fix chapter 6 Glibc's test-installation.pl to test
     100          the correct Glibc. Fixes bug 1675. Thanks to Dan Nicholson for the report
     101          and Greg Schafer for the fix.</para>
     102        </listitem>
     103        <listitem>
     104          <para>[jhuntwork] - Fixed the re-adjusting of the toolchain in chapter
     105          6 so that chapter 6 GCC and Binutils links against the proper Glibc and
     106          so that we don't have to keep the binutils directories from chapter 5.
     107          Also moved a note about saving the /tools directory to the beginning of
     108          chapter 6. Fixes bug 1677. Thanks to Chris Staub, Alexander Patrakov,
     109          Greg Schafer and Tushar Teredesai for reporting and resolving this
     110          issue.</para>
     111        </listitem>
    79112        <listitem>
    80113          <para>[matthew] - Upgrade coreutils i18n patch to version 2 to fix
     
    113146        <listitem>
    114147          <para>[matthew] - Install documentation for the Linux kernel.  Thanks
    115 to Tushar for the report.  Fixes bug 1683.</para>
     148          to Tushar for the report.  Fixes bug 1683.</para>
    116149        </listitem>
    117150        <listitem>
     
    128161        <listitem>
    129162          <para>[jhuntwork] - Added a patch to fix the sprintf security
    130           vulnerability in Perl. Thanks to Tim van der Molen for pointing it out.</para>
     163          vulnerability in Perl. Thanks to Tim van der Molen for pointing
     164          it out.</para>
    131165        </listitem>
    132166      </itemizedlist>
     
    138172        <listitem>
    139173          <para>[jhuntwork] - Fixed locale generation for French UTF-8. Thanks
    140           to Dan McGhee for the report and Alexander Patrakov for the fix.</para>
     174          to Dan McGhee for the report and Alexander Patrakov for the fix.</para>
    141175        </listitem>
    142176      </itemizedlist>
  • chapter03/patches.xml

    r0e5c784 r9e26f63  
    192192      <term>Sysklogd 8-Bit Cleanness Patch - 1 KB:</term>
    193193      <listitem>
    194         <para><ulink url="&lfs-root;patches/downloads/sysklogd/&sysklogd-8bit-patch;"/></para>
     194        <para><ulink url="&patches-root;&sysklogd-8bit-patch;"/></para>
    195195      </listitem>
    196196    </varlistentry>
  • chapter05/adjusting.xml

    r0e5c784 r9e26f63  
    1616  compiler's specs file need to be adjusted.</para>
    1717
    18   <para>The linker, adjusted at the end of the first pass of Binutils,
    19   is installed by running the following command from within the
    20   <filename class="directory">binutils-build</filename> directory:</para>
     18  <para>The linker, adjusted at the end of the first pass of Binutils, needs
     19  to be renamed so that it can be properly found and used. First, backup the
     20  original linker, then replace it with the adjusted linker. We'll also
     21  create a link to its counterpart in <filename class="directory">
     22  /tools/$(gcc -dumpmachine)/bin</filename></para>
    2123
    22 <screen><userinput>make -C ld install</userinput></screen>
     24<screen><userinput>mv -v /tools/bin/{ld,ld-old}
     25mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
     26mv -v /tools/bin/{ld-new,ld}
     27ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen>
    2328
    2429  <para>From this point onwards, everything will link only against the
    2530  libraries in <filename class="directory">/tools/lib</filename>.</para>
    26 
    27   <note>
    28     <para>If the earlier warning to retain the Binutils source and
    29     build directories from the first pass was missed, ignore the above
    30     command. This results in a small chance that the subsequent testing
    31     programs will link against libraries on the host. This is not ideal,
    32     but it is not a major problem. The situation is corrected when the
    33     second pass of Binutils is installed later.</para>
    34   </note>
    35 
    36   <para>Now that the adjusted linker is installed, the Binutils build and source
    37   directories should be removed.</para>
    3831
    3932  <para>The next task is to point GCC to the new dynamic linker. This is done by
  • chapter05/bash.xml

    r0e5c784 r9e26f63  
    4747
    4848    <variablelist>
    49       <title>The meaning of the configure options:</title>
     49      <title>The meaning of the configure option:</title>
    5050
    5151      <varlistentry>
    5252        <term><parameter>--without-bash-malloc</parameter></term>
    5353        <listitem>
    54           <para>This options turns off the use of Bash's memory allocation
     54          <para>This option turns off the use of Bash's memory allocation
    5555          (<function>malloc</function>) function which is known to cause
    5656          segmentation faults. By turning this option off, Bash will use
  • chapter05/binutils-pass1.xml

    r0e5c784 r9e26f63  
    106106
    107107<screen><userinput>make -C ld clean
    108 make -C ld LIB_PATH=/tools/lib</userinput></screen>
     108make -C ld LIB_PATH=/tools/lib
     109cp -v ld/ld-new /tools/bin</userinput></screen>
    109110
    110111    <variablelist>
     
    135136    </variablelist>
    136137
    137     <warning>
    138       <para><emphasis>Do not</emphasis> remove the Binutils build and source
    139       directories yet. These will be needed again in their current state later
    140       in this chapter.</para>
    141     </warning>
    142 
    143138  </sect2>
    144139
  • chapter05/binutils-pass2.xml

    r0e5c784 r9e26f63  
    8787
    8888<screen><userinput>make -C ld clean
    89 make -C ld LDFLAGS="-s" LIB_PATH=/usr/lib:/lib
     89make -C ld LIB_PATH=/usr/lib:/lib
    9090cp -v ld/ld-new /tools/bin</userinput></screen>
    9191
  • chapter05/gcc-pass1.xml

    r0e5c784 r9e26f63  
    9494
    9595    <variablelist>
    96       <title>The meaning of the make parameters:</title>
     96      <title>The meaning of the make parameter:</title>
    9797
    9898      <varlistentry>
  • chapter05/gettext.xml

    r0e5c784 r9e26f63  
    5151
    5252    <variablelist>
    53       <title>The meaning of the configure options:</title>
     53      <title>The meaning of the configure option:</title>
    5454
    5555      <varlistentry>
  • chapter05/grep.xml

    r0e5c784 r9e26f63  
    4848
    4949    <variablelist>
    50       <title>The meaning of the configure options:</title>
     50      <title>The meaning of the configure option:</title>
    5151
    5252      <varlistentry>
  • chapter05/introduction.xml

    r0e5c784 r9e26f63  
    5353    <para>After installing each package, delete its source and build directories,
    5454    unless specifically instructed otherwise. Deleting the sources prevents
    55     mis-configuration when the same package is reinstalled later. Only three
    56     of the packages need to retain the source and build directories in order
    57     for their contents to be used by later commands. Pay special attention to
    58     these reminders.</para>
     55    mis-configuration when the same package is reinstalled later.</para>
    5956  </important>
    6057
  • chapter06/aboutdebug.xml

    r0e5c784 r9e26f63  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-aboutdebug">
    7 <title>About Debugging Symbols</title>
    8 <?dbhtml filename="aboutdebug.html"?>
     9  <?dbhtml filename="aboutdebug.html"?>
    910
    10 <para>Most programs and libraries are, by default, compiled with
    11 debugging symbols included (with <command>gcc</command>'s
    12 <parameter>-g</parameter> option). This means that when debugging a
    13 program or library that was compiled with debugging information
    14 included, the debugger can provide not only memory addresses, but also
    15 the names of the routines and variables.</para>
     11  <title>About Debugging Symbols</title>
    1612
    17 <para>However, the inclusion of these debugging symbols enlarges a
    18 program or library significantly. The following is an example of the
    19 amount of space these symbols occupy:</para>
    20  
    21 <itemizedlist>
     13  <para>Most programs and libraries are, by default, compiled with
     14  debugging symbols included (with <command>gcc</command>'s
     15  <parameter>-g</parameter> option). This means that when debugging a
     16  program or library that was compiled with debugging information
     17  included, the debugger can provide not only memory addresses, but also
     18  the names of the routines and variables.</para>
    2219
    23 <listitem><para>a bash binary
    24 with debugging symbols: 1200 KB</para></listitem>
     20  <para>However, the inclusion of these debugging symbols enlarges a
     21  program or library significantly. The following is an example of the
     22  amount of space these symbols occupy:</para>
    2523
    26 <listitem><para>a bash binary
    27 without debugging symbols: 480 KB</para></listitem>
     24  <itemizedlist>
     25    <listitem>
     26      <para>A <command>bash</command> binary with debugging symbols:
     27      1200 KB</para>
     28    </listitem>
     29    <listitem>
     30      <para>A <command>bash</command> binary without debugging symbols:
     31      480 KB</para>
     32    </listitem>
     33    <listitem>
     34      <para>Glibc and GCC files (<filename class="directory">/lib</filename>
     35      and <filename class="directory">/usr/lib</filename>) with debugging
     36      symbols: 87 MB</para>
     37    </listitem>
     38    <listitem>
     39      <para>Glibc and GCC files without debugging symbols: 16 MB</para>
     40    </listitem>
     41  </itemizedlist>
    2842
    29 <listitem><para>Glibc and GCC files (<filename class="directory">/lib</filename>
    30 and <filename class="directory">/usr/lib</filename>)
    31 with debugging symbols: 87 MB</para></listitem>
     43  <para>Sizes may vary depending on which compiler and C library were used,
     44  but when comparing programs with and without debugging symbols, the
     45  difference will usually be a factor between two and five.</para>
    3246
    33 <listitem><para>Glibc and GCC files
    34 without debugging symbols: 16 MB</para></listitem>
    35 
    36 </itemizedlist>
    37 
    38 <para>Sizes may vary depending on which compiler and C
    39 library were used, but when comparing programs with and without debugging
    40 symbols, the difference will usually be a factor between two and
    41 five.</para>
    42 
    43 <para>Because most users will never use a debugger on their system
    44 software, a lot of disk space can be regained by removing these
    45 symbols. The next section shows how to strip all debugging symbols
    46 from the programs and libraries. Additional information on system
    47 optimization can be found at <ulink url="&hints-root;optimization.txt"/>.</para>
     47  <para>Because most users will never use a debugger on their system software,
     48  a lot of disk space can be regained by removing these symbols. The next
     49  section shows how to strip all debugging symbols from the programs and
     50  libraries. Additional information on system optimization can be found at
     51  <ulink url="&hints-root;optimization.txt"/>.</para>
    4852
    4953</sect1>
    50 
  • chapter06/autoconf.xml

    r0e5c784 r9e26f63  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-autoconf" role="wrap">
    7 <title>Autoconf-&autoconf-version;</title>
    8 <?dbhtml filename="autoconf.html"?>
     9  <?dbhtml filename="autoconf.html"?>
    910
    10 <indexterm zone="ch-system-autoconf"><primary sortas="a-Autoconf">Autoconf</primary></indexterm>
     11  <title>Autoconf-&autoconf-version;</title>
    1112
    12 <sect2 role="package"><title/>
    13 <para>The Autoconf package contains programs for producing shell scripts that
    14 can automatically configure source code.</para>
     13  <indexterm zone="ch-system-autoconf">
     14    <primary sortas="a-Autoconf">Autoconf</primary>
     15  </indexterm>
    1516
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>0.5 SBU</seg><seg>8.5 MB</seg></seglistitem>
    20 </segmentedlist>
     17  <sect2 role="package">
     18    <title/>
    2119
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Bash, Coreutils, Diffutils, Grep,
    25 M4, Make, Perl, and Sed</seg></seglistitem>
    26 </segmentedlist>
    27 </sect2>
     20    <para>The Autoconf package contains programs for producing shell scripts that
     21    can automatically configure source code.</para>
    2822
    29 <sect2 role="installation">
    30 <title>Installation of Autoconf</title>
     23    <segmentedlist>
     24      <segtitle>&buildtime;</segtitle>
     25      <segtitle>&diskspace;</segtitle>
    3126
    32 <para>Prepare Autoconf for compilation:</para>
     27      <seglistitem>
     28        <seg>0.5 SBU</seg>
     29        <seg>8.5 MB</seg>
     30      </seglistitem>
     31    </segmentedlist>
     32
     33    <segmentedlist>
     34    <segtitle>&dependencies;</segtitle>
     35
     36      <seglistitem>
     37        <seg>Bash, Coreutils, Diffutils, Grep, M4, Make, Perl, and Sed</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of Autoconf</title>
     45
     46    <para>Prepare Autoconf for compilation:</para>
    3347
    3448<screen><userinput>./configure --prefix=/usr</userinput></screen>
    3549
    36 <para>Compile the package:</para>
     50    <para>Compile the package:</para>
    3751
    3852<screen><userinput>make</userinput></screen>
    3953
    40 <para>To test the results, issue:
    41 <userinput>make check</userinput>. This takes a long time, about 2 SBUs.</para>
     54    <para>To test the results, issue:
     55    <userinput>make check</userinput>.
     56    This takes a long time, about 2 SBUs.</para>
    4257
    43 <para>Install the package:</para>
     58    <para>Install the package:</para>
    4459
    4560<screen><userinput>make install</userinput></screen>
    4661
    47 </sect2>
     62  </sect2>
    4863
    49 <sect2 id="contents-autoconf" role="content"><title>Contents of Autoconf</title>
     64  <sect2 id="contents-autoconf" role="content">
     65    <title>Contents of Autoconf</title>
    5066
    51 <segmentedlist>
    52 <segtitle>Installed programs</segtitle>
    53 <seglistitem><seg>autoconf, autoheader, autom4te,
    54 autoreconf, autoscan, autoupdate, and ifnames</seg></seglistitem>
    55 </segmentedlist>
     67    <segmentedlist>
     68      <segtitle>Installed programs</segtitle>
    5669
    57 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    58 <?dbfo list-presentation="list"?>
    59 <?dbhtml list-presentation="table"?>
     70      <seglistitem>
     71        <seg>autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate,
     72        and ifnames</seg>
     73      </seglistitem>
     74    </segmentedlist>
    6075
    61 <varlistentry id="autoconf">
    62 <term><command>autoconf</command></term>
    63 <listitem>
    64 <para>Produces shell scripts that automatically
    65 configure software source code packages to adapt to many kinds of
    66 Unix-like systems. The configuration scripts it produces are
    67 independent&mdash;running them does not require the <command>autoconf</command> program.</para>
    68 <indexterm zone="ch-system-autoconf autoconf"><primary sortas="b-autoconf">autoconf</primary></indexterm>
    69 </listitem>
    70 </varlistentry>
     76    <variablelist>
     77      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     78      <?dbfo list-presentation="list"?>
     79      <?dbhtml list-presentation="table"?>
    7180
    72 <varlistentry id="autoheader">
    73 <term><command>autoheader</command> </term>
    74 <listitem>
    75 <para>A tool for creating template files of C
    76 <emphasis>#define</emphasis> statements for configure to use</para>
    77 <indexterm zone="ch-system-autoconf autoheader"><primary sortas="b-autoheader">autoheader</primary></indexterm>
    78 </listitem>
    79 </varlistentry>
     81      <varlistentry id="autoconf">
     82        <term><command>autoconf</command></term>
     83        <listitem>
     84          <para>Produces shell scripts that automatically configure software
     85          source code packages to adapt to many kinds of Unix-like systems.
     86          The configuration scripts it produces are independent&mdash;running
     87          them does not require the <command>autoconf</command> program.</para>
     88          <indexterm zone="ch-system-autoconf autoconf">
     89            <primary sortas="b-autoconf">autoconf</primary>
     90          </indexterm>
     91        </listitem>
     92      </varlistentry>
    8093
    81 <varlistentry id="autom4te">
    82 <term><command>autom4te</command></term>
    83 <listitem>
    84 <para>A wrapper for the M4 macro processor</para>
    85 <indexterm zone="ch-system-autoconf autom4te"><primary sortas="b-autom4te">autom4te</primary></indexterm>
    86 </listitem>
    87 </varlistentry>
     94      <varlistentry id="autoheader">
     95        <term><command>autoheader</command> </term>
     96        <listitem>
     97          <para>A tool for creating template files of C
     98          <emphasis>#define</emphasis> statements for configure to use</para>
     99          <indexterm zone="ch-system-autoconf autoheader">
     100            <primary sortas="b-autoheader">autoheader</primary>
     101          </indexterm>
     102        </listitem>
     103      </varlistentry>
    88104
    89 <varlistentry id="autoreconf">
    90 <term><command>autoreconf</command></term>
    91 <listitem>
    92 <para>Automatically runs <command>autoconf</command>,
    93 <command>autoheader</command>, <command>aclocal</command>,
    94 <command>automake</command>, <command>gettextize</command>, and
    95 <command>libtoolize</command> in the correct order to save time
    96 when changes are made to <command>autoconf</command> and
    97 <command>automake</command> template files</para>
    98 <indexterm zone="ch-system-autoconf autoreconf"><primary sortas="b-autoreconf">autoreconf</primary></indexterm>
    99 </listitem>
    100 </varlistentry>
     105      <varlistentry id="autom4te">
     106        <term><command>autom4te</command></term>
     107        <listitem>
     108          <para>A wrapper for the M4 macro processor</para>
     109          <indexterm zone="ch-system-autoconf autom4te">
     110            <primary sortas="b-autom4te">autom4te</primary>
     111          </indexterm>
     112        </listitem>
     113      </varlistentry>
    101114
    102 <varlistentry id="autoscan">
    103 <term><command>autoscan</command> </term>
    104 <listitem>
    105 <para>Helps to create a <filename>configure.in</filename> file for a
    106 software package; it examines the source files in a directory tree,
    107 searching them for common portability issues, and creates a
    108 <filename>configure.scan</filename> file that serves as as a
    109 preliminary <filename>configure.in</filename> file for the
    110 package</para>
    111 <indexterm zone="ch-system-autoconf autoscan"><primary sortas="b-autoscan">autoscan</primary></indexterm>
    112 </listitem>
    113 </varlistentry>
     115      <varlistentry id="autoreconf">
     116        <term><command>autoreconf</command></term>
     117        <listitem>
     118          <para>Automatically runs <command>autoconf</command>,
     119          <command>autoheader</command>, <command>aclocal</command>,
     120          <command>automake</command>, <command>gettextize</command>, and
     121          <command>libtoolize</command> in the correct order to save time
     122          when changes are made to <command>autoconf</command> and
     123          <command>automake</command> template files</para>
     124          <indexterm zone="ch-system-autoconf autoreconf">
     125            <primary sortas="b-autoreconf">autoreconf</primary>
     126          </indexterm>
     127        </listitem>
     128      </varlistentry>
    114129
    115 <varlistentry id="autoupdate">
    116 <term><command>autoupdate</command></term>
    117 <listitem>
    118 <para>Modifies a <filename>configure.in</filename> file that still
    119 calls <command>autoconf</command> macros by their old names to use the
    120 current macro names</para>
    121 <indexterm zone="ch-system-autoconf autoupdate"><primary sortas="b-autoupdate">autoupdate</primary></indexterm>
    122 </listitem>
    123 </varlistentry>
     130      <varlistentry id="autoscan">
     131        <term><command>autoscan</command> </term>
     132        <listitem>
     133          <para>Helps to create a <filename>configure.in</filename> file for a
     134          software package; it examines the source files in a directory tree,
     135          searching them for common portability issues, and creates a
     136          <filename>configure.scan</filename> file that serves as as a
     137          preliminary <filename>configure.in</filename> file for the
     138          package</para>
     139          <indexterm zone="ch-system-autoconf autoscan">
     140            <primary sortas="b-autoscan">autoscan</primary>
     141          </indexterm>
     142        </listitem>
     143      </varlistentry>
    124144
    125 <varlistentry id="ifnames">
    126 <term><command>ifnames</command> </term>
    127 <listitem>
    128 <para>Helps when writing <filename>configure.in</filename> files
    129 for a software package; it prints the identifiers that the package
    130 uses in C preprocessor conditionals. If a package has already been set
    131 up to have some portability, this program can help determine what
    132 <command>configure</command> needs to check for. It can also fill in
    133 gaps in a <filename>configure.in</filename> file generated by
    134 <command>autoscan</command></para>
    135 <indexterm zone="ch-system-autoconf ifnames"><primary sortas="b-ifnames">ifnames</primary></indexterm>
    136 </listitem>
    137 </varlistentry>
    138 </variablelist>
     145      <varlistentry id="autoupdate">
     146        <term><command>autoupdate</command></term>
     147        <listitem>
     148          <para>Modifies a <filename>configure.in</filename> file that still
     149          calls <command>autoconf</command> macros by their old names to use the
     150          current macro names</para>
     151          <indexterm zone="ch-system-autoconf autoupdate">
     152            <primary sortas="b-autoupdate">autoupdate</primary>
     153          </indexterm>
     154        </listitem>
     155      </varlistentry>
    139156
    140 </sect2>
     157      <varlistentry id="ifnames">
     158        <term><command>ifnames</command> </term>
     159        <listitem>
     160          <para>Helps when writing <filename>configure.in</filename> files
     161          for a software package; it prints the identifiers that the package
     162          uses in C preprocessor conditionals. If a package has already been set
     163          up to have some portability, this program can help determine what
     164          <command>configure</command> needs to check for. It can also fill in
     165          gaps in a <filename>configure.in</filename> file generated by
     166          <command>autoscan</command></para>
     167          <indexterm zone="ch-system-autoconf ifnames">
     168            <primary sortas="b-ifnames">ifnames</primary>
     169          </indexterm>
     170        </listitem>
     171      </varlistentry>
     172
     173    </variablelist>
     174
     175  </sect2>
    141176
    142177</sect1>
    143 
  • chapter06/automake.xml

    r0e5c784 r9e26f63  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-automake" role="wrap">
    7 <title>Automake-&automake-version;</title>
    8 <?dbhtml filename="automake.html"?>
    9 
    10 <indexterm zone="ch-system-automake"><primary sortas="a-Automake">Automake</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Automake package contains programs for generating Makefiles for use
    14 with Autoconf.</para>
    15 
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>0.2 SBU</seg><seg>8.8 MB</seg></seglistitem>
    20 </segmentedlist>
    21 
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Autoconf, Bash, Coreutils,
    25 Diffutils, Grep, M4, Make, Perl, and Sed</seg></seglistitem>
    26 </segmentedlist>
    27 </sect2>
    28 
    29 <sect2 role="installation">
    30 <title>Installation of Automake</title>
    31 
    32 <para>Prepare Automake for compilation:</para>
     9  <?dbhtml filename="automake.html"?>
     10
     11  <title>Automake-&automake-version;</title>
     12
     13  <indexterm zone="ch-system-automake">
     14    <primary sortas="a-Automake">Automake</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Automake package contains programs for generating Makefiles for use
     21    with Autoconf.</para>
     22
     23    <segmentedlist>
     24      <segtitle>&buildtime;</segtitle>
     25      <segtitle>&diskspace;</segtitle>
     26
     27      <seglistitem>
     28        <seg>0.2 SBU</seg>
     29        <seg>8.8 MB</seg>
     30      </seglistitem>
     31    </segmentedlist>
     32
     33    <segmentedlist>
     34      <segtitle>&dependencies;</segtitle>
     35
     36      <seglistitem>
     37        <seg>Autoconf, Bash, Coreutils, Diffutils, Grep, M4, Make, Perl,
     38        and Sed</seg>
     39      </seglistitem>
     40    </segmentedlist>
     41
     42  </sect2>
     43
     44  <sect2 role="installation">
     45    <title>Installation of Automake</title>
     46
     47    <para>Prepare Automake for compilation:</para>
    3348
    3449<screen><userinput>./configure --prefix=/usr</userinput></screen>
    3550
    36 <para>Compile the package:</para>
     51    <para>Compile the package:</para>
    3752
    3853<screen><userinput>make</userinput></screen>
    3954
    40 <para>To test the results, issue:
    41 <userinput>make check</userinput>. This takes a long time, about 5 SBUs.</para>
    42 
    43 <para>Install the package:</para>
     55    <para>To test the results, issue:
     56    <userinput>make check</userinput>.
     57    This takes a long time, about 5 SBUs.</para>
     58
     59    <para>Install the package:</para>
    4460
    4561<screen><userinput>make install</userinput></screen>
    4662
    47 </sect2>
    48 
    49 
    50 <sect2 id="contents-automake" role="content"><title>Contents of Automake</title>
    51 
    52 <segmentedlist>
    53 <segtitle>Installed programs</segtitle>
    54 <seglistitem><seg>acinstall, aclocal, aclocal-&automake-version;,
    55 automake, automake-&automake-version;,
    56 compile, config.guess, config.sub, depcomp, elisp-comp, install-sh, mdate-sh,
    57 missing, mkinstalldirs, py-compile, symlink-tree, and ylwrap</seg></seglistitem>
    58 </segmentedlist>
    59 
    60 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    61 <?dbfo list-presentation="list"?>
    62 <?dbhtml list-presentation="table"?>
    63 
    64 <varlistentry id="acinstall">
    65 <term><command>acinstall</command></term>
    66 <listitem>
    67 <para>A script that installs aclocal-style M4 files</para>
    68 <indexterm zone="ch-system-automake acinstall"><primary sortas="b-acinstall">acinstall</primary></indexterm>
    69 </listitem>
    70 </varlistentry>
    71 
    72 <varlistentry id="aclocal">
    73 <term><command>aclocal</command></term>
    74 <listitem>
    75 <para>Generates <filename>aclocal.m4</filename>
    76 files based on the contents of <filename>configure.in</filename> files</para>
    77 <indexterm zone="ch-system-automake aclocal"><primary sortas="b-aclocal">aclocal</primary></indexterm>
    78 </listitem>
    79 </varlistentry>
    80 
    81 <varlistentry id="aclocal-version">
    82 <term><command>aclocal-&automake-version;</command></term>
    83 <listitem>
    84 <para>A hard link to <command>aclocal</command></para>
    85 <indexterm zone="ch-system-automake aclocal-version"><primary
    86 sortas="b-aclocal-&automake-version;">aclocal-&automake-version;</primary></indexterm>
    87 </listitem>
    88 </varlistentry>
    89 
    90 <varlistentry id="automake">
    91 <term><command>automake</command></term>
    92 <listitem>
    93 <para>A tool for automatically generating
    94 <filename>Makefile.in</filename> files from
    95 <filename>Makefile.am</filename> files. To create all the
    96 <filename>Makefile.in</filename> files for a package, run this program
    97 in the top-level directory. By scanning the
    98 <filename>configure.in</filename> file, it automatically finds each
    99 appropriate <filename>Makefile.am</filename> file and generates the
    100 corresponding <filename>Makefile.in</filename> file</para>
    101 <indexterm zone="ch-system-automake automake"><primary sortas="b-automake">automake</primary></indexterm>
    102 </listitem>
    103 </varlistentry>
    104 
    105 <varlistentry id="automake-version">
    106 <term><command>automake-&automake-version;</command></term>
    107 <listitem>
    108 <para>A hard link to <command>automake</command></para>
    109 <indexterm zone="ch-system-automake automake-version"><primary
    110 sortas="b-automake-&automake-version;">automake-&automake-version;</primary></indexterm>
    111 </listitem>
    112 </varlistentry>
    113 
    114 <varlistentry id="compile">
    115 <term><command>compile</command></term>
    116 <listitem>
    117 <para>A wrapper for compilers</para>
    118 <indexterm zone="ch-system-automake compile"><primary sortas="b-compile">compile</primary></indexterm>
    119 </listitem>
    120 </varlistentry>
    121 
    122 <varlistentry id="config.guess">
    123 <term><command>config.guess</command></term>
    124 <listitem>
    125 <para>A script that attempts to guess
    126 the canonical triplet for the given build, host, or target architecture</para>
    127 <indexterm zone="ch-system-automake config.guess"><primary sortas="b-config.guess">config.guess</primary></indexterm>
    128 </listitem>
    129 </varlistentry>
    130 
    131 <varlistentry id="config.sub">
    132 <term><command>config.sub</command></term>
    133 <listitem>
    134 <para>A configuration validation subroutine script</para>
    135 <indexterm zone="ch-system-automake config.sub"><primary sortas="b-config.sub">config.sub</primary></indexterm>
    136 </listitem>
    137 </varlistentry>
    138 
    139 <varlistentry id="depcomp">
    140 <term><command>depcomp</command></term>
    141 <listitem>
    142 <para>A script for compiling a program so that dependency information
    143 is generated in addition to the desired output</para>
    144 <indexterm zone="ch-system-automake depcomp"><primary sortas="b-depcomp">depcomp</primary></indexterm>
    145 </listitem>
    146 </varlistentry>
    147 
    148 <varlistentry id="elisp-comp">
    149 <term><command>elisp-comp</command></term>
    150 <listitem>
    151 <para>Byte-compiles Emacs Lisp code</para>
    152 <indexterm zone="ch-system-automake elisp-comp"><primary sortas="b-elisp-comp">elisp-comp</primary></indexterm>
    153 </listitem>
    154 </varlistentry>
    155 
    156 <varlistentry id="install-sh">
    157 <term><command>install-sh</command></term>
    158 <listitem>
    159 <para>A script that installs a program, script, or data file</para>
    160 <indexterm zone="ch-system-automake install-sh"><primary sortas="b-install-sh">install-sh</primary></indexterm>
    161 </listitem>
    162 </varlistentry>
    163 
    164 <varlistentry id="mdate-sh">
    165 <term><command>mdate-sh</command></term>
    166 <listitem>
    167 <para>A script that prints the modification time of a file or directory</para>
    168 <indexterm zone="ch-system-automake mdate-sh"><primary sortas="b-mdate-sh">mdate-sh</primary></indexterm>
    169 </listitem>
    170 </varlistentry>
    171 
    172 <varlistentry id="missing">
    173 <term><command>missing</command></term>
    174 <listitem>
    175 <para>A script acting as a common stub for missing GNU programs during
    176 an installation</para>
    177 <indexterm zone="ch-system-automake missing"><primary sortas="b-missing">missing</primary></indexterm>
    178 </listitem>
    179 </varlistentry>
    180 
    181 <varlistentry id="mkinstalldirs">
    182 <term><command>mkinstalldirs</command></term>
    183 <listitem>
    184 <para>A script that creates a directory tree</para>
    185 <indexterm zone="ch-system-automake mkinstalldirs"><primary sortas="b-mkinstalldirs">mkinstalldirs</primary></indexterm>
    186 </listitem>
    187 </varlistentry>
    188 
    189 <varlistentry id="py-compile">
    190 <term><command>py-compile</command></term>
    191 <listitem>
    192 <para>Compiles a Python program</para>
    193 <indexterm zone="ch-system-automake py-compile"><primary sortas="b-py-compile">py-compile</primary></indexterm>
    194 </listitem>
    195 </varlistentry>
    196 
    197 <varlistentry id="symlink-tree">
    198 <term><command>symlink-tree</command></term>
    199 <listitem>
    200 <para>A script to create a symlink tree of a directory tree</para>
    201 <indexterm zone="ch-system-automake symlink-tree"><primary sortas="b-symlink-tree">symlink-tree</primary></indexterm>
    202 </listitem>
    203 </varlistentry>
    204 
    205 <varlistentry id="ylwrap">
    206 <term><command>ylwrap</command></term>
    207 <listitem>
    208 <para>A wrapper for <command>lex</command> and <command>yacc</command></para>
    209 <indexterm zone="ch-system-automake ylwrap"><primary sortas="b-ylwrap">ylwrap</primary></indexterm>
    210 </listitem>
    211 </varlistentry>
    212 </variablelist>
    213 
    214 </sect2>
     63  </sect2>
     64
     65
     66  <sect2 id="contents-automake" role="content">
     67    <title>Contents of Automake</title>
     68
     69    <segmentedlist>
     70      <segtitle>Installed programs</segtitle>
     71
     72      <seglistitem>
     73        <seg>acinstall, aclocal, aclocal-&automake-version;, automake,
     74        automake-&automake-version;, compile, config.guess, config.sub,
     75        depcomp, elisp-comp, install-sh, mdate-sh, missing, mkinstalldirs,
     76        py-compile, symlink-tree, and ylwrap</seg>
     77      </seglistitem>
     78    </segmentedlist>
     79
     80    <variablelist>
     81      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     82      <?dbfo list-presentation="list"?>
     83      <?dbhtml list-presentation="table"?>
     84
     85      <varlistentry id="acinstall">
     86        <term><command>acinstall</command></term>
     87        <listitem>
     88          <para>A script that installs aclocal-style M4 files</para>
     89          <indexterm zone="ch-system-automake acinstall">
     90            <primary sortas="b-acinstall">acinstall</primary>
     91          </indexterm>
     92        </listitem>
     93      </varlistentry>
     94
     95      <varlistentry id="aclocal">
     96        <term><command>aclocal</command></term>
     97        <listitem>
     98          <para>Generates <filename>aclocal.m4</filename> files based on the
     99          contents of <filename>configure.in</filename> files</para>
     100          <indexterm zone="ch-system-automake aclocal">
     101            <primary sortas="b-aclocal">aclocal</primary>
     102          </indexterm>
     103        </listitem>
     104      </varlistentry>
     105
     106      <varlistentry id="aclocal-version">
     107        <term><command>aclocal-&automake-version;</command></term>
     108        <listitem>
     109          <para>A hard link to <command>aclocal</command></para>
     110          <indexterm zone="ch-system-automake aclocal-version">
     111            <primary sortas="b-aclocal-&automake-version;">aclocal-&automake-version;</primary>
     112          </indexterm>
     113        </listitem>
     114      </varlistentry>
     115
     116      <varlistentry id="automake">
     117        <term><command>automake</command></term>
     118        <listitem>
     119          <para>A tool for automatically generating
     120          <filename>Makefile.in</filename> files from
     121          <filename>Makefile.am</filename> files. To create all the
     122          <filename>Makefile.in</filename> files for a package, run this program
     123          in the top-level directory. By scanning the
     124          <filename>configure.in</filename> file, it automatically finds each
     125          appropriate <filename>Makefile.am</filename> file and generates the
     126          corresponding <filename>Makefile.in</filename> file</para>
     127          <indexterm zone="ch-system-automake automake">
     128            <primary sortas="b-automake">automake</primary>
     129          </indexterm>
     130        </listitem>
     131      </varlistentry>
     132
     133      <varlistentry id="automake-version">
     134        <term><command>automake-&automake-version;</command></term>
     135        <listitem>
     136          <para>A hard link to <command>automake</command></para>
     137          <indexterm zone="ch-system-automake automake-version">
     138            <primary sortas="b-automake-&automake-version;">automake-&automake-version;</primary>
     139          </indexterm>
     140        </listitem>
     141      </varlistentry>
     142
     143      <varlistentry id="compile">
     144        <term><command>compile</command></term>
     145        <listitem>
     146          <para>A wrapper for compilers</para>
     147          <indexterm zone="ch-system-automake compile">
     148            <primary sortas="b-compile">compile</primary>
     149          </indexterm>
     150        </listitem>
     151      </varlistentry>
     152
     153      <varlistentry id="config.guess">
     154        <term><command>config.guess</command></term>
     155        <listitem>
     156          <para>A script that attempts to guess the canonical triplet for
     157          the given build, host, or target architecture</para>
     158          <indexterm zone="ch-system-automake config.guess">
     159            <primary sortas="b-config.guess">config.guess</primary>
     160          </indexterm>
     161        </listitem>
     162      </varlistentry>
     163
     164      <varlistentry id="config.sub">
     165        <term><command>config.sub</command></term>
     166        <listitem>
     167          <para>A configuration validation subroutine script</para>
     168          <indexterm zone="ch-system-automake config.sub">
     169            <primary sortas="b-config.sub">config.sub</primary>
     170          </indexterm>
     171        </listitem>
     172      </varlistentry>
     173
     174      <varlistentry id="depcomp">
     175        <term><command>depcomp</command></term>
     176        <listitem>
     177          <para>A script for compiling a program so that dependency information
     178          is generated in addition to the desired output</para>
     179          <indexterm zone="ch-system-automake depcomp">
     180            <primary sortas="b-depcomp">depcomp</primary>
     181          </indexterm>
     182        </listitem>
     183      </varlistentry>
     184
     185      <varlistentry id="elisp-comp">
     186        <term><command>elisp-comp</command></term>
     187        <listitem>
     188          <para>Byte-compiles Emacs Lisp code</para>
     189          <indexterm zone="ch-system-automake elisp-comp">
     190            <primary sortas="b-elisp-comp">elisp-comp</primary>
     191          </indexterm>
     192        </listitem>
     193      </varlistentry>
     194
     195      <varlistentry id="install-sh">
     196        <term><command>install-sh</command></term>
     197        <listitem>
     198          <para>A script that installs a program, script, or data file</para>
     199          <indexterm zone="ch-system-automake install-sh">
     200            <primary sortas="b-install-sh">install-sh</primary>
     201          </indexterm>
     202        </listitem>
     203      </varlistentry>
     204
     205      <varlistentry id="mdate-sh">
     206        <term><command>mdate-sh</command></term>
     207        <listitem>
     208          <para>A script that prints the modification time of a file or
     209          directory</para>
     210          <indexterm zone="ch-system-automake mdate-sh">
     211            <primary sortas="b-mdate-sh">mdate-sh</primary>
     212          </indexterm>
     213        </listitem>
     214      </varlistentry>
     215
     216      <varlistentry id="missing">
     217        <term><command>missing</command></term>
     218        <listitem>
     219          <para>A script acting as a common stub for missing GNU programs during
     220          an installation</para>
     221          <indexterm zone="ch-system-automake missing">
     222            <primary sortas="b-missing">missing</primary>
     223          </indexterm>
     224        </listitem>
     225      </varlistentry>
     226
     227      <varlistentry id="mkinstalldirs">
     228        <term><command>mkinstalldirs</command></term>
     229        <listitem>
     230          <para>A script that creates a directory tree</para>
     231          <indexterm zone="ch-system-automake mkinstalldirs">
     232            <primary sortas="b-mkinstalldirs">mkinstalldirs</primary>
     233          </indexterm>
     234        </listitem>
     235      </varlistentry>
     236
     237      <varlistentry id="py-compile">
     238        <term><command>py-compile</command></term>
     239        <listitem>
     240          <para>Compiles a Python program</para>
     241          <indexterm zone="ch-system-automake py-compile">
     242            <primary sortas="b-py-compile">py-compile</primary>
     243          </indexterm>
     244        </listitem>
     245      </varlistentry>
     246
     247      <varlistentry id="symlink-tree">
     248        <term><command>symlink-tree</command></term>
     249        <listitem>
     250          <para>A script to create a symlink tree of a directory tree</para>
     251          <indexterm zone="ch-system-automake symlink-tree">
     252            <primary sortas="b-symlink-tree">symlink-tree</primary>
     253          </indexterm>
     254        </listitem>
     255      </varlistentry>
     256
     257      <varlistentry id="ylwrap">
     258        <term><command>ylwrap</command></term>
     259        <listitem>
     260          <para>A wrapper for <command>lex</command> and
     261          <command>yacc</command></para>
     262          <indexterm zone="ch-system-automake ylwrap">
     263            <primary sortas="b-ylwrap">ylwrap</primary>
     264          </indexterm>
     265        </listitem>
     266      </varlistentry>
     267
     268    </variablelist>
     269
     270  </sect2>
    215271
    216272</sect1>
    217 
  • chapter06/bash.xml

    r0e5c784 r9e26f63  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-bash" role="wrap">
    7 <title>Bash-&bash-version;</title>
    8 <?dbhtml filename="bash.html"?>
     9  <?dbhtml filename="bash.html"?>
    910
    10 <indexterm zone="ch-system-bash"><primary sortas="a-Bash">Bash</primary></indexterm>
     11  <title>Bash-&bash-version;</title>
    1112
    12 <sect2 role="package"><title/>
    13 <para>The Bash package contains the Bourne-Again SHell.</para>
     13  <indexterm zone="ch-system-bash">
     14    <primary sortas="a-Bash">Bash</primary>
     15  </indexterm>
    1416
    15 <segmentedlist>
    16 <segtitle>&buildtime;</segtitle>
    17 <segtitle>&diskspace;</segtitle>
    18 <seglistitem><seg>1.2 SBU</seg><seg>24.6 MB</seg></seglistitem>
    19 </segmentedlist>
     17  <sect2 role="package">
     18    <title/>
    2019
    21 <segmentedlist>
    22 <segtitle>&dependencies;</segtitle>
    23 <seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
    24 GCC, Glibc, Grep, Make, Ncurses, and Sed.</seg></seglistitem>
    25 </segmentedlist>
    26 </sect2>
     20    <para>The Bash package contains the Bourne-Again SHell.</para>
    2721
    28 <sect2 role="installation">
    29 <title>Installation of Bash</title>
     22    <segmentedlist>
     23      <segtitle>&buildtime;</segtitle>
     24      <segtitle>&diskspace;</segtitle>
    3025
    31 <para>If you downloaded the Bash documentation tarball and wish to install HTML
    32 documentation, issue the following commands:</para>
     26      <seglistitem>
     27        <seg>1.2 SBU</seg>
     28        <seg>24.6 MB</seg>
     29      </seglistitem>
     30    </segmentedlist>
     31
     32    <segmentedlist>
     33      <segtitle>&dependencies;</segtitle>
     34
     35      <seglistitem>
     36        <seg>Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make,
     37        Ncurses, and Sed.</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of Bash</title>
     45
     46    <para>If you downloaded the Bash documentation tarball and wish to install
     47    HTML documentation, issue the following commands:</para>
    3348
    3449<screen><userinput>tar -xvf ../bash-doc-&bash-doc-version;.tar.gz &amp;&amp;
     
    3651    Makefile.in</userinput></screen>
    3752
    38 <para>Prepare Bash for compilation:</para>
     53    <para>Prepare Bash for compilation:</para>
    3954
    4055<screen><userinput>./configure --prefix=/usr --bindir=/bin \
    4156    --without-bash-malloc --with-installed-readline</userinput></screen>
    4257
    43 <para>The meaning of the configure options:</para>
     58    <variablelist>
     59      <title>The meaning of the configure options:</title>
    4460
    45 <variablelist>
    46 <varlistentry>
    47 <term><parameter>--with-installed-readline</parameter></term>
    48 <listitem><para>This option tells Bash to use the
    49 <filename class="libraryfile">readline</filename> library that is already installed
    50 on the system rather than using its own readline version.</para></listitem>
    51 </varlistentry>
    52 </variablelist>
     61      <varlistentry>
     62        <term><parameter>--with-installed-readline</parameter></term>
     63        <listitem>
     64          <para>This option tells Bash to use the <filename
     65          class="libraryfile">readline</filename> library that is already
     66          installed on the system rather than using its own readline
     67          version.</para>
     68        </listitem>
     69      </varlistentry>
    5370
    54 <para>Compile the package:</para>
     71    </variablelist>
     72
     73    <para>Compile the package:</para>
    5574
    5675<screen><userinput>make</userinput></screen>
    5776
    58 <para>To test the results, issue:
    59 <userinput>make tests</userinput>.</para>
     77    <para>To test the results, issue:
     78    <userinput>make tests</userinput>.</para>
    6079
    61 <para>Install the package:</para>
     80    <para>Install the package:</para>
    6281
    6382<screen><userinput>make install</userinput></screen>
    6483
    65 <para>Run the newly compiled <command>bash</command> program (replacing the one that is
    66 currently being executed):</para>
     84    <para>Run the newly compiled <command>bash</command> program (replacing the one that is
     85    currently being executed):</para>
    6786
    6887<screen role="nodump"><userinput>exec /bin/bash --login +h</userinput></screen>
    6988
    70 <note><para>The parameters used make the <command>bash</command>
    71 process an interactive login shell and continue to disable hashing so
    72 that new programs are found as they become available.</para></note>
     89    <note>
     90      <para>The parameters used make the <command>bash</command>
     91      process an interactive login shell and continue to disable hashing so
     92      that new programs are found as they become available.</para>
     93    </note>
    7394
    74 </sect2>
     95  </sect2>
    7596
     97  <sect2 id="contents-bash" role="content">
     98    <title>Contents of Bash</title>
    7699
    77 <sect2 id="contents-bash" role="content"><title>Contents of Bash</title>
     100    <segmentedlist>
     101      <segtitle>Installed programs</segtitle>
    78102
    79 <segmentedlist>
    80 <segtitle>Installed programs</segtitle>
    81 <seglistitem><seg>bash, bashbug, and sh (link to bash)</seg></seglistitem>
    82 </segmentedlist>
     103      <seglistitem>
     104        <seg>bash, bashbug, and sh (link to bash)</seg>
     105      </seglistitem>
     106    </segmentedlist>
    83107
    84 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    85 <?dbfo list-presentation="list"?>
    86 <?dbhtml list-presentation="table"?>
     108    <variablelist>
     109      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     110      <?dbfo list-presentation="list"?>
     111      <?dbhtml list-presentation="table"?>
    87112
    88 <varlistentry id="bash">
    89 <term><command>bash</command></term>
    90 <listitem>
    91 <para>A widely-used command interpreter; it performs many types of
    92 expansions and substitutions on a given command line before executing
    93 it, thus making this interpreter a powerful tool</para>
    94 <indexterm zone="ch-system-bash bash"><primary sortas="b-bash">bash</primary></indexterm>
    95 </listitem>
    96 </varlistentry>
     113      <varlistentry id="bash">
     114        <term><command>bash</command></term>
     115        <listitem>
     116          <para>A widely-used command interpreter; it performs many types of
     117          expansions and substitutions on a given command line before executing
     118          it, thus making this interpreter a powerful tool</para>
     119          <indexterm zone="ch-system-bash bash">
     120            <primary sortas="b-bash">bash</primary>
     121          </indexterm>
     122        </listitem>
     123      </varlistentry>
    97124
    98 <varlistentry id="bashbug">
    99 <term><command>bashbug</command></term>
    100 <listitem>
    101 <para>A shell script to help the user compose and mail standard formatted bug
    102 reports concerning <command>bash</command></para>
    103 <indexterm zone="ch-system-bash bashbug"><primary sortas="b-bashbug">bashbug</primary></indexterm>
    104 </listitem>
    105 </varlistentry>
     125      <varlistentry id="bashbug">
     126        <term><command>bashbug</command></term>
     127        <listitem>
     128          <para>A shell script to help the user compose and mail standard
     129          formatted bug reports concerning <command>bash</command></para>
     130          <indexterm zone="ch-system-bash bashbug">
     131            <primary sortas="b-bashbug">bashbug</primary>
     132          </indexterm>
     133        </listitem>
     134      </varlistentry>
    106135
    107 <varlistentry id="sh">
    108 <term><command>sh</command></term>
    109 <listitem>
    110 <para>A symlink to the <command>bash</command> program; when invoked
    111 as <command>sh</command>, <command>bash</command> tries to mimic the
    112 startup behavior of historical versions of <command>sh</command> as
    113 closely as possible, while conforming to the POSIX standard as well</para>
    114 <indexterm zone="ch-system-bash sh"><primary sortas="b-sh">sh</primary></indexterm>
    115 </listitem>
    116 </varlistentry>
    117 </variablelist>
     136      <varlistentry id="sh">
     137        <term><command>sh</command></term>
     138        <listitem>
     139          <para>A symlink to the <command>bash</command> program; when invoked
     140          as <command>sh</command>, <command>bash</command> tries to mimic the
     141          startup behavior of historical versions of <command>sh</command> as
     142          closely as possible, while conforming to the POSIX standard as
     143          well</para>
     144          <indexterm zone="ch-system-bash sh">
     145            <primary sortas="b-sh">sh</primary>
     146          </indexterm>
     147        </listitem>
     148      </varlistentry>
    118149
    119 </sect2>
     150    </variablelist>
     151
     152  </sect2>
    120153
    121154</sect1>
    122 
  • chapter06/binutils.xml

    r0e5c784 r9e26f63  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-binutils" role="wrap">
    7 <title>Binutils-&binutils-version;</title>
    8 <?dbhtml filename="binutils.html"?>
    9 
    10 <indexterm zone="ch-system-binutils"><primary sortas="a-Binutils">Binutils</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Binutils package contains a linker, an assembler, and other tools for
    14 handling object files.</para>
    15 
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>1.3 SBU</seg><seg>158 MB</seg></seglistitem>
    20 </segmentedlist>
    21 
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Bash, Coreutils, Diffutils, GCC, Gettext,
    25 Glibc, Grep, M4, Make, Perl, Sed, and Texinfo</seg></seglistitem>
    26 </segmentedlist>
    27 </sect2>
    28 
    29 <sect2 role="installation">
    30 <title>Installation of Binutils</title>
    31 
    32 <para>Verify that the PTYs are working properly inside the chroot
    33 environment. Check that everything is set up correctly by performing a
    34 simple test:</para>
     9  <?dbhtml filename="binutils.html"?>
     10
     11  <title>Binutils-&binutils-version;</title>
     12
     13  <indexterm zone="ch-system-binutils">
     14    <primary sortas="a-Binutils">Binutils</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Binutils package contains a linker, an assembler, and other
     21    tools for handling object files.</para>
     22
     23    <segmentedlist>
     24      <segtitle>&buildtime;</segtitle>
     25      <segtitle>&diskspace;</segtitle>
     26
     27      <seglistitem>
     28        <seg>1.3 SBU</seg>
     29        <seg>158 MB</seg>
     30      </seglistitem>
     31    </segmentedlist>
     32
     33    <segmentedlist>
     34      <segtitle>&dependencies;</segtitle>
     35
     36      <seglistitem>
     37        <seg>Bash, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, M4,
     38        Make, Perl, Sed, and Texinfo</seg>
     39      </seglistitem>
     40    </segmentedlist>
     41
     42  </sect2>
     43
     44  <sect2 role="installation">
     45    <title>Installation of Binutils</title>
     46
     47    <para>Verify that the PTYs are working properly inside the chroot
     48    environment. Check that everything is set up correctly by performing a
     49    simple test:</para>
    3550
    3651<screen><userinput>expect -c "spawn ls"</userinput></screen>
    3752
    38 <para>If the following message shows up, the chroot environment is not
    39 set up for proper PTY operation:</para>
    40 
    41 <screen><computeroutput>The system has no more ptys. 
     53    <para>If the following message shows up, the chroot environment is not
     54    set up for proper PTY operation:</para>
     55
     56<screen><computeroutput>The system has no more ptys.
    4257Ask your system administrator to create more.</computeroutput></screen>
    4358
    44 <para>This issue needs to be resolved before running the test suites
    45 for Binutils and GCC.</para>
    46 
    47 <para>The Binutils documentation recommends building Binutils outside of the
    48 source directory in a dedicated build directory:</para>
     59    <para>This issue needs to be resolved before running the test suites
     60    for Binutils and GCC.</para>
     61
     62    <para>The Binutils documentation recommends building Binutils outside of the
     63    source directory in a dedicated build directory:</para>
    4964
    5065<screen><userinput>mkdir -v ../binutils-build
    5166cd ../binutils-build</userinput></screen>
    5267
    53 <para>Prepare Binutils for compilation:</para>
     68    <para>Prepare Binutils for compilation:</para>
    5469
    5570<screen><userinput>../binutils-&binutils-version;/configure --prefix=/usr \
    5671    --enable-shared</userinput></screen>
    5772
    58 <para>Compile the package:</para>
     73    <para>Compile the package:</para>
    5974
    6075<screen><userinput>make tooldir=/usr</userinput></screen>
    6176
    62 <para>Normally, the tooldir (the directory where the executables will ultimately
    63 be located) is set to <filename
    64 class="directory">$(exec_prefix)/$(target_alias)</filename>. For example, i686
    65 machines would expand that to <filename
    66 class="directory">/usr/i686-pc-linux-gnu</filename>. Because this is a custom
    67 system, this target-specific directory in <filename
    68 class="directory">/usr</filename> is not required. <filename
    69 class="directory">$(exec_prefix)/$(target_alias)</filename> would be used if the
    70 system was used to cross-compile (for example, compiling a package on an Intel
    71 machine that generates code that can be executed on PowerPC machines).</para>
    72 
    73 <important><para>The test suite for Binutils in this section is
    74 considered critical. Do not skip it under any
    75 circumstances.</para></important>
    76 
    77 <para>Test the results:</para>
     77    <variablelist>
     78      <title>The meaning of the make parameter:</title>
     79
     80      <varlistentry>
     81        <term><parameter>tooldir=/usr</parameter></term>
     82        <listitem>
     83          <para>Normally, the tooldir (the directory where the executables will
     84          ultimately be located) is set to <filename
     85          class="directory">$(exec_prefix)/$(target_alias)</filename>. For
     86          example, i686 machines would expand that to <filename
     87          class="directory">/usr/i686-pc-linux-gnu</filename>. Because this is
     88          a custom system, this target-specific directory in <filename
     89          class="directory">/usr</filename> is not required. <filename
     90          class="directory">$(exec_prefix)/$(target_alias)</filename> would be
     91          used if the system was used to cross-compile (for example, compiling a
     92          package on an Intel machine that generates code that can be executed
     93          on PowerPC machines).</para>
     94        </listitem>
     95      </varlistentry>
     96
     97    </variablelist>
     98
     99    <important>
     100      <para>The test suite for Binutils in this section is considered critical.
     101      Do not skip it under any circumstances.</para>
     102    </important>
     103
     104    <para>Test the results:</para>
    78105
    79106<screen><userinput>make check</userinput></screen>
    80107
    81 <para>Install the package:</para>
     108    <para>Install the package:</para>
    82109
    83110<screen><userinput>make tooldir=/usr install</userinput></screen>
    84111
    85 <para>Install the <filename class="headerfile">libiberty</filename> header file that is needed by
    86 some packages:</para>
     112    <para>Install the <filename class="headerfile">libiberty</filename> header
     113    file that is needed by some packages:</para>
    87114
    88115<screen><userinput>cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
    89116
    90 </sect2>
    91 
    92 
    93 <sect2 id="contents-binutils" role="content"><title>Contents of Binutils</title>
    94 
    95 <segmentedlist>
    96 <segtitle>Installed programs</segtitle>
    97 <segtitle>Installed libraries</segtitle>
    98 <seglistitem><seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
    99 ranlib, readelf, size, strings, and strip</seg>
    100 <seg>libiberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg></seglistitem>
    101 </segmentedlist>
    102 
    103 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    104 <?dbfo list-presentation="list"?>
    105 <?dbhtml list-presentation="table"?>
    106 
    107 <varlistentry id="addr2line">
    108 <term><command>addr2line</command></term>
    109 <listitem>
    110 <para>Translates program addresses to file names and line numbers;
    111 given an address and the name of an executable, it uses the debugging
    112 information in the executable to determine which source file and line
    113 number are associated with the address</para>
    114 <indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm>
    115 </listitem>
    116 </varlistentry>
    117 
    118 <varlistentry id="ar">
    119 <term><command>ar</command></term>
    120 <listitem>
    121 <para>Creates, modifies, and extracts from archives</para>
    122 <indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm>
    123 </listitem>
    124 </varlistentry>
    125 
    126 <varlistentry id="as">
    127 <term><command>as</command></term>
    128 <listitem>
    129 <para>An assembler that assembles the output of <command>gcc</command>
    130 into object files</para>
    131 <indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm>
    132 </listitem>
    133 </varlistentry>
    134 
    135 <varlistentry id="c-filt">
    136 <term><command>c++filt</command></term>
    137 <listitem>
    138 <para>Used by the linker to de-mangle C++ and Java symbols and to keep
    139 overloaded functions from clashing</para>
    140 <indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm>
    141 </listitem>
    142 </varlistentry>
    143 
    144 <varlistentry id="gprof">
    145 <term><command>gprof</command></term>
    146 <listitem>
    147 <para>Displays call graph profile data</para>
    148 <indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm>
    149 </listitem>
    150 </varlistentry>
    151 
    152 <varlistentry id="ld">
    153 <term><command>ld</command></term>
    154 <listitem>
    155 <para>A linker that combines a number of object and archive files into a single file,
    156 relocating their data and tying up symbol references</para>
    157 <indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm>
    158 </listitem>
    159 </varlistentry>
    160 
    161 <varlistentry id="nm">
    162 <term><command>nm</command></term>
    163 <listitem>
    164 <para>Lists the symbols occurring in a given object file</para>
    165 <indexterm zone="ch-system-binutils nm"><primary sortas="b-nm">nm</primary></indexterm>
    166 </listitem>
    167 </varlistentry>
    168 
    169 <varlistentry id="objcopy">
    170 <term><command>objcopy</command></term>
    171 <listitem>
    172 <para>Translates one type of object file into another</para>
    173 <indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm>
    174 </listitem>
    175 </varlistentry>
    176 
    177 <varlistentry id="objdump">
    178 <term><command>objdump</command></term>
    179 <listitem>
    180 <para>Displays information about the given object file, with options
    181 controlling the particular information to display; the information
    182 shown is useful to programmers who are working on the compilation
    183 tools</para>
    184 <indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm>
    185 </listitem>
    186 </varlistentry>
    187 
    188 <varlistentry id="ranlib">
    189 <term><command>ranlib</command></term>
    190 <listitem>
    191 <para>Generates an index of the contents of an archive and stores it
    192 in the archive; the index lists all of the symbols defined by archive
    193 members that are relocatable object files</para>
    194 <indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm>
    195 </listitem>
    196 </varlistentry>
    197 
    198 <varlistentry id="readelf">
    199 <term><command>readelf</command></term>
    200 <listitem>
    201 <para>Displays information about ELF type binaries</para>
    202 <indexterm zone="ch-system-binutils readelf"><primary sortas="b-readelf">readelf</primary></indexterm>
    203 </listitem>
    204 </varlistentry>
    205 
    206 <varlistentry id="size">
    207 <term><command>size</command></term>
    208 <listitem>
    209 <para>Lists the section sizes and the total size for the given object files</para>
    210 <indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm>
    211 </listitem>
    212 </varlistentry>
    213 
    214 <varlistentry id="strings">
    215 <term><command>strings</command></term>
    216 <listitem>
    217 <para>Outputs, for each given file, the sequences of printable
    218 characters that are of at least the specified length (defaulting to
    219 four); for object files, it prints, by default, only the strings from
    220 the initializing and loading sections while for other types of files, it
    221 scans the entire file</para>
    222 <indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm>
    223 </listitem>
    224 </varlistentry>
    225 
    226 <varlistentry id="strip">
    227 <term><command>strip</command></term>
    228 <listitem>
    229 <para>Discards symbols from object files</para>
    230 <indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm>
    231 </listitem>
    232 </varlistentry>
    233 
    234 <varlistentry id="libiberty">
    235 <term><filename class="libraryfile">libiberty</filename></term>
    236 <listitem>
    237 <para>Contains routines used by various GNU programs, including
    238 <command>getopt</command>, <command>obstack</command>,
    239 <command>strerror</command>, <command>strtol</command>, and
    240 <command>strtoul</command></para>
    241 <indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm>
    242 </listitem>
    243 </varlistentry>
    244 
    245 <varlistentry id="libbfd">
    246 <term><filename class="libraryfile">libbfd</filename></term>
    247 <listitem>
    248 <para>The Binary File Descriptor library</para>
    249 <indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm>
    250 </listitem>
    251 </varlistentry>
    252 
    253 <varlistentry id="libopcodes">
    254 <term><filename class="libraryfile">libopcodes</filename></term>
    255 <listitem>
    256 <para>A library for dealing with opcodes&mdash;the <quote>readable
    257 text</quote> versions of instructions for the processor;
    258 it is used for building utilities like
    259 <command>objdump</command>.</para>
    260 <indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm>
    261 </listitem>
    262 </varlistentry>
    263 </variablelist>
    264 
    265 </sect2>
     117  </sect2>
     118
     119
     120  <sect2 id="contents-binutils" role="content">
     121    <title>Contents of Binutils</title>
     122
     123    <segmentedlist>
     124      <segtitle>Installed programs</segtitle>
     125      <segtitle>Installed libraries</segtitle>
     126
     127      <seglistitem>
     128        <seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
     129        ranlib, readelf, size, strings, and strip</seg>
     130        <seg>libiberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg>
     131      </seglistitem>
     132    </segmentedlist>
     133
     134    <variablelist>
     135      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     136      <?dbfo list-presentation="list"?>
     137      <?dbhtml list-presentation="table"?>
     138
     139      <varlistentry id="addr2line">
     140        <term><command>addr2line</command></term>
     141        <listitem>
     142          <para>Translates program addresses to file names and line numbers;
     143          given an address and the name of an executable, it uses the debugging
     144          information in the executable to determine which source file and line
     145          number are associated with the address</para>
     146          <indexterm zone="ch-system-binutils addr2line">
     147            <primary sortas="b-addr2line">addr2line</primary>
     148          </indexterm>
     149        </listitem>
     150      </varlistentry>
     151
     152      <varlistentry id="ar">
     153        <term><command>ar</command></term>
     154        <listitem>
     155          <para>Creates, modifies, and extracts from archives</para>
     156          <indexterm zone="ch-system-binutils ar">
     157            <primary sortas="b-ar">ar</primary>
     158          </indexterm>
     159        </listitem>
     160      </varlistentry>
     161
     162      <varlistentry id="as">
     163        <term><command>as</command></term>
     164        <listitem>
     165          <para>An assembler that assembles the output of <command>gcc</command>
     166          into object files</para>
     167          <indexterm zone="ch-system-binutils as">
     168            <primary sortas="b-as">as</primary>
     169          </indexterm>
     170        </listitem>
     171      </varlistentry>
     172
     173      <varlistentry id="c-filt">
     174        <term><command>c++filt</command></term>
     175        <listitem>
     176          <para>Used by the linker to de-mangle C++ and Java symbols and to keep
     177          overloaded functions from clashing</para>
     178          <indexterm zone="ch-system-binutils c-filt">
     179            <primary sortas="b-c++filt">c++filt</primary>
     180          </indexterm>
     181        </listitem>
     182      </varlistentry>
     183
     184      <varlistentry id="gprof">
     185        <term><command>gprof</command></term>
     186        <listitem>
     187          <para>Displays call graph profile data</para>
     188          <indexterm zone="ch-system-binutils gprof">
     189            <primary sortas="b-gprof">gprof</primary>
     190          </indexterm>
     191        </listitem>
     192      </varlistentry>
     193
     194      <varlistentry id="ld">
     195        <term><command>ld</command></term>
     196        <listitem>
     197          <para>A linker that combines a number of object and archive files
     198          into a single file, relocating their data and tying up symbol
     199          references</para>
     200          <indexterm zone="ch-system-binutils ld">
     201            <primary sortas="b-ld">ld</primary>
     202          </indexterm>
     203        </listitem>
     204      </varlistentry>
     205
     206      <varlistentry id="nm">
     207        <term><command>nm</command></term>
     208        <listitem>
     209          <para>Lists the symbols occurring in a given object file</para>
     210          <indexterm zone="ch-system-binutils nm">
     211            <primary sortas="b-nm">nm</primary>
     212          </indexterm>
     213        </listitem>
     214      </varlistentry>
     215
     216      <varlistentry id="objcopy">
     217        <term><command>objcopy</command></term>
     218        <listitem>
     219          <para>Translates one type of object file into another</para>
     220          <indexterm zone="ch-system-binutils objcopy">
     221            <primary sortas="b-objcopy">objcopy</primary>
     222          </indexterm>
     223        </listitem>
     224      </varlistentry>
     225
     226      <varlistentry id="objdump">
     227        <term><command>objdump</command></term>
     228        <listitem>
     229          <para>Displays information about the given object file, with options
     230          controlling the particular information to display; the information
     231          shown is useful to programmers who are working on the compilation
     232          tools</para>
     233          <indexterm zone="ch-system-binutils objdump">
     234            <primary sortas="b-objdump">objdump</primary>
     235          </indexterm>
     236        </listitem>
     237      </varlistentry>
     238
     239      <varlistentry id="ranlib">
     240        <term><command>ranlib</command></term>
     241        <listitem>
     242          <para>Generates an index of the contents of an archive and stores it
     243          in the archive; the index lists all of the symbols defined by archive
     244          members that are relocatable object files</para>
     245          <indexterm zone="ch-system-binutils ranlib">
     246            <primary sortas="b-ranlib">ranlib</primary>
     247          </indexterm>
     248        </listitem>
     249      </varlistentry>
     250
     251      <varlistentry id="readelf">
     252        <term><command>readelf</command></term>
     253        <listitem>
     254          <para>Displays information about ELF type binaries</para>
     255          <indexterm zone="ch-system-binutils readelf">
     256            <primary sortas="b-readelf">readelf</primary>
     257          </indexterm>
     258        </listitem>
     259      </varlistentry>
     260
     261      <varlistentry id="size">
     262        <term><command>size</command></term>
     263        <listitem>
     264          <para>Lists the section sizes and the total size for the given
     265          object files</para>
     266          <indexterm zone="ch-system-binutils size">
     267            <primary sortas="b-size">size</primary>
     268          </indexterm>
     269        </listitem>
     270      </varlistentry>
     271
     272      <varlistentry id="strings">
     273        <term><command>strings</command></term>
     274        <listitem>
     275          <para>Outputs, for each given file, the sequences of printable
     276          characters that are of at least the specified length (defaulting to
     277          four); for object files, it prints, by default, only the strings from
     278          the initializing and loading sections while for other types of files, it
     279          scans the entire file</para>
     280          <indexterm zone="ch-system-binutils strings">
     281            <primary sortas="b-strings">strings</primary>
     282          </indexterm>
     283        </listitem>
     284      </varlistentry>
     285
     286      <varlistentry id="strip">
     287        <term><command>strip</command></term>
     288        <listitem>
     289          <para>Discards symbols from object files</para>
     290          <indexterm zone="ch-system-binutils strip">
     291            <primary sortas="b-strip">strip</primary>
     292          </indexterm>
     293        </listitem>
     294      </varlistentry>
     295
     296      <varlistentry id="libiberty">
     297        <term><filename class="libraryfile">libiberty</filename></term>
     298        <listitem>
     299          <para>Contains routines used by various GNU programs, including
     300          <command>getopt</command>, <command>obstack</command>,
     301          <command>strerror</command>, <command>strtol</command>, and
     302          <command>strtoul</command></para>
     303          <indexterm zone="ch-system-binutils libiberty">
     304            <primary sortas="c-libiberty">libiberty</primary>
     305          </indexterm>
     306        </listitem>
     307      </varlistentry>
     308
     309      <varlistentry id="libbfd">
     310        <term><filename class="libraryfile">libbfd</filename></term>
     311        <listitem>
     312          <para>The Binary File Descriptor library</para>
     313          <indexterm zone="ch-system-binutils libbfd">
     314            <primary sortas="c-libbfd">libbfd</primary>
     315          </indexterm>
     316        </listitem>
     317      </varlistentry>
     318
     319      <varlistentry id="libopcodes">
     320        <term><filename class="libraryfile">libopcodes</filename></term>
     321        <listitem>
     322          <para>A library for dealing with opcodes&mdash;the <quote>readable
     323          text</quote> versions of instructions for the processor;
     324          it is used for building utilities like
     325          <command>objdump</command>.</para>
     326          <indexterm zone="ch-system-binutils libopcodes">
     327            <primary sortas="c-libopcodes">libopcodes</primary>
     328          </indexterm>
     329        </listitem>
     330      </varlistentry>
     331
     332    </variablelist>
     333
     334  </sect2>
    266335
    267336</sect1>
    268 
  • chapter06/bison.xml

    r0e5c784 r9e26f63  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-bison" role="wrap">
    7 <title>Bison-&bison-version;</title>
    8 <?dbhtml filename="bison.html"?>
     9  <?dbhtml filename="bison.html"?>
    910
    10 <indexterm zone="ch-system-bison"><primary sortas="a-Bison">Bison</primary></indexterm>
     11  <title>Bison-&bison-version;</title>
    1112
    12 <sect2 role="package"><title/>
    13 <para>The Bison package contains a parser generator.</para>
     13  <indexterm zone="ch-system-bison">
     14    <primary sortas="a-Bison">Bison</primary>
     15  </indexterm>
    1416
    15 <segmentedlist>
    16 <segtitle>&buildtime;</segtitle>
    17 <segtitle>&diskspace;</segtitle>
    18 <seglistitem><seg>0.6 SBU</seg><seg>9.9 MB</seg></seglistitem>
    19 </segmentedlist>
     17  <sect2 role="package">
     18    <title/>
    2019
    21 <segmentedlist>
    22 <segtitle>&dependencies;</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Gettext, Glibc, Grep, M4, Make, and Sed</seg></seglistitem>
    25 </segmentedlist>
    26 </sect2>
     20    <para>The Bison package contains a parser generator.</para>
    2721
    28 <sect2 role="installation">
    29 <title>Installation of Bison</title>
     22    <segmentedlist>
     23      <segtitle>&buildtime;</segtitle>
     24      <segtitle>&diskspace;</segtitle>
    3025
    31 <para>Prepare Bison for compilation:</para>
     26      <seglistitem>
     27        <seg>0.6 SBU</seg>
     28        <seg>9.9 MB</seg>
     29      </seglistitem>
     30    </segmentedlist>
     31
     32    <segmentedlist>
     33      <segtitle>&dependencies;</segtitle>
     34
     35      <seglistitem>
     36        <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc,
     37        Grep, M4, Make, and Sed</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of Bison</title>
     45
     46    <para>Prepare Bison for compilation:</para>
    3247
    3348<screen><userinput>./configure --prefix=/usr</userinput></screen>
    3449
    35 <para>The configure system causes bison to be built without support for
    36 internationalization of error messages if a <command>bison</command>
    37 program is not already in $PATH.  The following addition will correct
    38 this.</para>
     50    <para>The configure system causes bison to be built without support for
     51    internationalization of error messages if a <command>bison</command>
     52    program is not already in $PATH.  The following addition will correct
     53    this.</para>
    3954
    40 <screen>echo '#define YYENABLE_NLS 1' >> config.h</screen> 
     55<screen>echo '#define YYENABLE_NLS 1' >> config.h</screen>
    4156
    42 <para>Compile the package:</para>
     57    <para>Compile the package:</para>
    4358
    4459<screen><userinput>make</userinput></screen>
    4560
    46 <para>To test the results, issue:
    47 <userinput>make check</userinput>.</para>
     61    <para>To test the results, issue:
     62    <userinput>make check</userinput>.</para>
    4863
    49 <para>Install the package:</para>
     64    <para>Install the package:</para>
    5065
    5166<screen><userinput>make install</userinput></screen>
    5267
    53 </sect2>
     68  </sect2>
    5469
    55 <sect2 id="contents-bison" role="content"><title>Contents of Bison</title>
     70  <sect2 id="contents-bison" role="content">
     71    <title>Contents of Bison</title>
    5672
    57 <segmentedlist>
    58 <segtitle>Installed programs</segtitle>
    59 <segtitle>Installed library</segtitle>
    60 <seglistitem><seg>bison and yacc</seg><seg>liby.a</seg></seglistitem>
    61 </segmentedlist>
     73    <segmentedlist>
     74      <segtitle>Installed programs</segtitle>
     75      <segtitle>Installed library</segtitle>
    6276
    63 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    64 <?dbfo list-presentation="list"?>
    65 <?dbhtml list-presentation="table"?>
     77      <seglistitem>
     78        <seg>bison and yacc</seg>
     79        <seg>liby.a</seg>
     80      </seglistitem>
     81    </segmentedlist>
    6682
    67 <varlistentry id="bison">
    68 <term><command>bison</command></term>
    69 <listitem>
    70 <para>Generates, from a series of rules, a program for analyzing the structure
    71 of text files; Bison is a replacement for Yacc (Yet Another Compiler
    72 Compiler)</para>
    73 <indexterm zone="ch-system-bison bison"><primary sortas="b-bison">bison</primary></indexterm>
    74 </listitem>
    75 </varlistentry>
     83    <variablelist>
     84      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     85      <?dbfo list-presentation="list"?>
     86      <?dbhtml list-presentation="table"?>
    7687
    77 <varlistentry id="yacc">
    78 <term><command>yacc</command></term>
    79 <listitem>
    80 <para>A wrapper for <command>bison</command>, meant for programs
    81 that still call <command>yacc</command> instead of <command>bison</command>;
    82 it calls <command>bison</command> with the <parameter>-y</parameter> option</para>
    83 <indexterm zone="ch-system-bison yacc"><primary sortas="b-yacc">yacc</primary></indexterm>
    84 </listitem>
    85 </varlistentry>
     88      <varlistentry id="bison">
     89        <term><command>bison</command></term>
     90        <listitem>
     91          <para>Generates, from a series of rules, a program for analyzing the
     92          structure of text files; Bison is a replacement for Yacc (Yet Another
     93          Compiler Compiler)</para>
     94          <indexterm zone="ch-system-bison bison">
     95            <primary sortas="b-bison">bison</primary>
     96          </indexterm>
     97        </listitem>
     98      </varlistentry>
    8699
    87 <varlistentry id="liby.a">
    88 <term><filename class="libraryfile">liby.a</filename></term>
    89 <listitem>
    90 <para>The Yacc library containing implementations of Yacc-compatible
    91 <emphasis>yyerror</emphasis> and <emphasis>main</emphasis> functions;
    92 this library is normally not very useful, but POSIX requires
    93 it</para>
    94 <indexterm zone="ch-system-bison liby.a"><primary sortas="c-liby.a">liby.a</primary></indexterm>
    95 </listitem>
    96 </varlistentry>
    97 </variablelist>
     100      <varlistentry id="yacc">
     101        <term><command>yacc</command></term>
     102        <listitem>
     103          <para>A wrapper for <command>bison</command>, meant for programs that
     104          still call <command>yacc</command> instead of <command>bison</command>;
     105          it calls <command>bison</command> with the <parameter>-y</parameter>
     106          option</para>
     107          <indexterm zone="ch-system-bison yacc">
     108            <primary sortas="b-yacc">yacc</primary>
     109          </indexterm>
     110        </listitem>
     111      </varlistentry>
    98112
    99 </sect2>
     113      <varlistentry id="liby.a">
     114        <term><filename class="libraryfile">liby.a</filename></term>
     115        <listitem>
     116          <para>The Yacc library containing implementations of Yacc-compatible
     117          <function>yyerror</function> and <function>main</function> functions;
     118          this library is normally not very useful, but POSIX requires it</para>
     119          <indexterm zone="ch-system-bison liby.a">
     120            <primary sortas="c-liby.a">liby.a</primary>
     121          </indexterm>
     122        </listitem>
     123      </varlistentry>
     124
     125    </variablelist>
     126
     127  </sect2>
    100128
    101129</sect1>
    102 
  • chapter06/changingowner.xml

    r0e5c784 r9e26f63  
    3333<para>The command uses <parameter>0:0</parameter> instead of
    3434<parameter>root:root</parameter>, because <command>chown</command>
    35 is unable to resolve the name <quote>root</quote> until the password
    36 file has been created. This book assumes you ran this
    37 <command>chown</command> command.</para>
     35is unable to resolve the name <quote>root</quote> until the
     36<filename>passwd</filename> file has been created.</para>
    3837
    3938</sect1>
  • chapter06/gcc.xml

    r0e5c784 r9e26f63  
    100100<screen><userinput>ln -sv ../usr/bin/cpp /lib</userinput></screen>
    101101
     102<para>Many packages use the name <command>cc</command> to call the C
     103compiler. To satisfy those packages, create a symlink:</para>
     104
     105<screen><userinput>ln -sv gcc /usr/bin/cc</userinput></screen>
     106
    102107<note><para>At this point, it is strongly recommended to repeat the
    103108sanity check performed earlier in this chapter. Refer back to <xref
  • chapter06/readjusting.xml

    r0e5c784 r9e26f63  
    2020directories.</para>
    2121
    22 <para>First, create a symlink to the adjusted linker we created in chapter 5.</para>
     22<para>First, backup the <filename class="directory">/tools</filename> linker, and
     23replace it with the adjusted linker we made in chapter 5. We'll also create a
     24link to its counterpart in <filename class="directory">/tools/$(gcc -dumpmachine)/bin</filename>.</para>
    2325
    24 <screen><userinput>ln -sv /tools/bin/ld-new /usr/bin/ld</userinput></screen>
     26<screen><userinput>mv -v /tools/bin/{ld,ld-old}
     27mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
     28mv -v /tools/bin/{ld-new,ld}
     29ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen>
    2530
    2631<para>Next, amend the GCC specs file so that it points to the new
    27 dynamic linker. A <command>sed</command> command accomplishes this:</para>
     32dynamic linker, and so that GCC knows where to find its start files.
     33A <command>perl</command> command accomplishes this:</para>
    2834
    29 <screen><userinput>SPECFILE=`dirname $(gcc -print-libgcc-file-name)`/specs &amp;&amp;
    30 gcc -dumpspecs > $SPECFILE &amp;&amp;
    31 sed -i -e '/^\*link:$/{n;s,$, -L/usr/lib,}' \
    32        -e 's@^/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g' $SPECFILE &amp;&amp;
    33 unset SPECFILE</userinput></screen>
     35<screen><userinput>gcc -dumpspecs | \
     36perl -p -e 's@/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g;' \
     37     -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' &gt; \
     38     `dirname $(gcc --print-libgcc-file-name)`/specs
     39</userinput></screen>
    3440
    3541<para>It is a good idea to visually inspect the specs file to verify the intended
     
    4349linkend="ch-tools-toolchaintechnotes" role=","/> if
    4450necessary.</para></important>
    45 
    46 <para>Now create a temporary wrapper script for <filename>gcc</filename>.
    47 This script will point to the real <filename>gcc</filename>
    48 in <filename class="directory">/tools</filename> but with adjusted parameters
    49 to ensure that GCC in the next section links to our newly installed Glibc.</para>
    50 
    51 <screen><userinput>cat &gt; /usr/bin/gcc &lt;&lt; "EOF"
    52 #!/bin/bash
    53 /tools/bin/gcc -B/usr/lib/ -B/usr/bin/ $@
    54 EOF
    55 chmod 755 /usr/bin/gcc
    56 ln -s gcc /usr/bin/cc</userinput></screen>
    5751
    5852<caution><para>It is imperative at this point to stop and ensure that
  • chapter06/strippingagain.xml

    r0e5c784 r9e26f63  
    1818render the new system unusable, so before running the
    1919<command>strip</command> command, it is a good idea to make a
    20 backup of the current situation.</para>
     20backup of the LFS system in its current state.</para>
    2121
    2222<para>Before performing the stripping, take special care to ensure that
  • chapter06/vim.xml

    r0e5c784 r9e26f63  
    114114
    115115<sect2 id="conf-vim" role="configuration"><title>Configuring Vim</title>
    116 <indexterm zone="conf-vim"><primary sortas="e-/etc/vim">/etc/vim</primary></indexterm>
     116<indexterm zone="conf-vim"><primary sortas="e-/etc/vimrc">/etc/vimrc</primary></indexterm>
    117117
    118118<para>By default, <command>vim</command> runs in vi-incompatible mode. This may
  • general.ent

    r0e5c784 r9e26f63  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!ENTITY version "SVN-20060126">
    3 <!ENTITY releasedate "January 26, 2006">
     2<!ENTITY version "SVN-20060131">
     3<!ENTITY releasedate "January 31, 2006">
    44<!ENTITY milestone "6.2">
    55<!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
     
    2323<!ENTITY kernel "http://www.kernel.org/pub/">
    2424<!ENTITY sourceforge "http://prdownloads.sourceforge.net/">
    25 <!ENTITY alexpatches "&lfs-root;~alexander/patches/">
    2625
    2726<!ENTITY % patches-entities SYSTEM "patches.ent">
Note: See TracChangeset for help on using the changeset viewer.