<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-tools-diffutils" role="wrap">
  <?dbhtml filename="diffutils.html"?>

  <sect1info condition="script">
    <productname>diffutils</productname>
    <productnumber>&diffutils-version;</productnumber>
    <address>&diffutils-url;</address>
  </sect1info>

  <title>Diffutils-&diffutils-version;</title>

  <indexterm zone="ch-tools-diffutils">
    <primary sortas="a-Diffutils">Diffutils</primary>
    <secondary>tools</secondary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../chapter08/diffutils.xml"
    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&diffutils-tmp-sbu;</seg>
        <seg>&diffutils-tmp-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Installation of Diffutils</title>

    <para>Prepare Diffutils for compilation:</para>

    <screen><userinput remap="configure">./configure --prefix=/usr   \
            --host=$LFS_TGT \
            gl_cv_func_strcasecmp_works=y \
            --build=$(./build-aux/config.guess)</userinput></screen>

    <variablelist>
      <title>The meaning of the configure options:</title>

      <varlistentry>
        <!-- https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=d9083a4cc638cf9c7dfc3cc534a7c6b4debf50ab -->
        <term><parameter>gl_cv_func_strcasecmp_works=y</parameter></term>
        <listitem>
          <para>This option specify the result of a check for the
          <function>strcasecmp</function>.  The check requires running a
          compiled C program, and this is impossible during
          cross-compilation because in general a cross-compiled program
          cannot run on the host distro.  Normally for such a check the
          <command>configure</command> script would use a fall-back value
          for cross-compilation, but the fall-back value for this check is
          absent and the <command>configure</command> script would have no
          value to use and error out.  The upstream has already fixed the
          issue, but to apply the fix we'd need to run
          <command>autoconf</command> that the host distro may lack.  So
          we just specify the check result (<literal>y</literal> as we know
          the <function>strcasecmp</function> function in
          Glibc-&glibc-version; works fine) instead, then
          <command>configure</command> will just use the specified value and
          skip the check.</para>
        </listitem>
      </varlistentry>
    </variablelist>

    <para>Compile the package:</para>

<screen><userinput remap="make">make</userinput></screen>

    <para>Install the package:</para>

<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>

  </sect2>

  <sect2 role="content">
    <title/>

    <para>Details on this package are located in
    <xref linkend="contents-diffutils" role="."/></para>

  </sect2>

</sect1>