Skip to content

Commit 808f4f8

Browse files
authored
Update doc 1 (#51)
* annotate configure.ac * update build documentation * add links Co-authored-by: Wolf Lammen <[email protected]>
1 parent d6a1d3a commit 808f4f8

File tree

1 file changed

+39
-18
lines changed

1 file changed

+39
-18
lines changed

doc/BUILD.md

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -129,34 +129,38 @@ input file _config.h.in_ is created. A few instructions set project data like
129129
name or version number. A couple of other instructions aim at patching system
130130
dependent variables in _Makefile.am_, later used to support _make_.
131131

132-
The script language used for encoding this is __M4__ using a couple of built-in
133-
commands of __autoconf__. This language is designed to provide cross-platform
134-
descriptions of features of the OS.
132+
The script language used for encoding this is [M4]
133+
(https://www.gnu.org/software/m4/manual) using a couple of built-in commands of
134+
__autoconf__. This language is designed to provide cross-platform descriptions
135+
of features of the OS.
135136

136-
### aclocal
137+
## autoreconf
138+
139+
__autoreconf__ manages the complete build process and finally produces a
140+
_configure_ and _Makefile_ ready for use. It is an alternative to the
141+
following chain of script calls doing the same, but allowing for manual
142+
intervention that can resolve difficult cases. So far Metamath does not need
143+
this intervention, so _autoreconf_ is usually a correct shortcut.
144+
145+
Internally _autoreconf_ calls the following autotools in the right order and
146+
with the right input files.
147+
148+
#### aclocal
137149

138150
A program that looks at _configure.ac_ and provides a file __aclocal.m4__ with
139-
_M4_ macros adapted to your system. This file extends the functionality of
140-
_autoconf_ in a way that it can parse and execute the _configure.ac_ file.
151+
_M4_ macros adapted to _automake_ directed commands. This extends the
152+
functionality of _autoconf_ in a way that it can parse and process the
153+
_configure.ac_ file.
141154

142155
_autoreconf_ automatically calls this program during the build process.
143156

144-
### aclocal.m4
157+
#### aclocal.m4
145158

146159
An _M4_ library used by _autoconf_. Its contents is of technical nature and
147160
contains functions adapted to your system and your _configure.ac_. To experts
148161
editing this file may fix or fine tune particular operations. Ordinary users
149162
do not fiddle with it.
150163

151-
### autoconf
152-
153-
This Unix program called __autoconf__, or its sibling __autoreconf__, is
154-
capable of generating a _configure_ shell script from the input _configure.ac_.
155-
It uses functions defined in _aclocal.m4_ to perform its task.
156-
157-
_autoreconf_ can be used as an alternative to _autoconf_. It then manages the
158-
whole build process up to creating the executable.
159-
160164
### autoheader
161165

162166
This program from _Autotools_ creates a _config.h.in_ from a _configure.ac_
@@ -184,6 +188,25 @@ script what OS tests to carry out, and how to encode their result. If you
184188
deploy _configure_ as part of your distribution then this file should be
185189
included.
186190

191+
#### autom4te.cache
192+
193+
Read 'automate'. Allows to share results between the individual _autotools_
194+
members. Do not interfere with its contents.
195+
196+
### autoconf
197+
198+
This Unix program called __autoconf__, or its sibling __autoreconf__, is
199+
capable of generating a _configure_ shell script from the input _configure.ac_.
200+
It uses functions defined in _aclocal.m4_ to perform its task.
201+
202+
[Dokumentation](https://www.gnu.org/software/autoconf/)
203+
204+
### Makefile.am
205+
206+
### automake
207+
208+
[Dokumentation](https://www.gnu.org/software/automake/manual)
209+
187210
### invoking configure
188211

189212
In the chain of build events _configure_ is now invoked. It reads the
@@ -198,7 +221,5 @@ can recreate _config.h_ multiple times without carrying out the OS checks.
198221

199222
### config.h
200223

201-
### Makefile.am
202-
203224

204225
... to be continued

0 commit comments

Comments
 (0)