summaryrefslogtreecommitdiff
path: root/INSTALL.REPO
diff options
context:
space:
mode:
authorBertrand Garrigues <bertrand.garrigues@laposte.net>2014-09-21 20:50:12 +0200
committerBertrand Garrigues <bertrand.garrigues@laposte.net>2015-01-27 23:13:15 +0100
commita140d6dfa1d59d66ce9950251c5f48d1375db2e9 (patch)
tree82001e09c2eb0880b1429be90edd584dc725c6c9 /INSTALL.REPO
parente0060c0de928e7bab65e3556deb08eef241b00fb (diff)
downloadgroff-git-a140d6dfa1d59d66ce9950251c5f48d1375db2e9.tar.gz
Fixes after final complete tests and documentation update.
Added a quick guide on the usage of automake in groff (doc/automake.mom, must be manually generated with pdfmom). * Makefile.am: distribute TESTS. and font/util/make-Rproto. * contrib/hdtbl/hdtbl.am: contrib/hdtbl/examples/fonts_n.in and fonts_x.in were not distributed. Examples (.ps files) of were mistakenly distributed. * contrib/mom/mom.am: Mom examples (pdf files) were mistakenly distributed. * contrib/pdfmark/pdfmark.am: pdfmark.pdf was mistakenly distributed. * doc/doc.am: unprotected '@' in sed command symbols caused missing substitution of @VERSION@ in some generated files. * font/devpdf/devpdf.am: font/devpdf/util/BuildFoundries (generated) was mistakenly distributed. * src/preproc/pic/pic.am: .n was mistakenly distributed, pic.man was not distributed. * tmac/tmac.am: some generated files were mistakenly distributed. * Updated INSTALL.REPO. * doc/automake.mom: new file.
Diffstat (limited to 'INSTALL.REPO')
-rw-r--r--INSTALL.REPO101
1 files changed, 78 insertions, 23 deletions
diff --git a/INSTALL.REPO b/INSTALL.REPO
index 4cd6557ec..6e2a5c11f 100644
--- a/INSTALL.REPO
+++ b/INSTALL.REPO
@@ -5,31 +5,65 @@
the copyright notice and this notice are preserved.
This file contains information that supplements the generic
-installation instructions in file `INSTALL.gen'. It is meant for
+installation instructions in file `INSTALL'. It is meant for
people building directly from the development repository, rather than
a release or snapshot tarball.
If you want to start compiling the `groff' system with an existing
-script `configure' you won't need the information in this file.
-
-But if you want to use the `GNU autotools' (`aclocal', `autoreconf')
-for creating the following and some more files:
-
- aclocal.m4
- configure
- Makefile
-
+script `configure' you won't need the information in this file. You
+need them only if you want to build groff from the git repository.
+
+1. Initial build
+----------------
+
+First invoke the bootstrap script:
+
+ $ ./bootstrap
+
+This will:
+
+ - clone the gnulib repository as a git submodule in 'gnulib', add
+ the needed gnulib sources files in 'lib', add the needed gnulib m4
+ macros in 'gnulib_m4'
+
+ - Invoke autoreconf that will call all the `GNU autotools'
+ (`aclocal', `autoconf', `automake') in the right order for
+ creating the following files:
+
+ -- INSTALL (a symlink to gnulib's INSTALL file)
+ -- Makefile.in
+ -- aclocal.m4
+ -- autom4te.cache/
+ -- build-aux/ (that contains all the helper scripts)
+ -- configure
+ -- src/include/config.hin
+
+Note that aclocal.m4 is generated and the groff m4 macros are included
+via the acinclude.m4 file.
+
+At this point you can invoke the `configure' script (that generates
+the `config.status' script; it is the `config.status' script generates
+the Makefile) and call 'make' to build the groff project. You can do
+it in the source tree:
+
+<<<<<<< HEAD
To update file `aclocal.m4', run the shell command
+=======
+ $ ./configure
+ $ make
+>>>>>>> Fixes after final complete tests:
- $ aclocal -I m4
+You can also build groff in an out of source build tree, which is cleaner:
-To recreate the files `configure' and `Makefile', use the shell
-command
+ $ mkdir build
+ $ cd build
+ $ ../configure
+ $ make
- $ autoreconf -I m4
+Note that parallel build is also supported and make can be invoked
+with the -j option, which will greatly speed up the build.
-The option `-I m4' is necessary. It refers to the subdirectory `m4'
-that has files with m4 macro definitions needed by the `autotools'.
+Notes:
If you use an old `autoreconf' version < 2.69, there might be an error
warning like:
@@ -44,18 +78,37 @@ warning like:
Just ignore this. It doesn't occur in the actual versions of
`autoreconf'.
-You may even use the shell command
+<<<<<<< HEAD
$ autoconf -I m4
+=======
+>>>>>>> Fixes after final complete tests:
+
+2. Modification of autotools files
+----------------------------------
+
+Previously, when groff used `autoconf' only and not `automake', you
+had to invoke manually the autotools, depending on what you
+modified. For example, to change the file `aclocal.m4', you had to run
+the shell command 'aclocal -I m4', to recreate the files `configure'
+and `Makefile', you had to use the command 'autoreconf -I m4'.
+
+Now, as groff uses `automake', you don't need to run `autoreconf'. If
+you make some changes in Makefile.am or configure.ac, all the files
+that need to be updated will be regenerated when you execute `make'.
+
+
+
+3. Quick start on the usage of `automake' in groff
+--------------------------------------------------
-instead of `autoreconf', but that will ignore some features. So
-`autoreconf' is better.
+A little document explaining the basics of automake and its usage in
+groff is available in doc/automake.mom. It is currently not
+automatically generated, to build it:
-`automake' is not used currently, however, we plan to convert the
-build system accordingly. If you have experience in creating
-`Makefile.am' files we would be glad if you could help us in the
-conversion process. Please contact the groff mailing list.
+pdfmom automake.mom > automake.pdf
+<<<<<<< HEAD
After the use of the `GNU autotools', the usual compilation should
work. If the run of `configure' produces error reports you have
produced errors in the `autotools' modification.
@@ -64,3 +117,5 @@ produced errors in the `autotools' modification.
Local Variables:
mode: text
End:
+=======
+>>>>>>> Fixes after final complete tests: