aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08/m4.xml
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2020-06-07 20:16:00 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2020-06-07 20:16:00 +0000
commitfcc027677da55c41dcaea045f5b9ff8b088e6495 (patch)
tree42500a7858959695b971e7f28f1d0bf33185db2e /chapter08/m4.xml
parentd53fefab5a6772fef606392a61608fc290e6a7ae (diff)
Initial commit of alternative cross LFS
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11897 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter08/m4.xml')
-rw-r--r--chapter08/m4.xml104
1 files changed, 104 insertions, 0 deletions
diff --git a/chapter08/m4.xml b/chapter08/m4.xml
new file mode 100644
index 000000000..7fe282ee7
--- /dev/null
+++ b/chapter08/m4.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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-system-m4" role="wrap">
+ <?dbhtml filename="m4.html"?>
+
+ <sect1info condition="script">
+ <productname>m4</productname>
+ <productnumber>&m4-version;</productnumber>
+ <address>&m4-url;</address>
+ </sect1info>
+
+ <title>M4-&m4-version;</title>
+
+ <indexterm zone="ch-system-m4">
+ <primary sortas="a-M4">M4</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
+
+ <para>The M4 package contains a macro processor.</para>
+
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
+
+ <seglistitem>
+ <seg>&m4-ch6-sbu;</seg>
+ <seg>&m4-ch6-du;</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of M4</title>
+
+ <para>First, make some fixes required by glibc-2.28:</para>
+
+<screen><userinput remap="pre">sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
+echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h</userinput></screen>
+
+ <para>Prepare M4 for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+ <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make check</userinput></screen>
+
+ <para>Install the package:</para>
+
+<screen><userinput remap="install">make install</userinput></screen>
+
+ </sect2>
+
+ <sect2 id="contents-m4" role="content">
+ <title>Contents of M4</title>
+
+ <segmentedlist>
+ <segtitle>Installed program</segtitle>
+
+ <seglistitem>
+ <seg>m4</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="m4">
+ <!-- Don't remove the extra space, it prevet a FOP warning. -->
+ <term><command>m4 </command></term>
+ <listitem>
+ <para>Copies the given files while expanding the macros that they
+ contain [These macros are either built-in or user-defined and can
+ take any number of arguments. Besides performing macro expansion,
+ <command>m4</command> has built-in functions for including named
+ files, running Unix commands, performing integer arithmetic,
+ manipulating text, recursion, etc. The <command>m4</command> program
+ can be used either as a front-end to a compiler or as a macro processor
+ in its own right.]</para>
+ <indexterm zone="ch-system-m4 m4">
+ <primary sortas="b-m4">m4</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
+
+</sect1>