Move OpenSSL-1.1.0g from BLFS to LFS
[linux_from_scratch.git] / chapter06 / autoconf.xml
blobf7af4d1732ce43e03f1adcffac2fa6bb8c5e1f7f
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-system-autoconf" role="wrap">
9   <?dbhtml filename="autoconf.html"?>
11   <sect1info condition="script">
12     <productname>autoconf</productname>
13     <productnumber>&autoconf-version;</productnumber>
14     <address>&autoconf-url;</address>
15   </sect1info>
17   <title>Autoconf-&autoconf-version;</title>
19   <indexterm zone="ch-system-autoconf">
20     <primary sortas="a-Autoconf">Autoconf</primary>
21   </indexterm>
23   <sect2 role="package">
24     <title/>
26     <para>The Autoconf package contains programs for producing shell scripts that
27     can automatically configure source code.</para>
29     <segmentedlist>
30       <segtitle>&buildtime;</segtitle>
31       <segtitle>&diskspace;</segtitle>
33       <seglistitem>
34         <seg>&autoconf-ch6-sbu;</seg>
35         <seg>&autoconf-ch6-du;</seg>
36       </seglistitem>
37     </segmentedlist>
39   </sect2>
41   <sect2 role="installation">
42     <title>Installation of Autoconf</title>
44     <para>Prepare Autoconf for compilation:</para>
46 <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
48     <para>Compile the package:</para>
50 <screen><userinput remap="make">make</userinput></screen>
52     <para>To test the results, issue:</para>
54 <screen><userinput remap="test">make check</userinput></screen>
56     <para>This takes a long time, about &autoconf-ch6-sbu-tests; SBUs. In addition,
57     several tests are skipped that use Automake. For full test coverage,
58     Autoconf can be re-tested after Automake has been installed.  In addition,
59     two tests fail due to changes in libtool-2.4.3 and later.</para>
61     <note><para>The test time for autoconf can be reduced significantly on a
62     system with multiple cores.  To do this, append
63     <command>TESTSUITEFLAGS=-j&lt;N&gt;</command> to the line above.  For
64     instance, using -j4 can reduce the test time by over 60
65     percent.</para></note>
67     <para>Install the package:</para>
69 <screen><userinput remap="install">make install</userinput></screen>
71   </sect2>
73   <sect2 id="contents-autoconf" role="content">
74     <title>Contents of Autoconf</title>
76     <segmentedlist>
77       <segtitle>Installed programs</segtitle>
78       <segtitle>Installed directory</segtitle>
80       <seglistitem>
81         <seg>autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate,
82         and ifnames</seg>
83         <seg>/usr/share/autoconf</seg>
84       </seglistitem>
85     </segmentedlist>
87     <variablelist>
88       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
89       <?dbfo list-presentation="list"?>
90       <?dbhtml list-presentation="table"?>
92       <varlistentry id="autoconf">
93         <term><command>autoconf</command></term>
94         <listitem>
95           <para>Produces shell scripts that automatically configure software
96           source code packages to adapt to many kinds of Unix-like systems;
97           the configuration scripts it produces are independent&mdash;running
98           them does not require the <command>autoconf</command> program</para>
99           <indexterm zone="ch-system-autoconf autoconf">
100             <primary sortas="b-autoconf">autoconf</primary>
101           </indexterm>
102         </listitem>
103       </varlistentry>
105       <varlistentry id="autoheader">
106         <term><command>autoheader</command> </term>
107         <listitem>
108           <para>A tool for creating template files of C
109           <emphasis>#define</emphasis> statements for configure to use</para>
110           <indexterm zone="ch-system-autoconf autoheader">
111             <primary sortas="b-autoheader">autoheader</primary>
112           </indexterm>
113         </listitem>
114       </varlistentry>
116       <varlistentry id="autom4te">
117         <term><command>autom4te</command></term>
118         <listitem>
119           <para>A wrapper for the M4 macro processor</para>
120           <indexterm zone="ch-system-autoconf autom4te">
121             <primary sortas="b-autom4te">autom4te</primary>
122           </indexterm>
123         </listitem>
124       </varlistentry>
126       <varlistentry id="autoreconf">
127         <term><command>autoreconf</command></term>
128         <listitem>
129           <para>Automatically runs <command>autoconf</command>,
130           <command>autoheader</command>, <command>aclocal</command>,
131           <command>automake</command>, <command>gettextize</command>, and
132           <command>libtoolize</command> in the correct order to save time
133           when changes are made to <command>autoconf</command> and
134           <command>automake</command> template files</para>
135           <indexterm zone="ch-system-autoconf autoreconf">
136             <primary sortas="b-autoreconf">autoreconf</primary>
137           </indexterm>
138         </listitem>
139       </varlistentry>
141       <varlistentry id="autoscan">
142         <term><command>autoscan</command> </term>
143         <listitem>
144           <para>Helps to create a <filename>configure.in</filename> file for a
145           software package; it examines the source files in a directory tree,
146           searching them for common portability issues, and creates a
147           <filename>configure.scan</filename> file that serves as as a
148           preliminary <filename>configure.in</filename> file for the
149           package</para>
150           <indexterm zone="ch-system-autoconf autoscan">
151             <primary sortas="b-autoscan">autoscan</primary>
152           </indexterm>
153         </listitem>
154       </varlistentry>
156       <varlistentry id="autoupdate">
157         <term><command>autoupdate</command></term>
158         <listitem>
159           <para>Modifies a <filename>configure.in</filename> file that still
160           calls <command>autoconf</command> macros by their old names to use the
161           current macro names</para>
162           <indexterm zone="ch-system-autoconf autoupdate">
163             <primary sortas="b-autoupdate">autoupdate</primary>
164           </indexterm>
165         </listitem>
166       </varlistentry>
168       <varlistentry id="ifnames">
169         <term><command>ifnames</command> </term>
170         <listitem>
171           <para>Helps when writing <filename>configure.in</filename> files
172           for a software package; it prints the identifiers that the package
173           uses in C preprocessor conditionals [If a package has already been set
174           up to have some portability, this program can help determine what
175           <command>configure</command> needs to check for. It can also fill in
176           gaps in a <filename>configure.in</filename> file generated by
177           <command>autoscan</command>.]</para>
178           <indexterm zone="ch-system-autoconf ifnames">
179             <primary sortas="b-ifnames">ifnames</primary>
180           </indexterm>
181         </listitem>
182       </varlistentry>
184     </variablelist>
186   </sect2>
188 </sect1>