aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/autoconf.xml
blob: dd7c5e233d2b0a0bf4260cb728816cf6babc101e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>
<sect1 id="ch-system-autoconf" xreflabel="Autoconf" role="wrap">
<title>Autoconf-&autoconf-version;</title>
<?dbhtml filename="autoconf.html"?>

<indexterm zone="ch-system-autoconf"><primary sortas="a-Autoconf">Autoconf</primary></indexterm>

<sect2 role="package"><title/>
<para>The Autoconf package contains programs for producing shell scripts that
can automatically configure source code.</para>

<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.5 SBU</seg><seg>7.7 MB</seg></seglistitem>
</segmentedlist>

<segmentedlist>
<segtitle>Autoconf installation depends on</segtitle>
<seglistitem><seg>Bash, Coreutils, Diffutils, Grep,
M4, Make, Perl, Sed</seg></seglistitem>
</segmentedlist>
</sect2>

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

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

<screen><userinput>./configure --prefix=/usr</userinput></screen>

<para>Compile the package:</para>

<screen><userinput>make</userinput></screen>

<para>To test the results, issue:
<userinput>make check</userinput>. This takes a long time, about 2 SBUs.</para>

<para>Install the package:</para>

<screen><userinput>make install</userinput></screen>

</sect2>


<sect2 id="contents-autoconf" role="content"><title>Contents of Autoconf</title>

<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>autoconf, autoheader, autom4te,
autoreconf, autoscan, autoupdate and ifnames</seg></seglistitem>
</segmentedlist>

<variablelist><title>Short descriptions</title>

<varlistentry>
<term id="autoconf"><command>autoconf</command></term>
<listitem>
<indexterm zone="ch-system-autoconf autoconf"><primary sortas="b-autoconf">autoconf</primary></indexterm>
<para>is a tool for producing shell scripts
that automatically configure software source code packages to adapt to many
kinds of Unix-like systems. The configuration scripts it produces are
independent -- running them does not require the autoconf program.</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="autoheader"><command>autoheader</command> </term>
<listitem>
<indexterm zone="ch-system-autoconf autoheader"><primary sortas="b-autoheader">autoheader</primary></indexterm>
<para>is a tool for creating template files 
of C #define statements for configure to use.</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="autom4te"><command>autom4te</command></term>
<listitem>
<indexterm zone="ch-system-autoconf autom4te"><primary sortas="b-autom4te">autom4te</primary></indexterm>
<para>is a wrapper for the M4 macro processor.</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="autoreconf"><command>autoreconf</command></term>
<listitem>
<indexterm zone="ch-system-autoconf autoreconf"><primary sortas="b-autoreconf">autoreconf</primary></indexterm>
<para>comes in handy when there are a lot
of autoconf-generated configure scripts around. The program runs autoconf and
autoheader repeatedly (where appropriate) to remake the autoconf configure
scripts and configuration header templates in a given directory tree.</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="autoscan"><command>autoscan</command> </term>
<listitem>
<indexterm zone="ch-system-autoconf autoscan"><primary sortas="b-autoscan">autoscan</primary></indexterm>
<para>can help to create a
<filename>configure.in</filename> file for a software package. It examines
the source files in a directory tree, searching them for common portability
problems and creates a <filename>configure.scan</filename> file that serves as
as a preliminary <filename>configure.in</filename> for the package.</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="autoupdate"><command>autoupdate</command></term>
<listitem>
<indexterm zone="ch-system-autoconf autoupdate"><primary sortas="b-autoupdate">autoupdate</primary></indexterm>
<para>modifies a <filename>configure.in</filename> file that still calls autoconf 
macros by their old names to use the current macro names.</para>
</listitem>
</varlistentry>

<varlistentry>
<term id="ifnames"><command>ifnames</command> </term>
<listitem>
<indexterm zone="ch-system-autoconf ifnames"><primary sortas="b-ifnames">ifnames</primary></indexterm>
<para>can be helpful when writing a
<filename>configure.in</filename> for a software package. It prints the
identifiers that the package uses in C preprocessor conditionals. If a package
has already been set up to have some portability, this program can help to
determine what <command>configure</command> needs to check. It can fill
in some gaps in a <filename>configure.in</filename> file generated by
autoscan.</para>
</listitem>
</varlistentry>
</variablelist>

</sect2>

</sect1>