]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
build: Insist on m4 being installed.
authorAndre Noll <maan@tuebingen.mpg.de>
Thu, 12 May 2016 18:55:26 +0000 (20:55 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Sun, 15 May 2016 10:16:01 +0000 (12:16 +0200)
Unlike stated in the manual, m4 is not an optional package that is
only needed on developer machines to build the html version of the
manual. Rather, the m4 macro processor is an essential requirement
because the gengetopt input files are generated with m4 from their
templates in m4/gengetopt.

This patch moves the documentation item on m4 from the development
section of the manual to the list of required packages for building
the paraslash package. It also adds a check for the m4 executable
to configure.ac to let the generated configure script fail the build
early on systems where m4 is not installed.

Makefile.in
configure.ac
m4/gengetopt/makefile
web/manual.md

index a8e2a8b90a400b08a36edeca459335ef766ba560..61da659f370442e75173cd3a1810911a07c2575f 100644 (file)
@@ -9,6 +9,7 @@ PACKAGE_TARNAME := @PACKAGE_TARNAME@
 PACKAGE_VERSION := @PACKAGE_VERSION@
 
 INSTALL := @INSTALL@
 PACKAGE_VERSION := @PACKAGE_VERSION@
 
 INSTALL := @INSTALL@
+M4 := @M4@
 GENGETOPT := @GENGETOPT@
 HELP2MAN := @HELP2MAN@
 
 GENGETOPT := @GENGETOPT@
 HELP2MAN := @HELP2MAN@
 
index 5960b0871ec7fc720bef13a90d9af5a58dd75e10..2e4b42ceb064ada1fceda9cfbf88ac5f15685ea8 100644 (file)
@@ -71,6 +71,10 @@ AC_PATH_PROG([GENGETOPT], [gengetopt])
 test -z "$GENGETOPT" && AC_MSG_ERROR(
        [gengetopt is required to build this package])
 
 test -z "$GENGETOPT" && AC_MSG_ERROR(
        [gengetopt is required to build this package])
 
+AC_PATH_PROG([M4], [m4])
+test -z "$M4" && AC_MSG_ERROR(
+       [The m4 macro processor is required to build this package])
+
 AC_PATH_PROG([HELP2MAN], [help2man])
 test -z "$HELP2MAN" && AC_MSG_ERROR(
        [help2man is required to build this package])
 AC_PATH_PROG([HELP2MAN], [help2man])
 test -z "$HELP2MAN" && AC_MSG_ERROR(
        [help2man is required to build this package])
index 5130ddd1d7779790250ac52eb2e263503a1002c7..0db9d10e8a33d7fef84af8533fb7a6dbf545a421 100644 (file)
@@ -18,10 +18,10 @@ endif
 
 $(m4depdir)/%.m4d: $(m4_ggo_dir)/%.m4 | $(m4depdir)
        @[ -z "$(Q)" ] || echo 'M4D $<'
 
 $(m4depdir)/%.m4d: $(m4_ggo_dir)/%.m4 | $(m4depdir)
        @[ -z "$(Q)" ] || echo 'M4D $<'
-       $(Q) m4 -I $(m4_ggo_dir) -s $< \
+       $(Q) $(M4) -I $(m4_ggo_dir) -s $< \
        | awk '{if ($$1 ~ /#line/) {gsub(/"/, "", $$3); if ($$3 != "$<") \
        print "$(ggo_dir)/$(*F).ggo: " $$3}}' | sort | uniq > $@
 
 $(ggo_dir)/%.ggo: $(m4_ggo_dir)/%.m4 $(m4_ggo_dir)/header.m4 | $(ggo_dir)
        @[ -z "$(Q)" ] || echo 'M4 $<'
        | awk '{if ($$1 ~ /#line/) {gsub(/"/, "", $$3); if ($$3 != "$<") \
        print "$(ggo_dir)/$(*F).ggo: " $$3}}' | sort | uniq > $@
 
 $(ggo_dir)/%.ggo: $(m4_ggo_dir)/%.m4 $(m4_ggo_dir)/header.m4 | $(ggo_dir)
        @[ -z "$(Q)" ] || echo 'M4 $<'
-       $(Q) m4 -I $(m4_ggo_dir) $< > $@
+       $(Q) $(M4) -I $(m4_ggo_dir) $< > $@
index 3b9c270973b7419b82c7587be912817608c5ddd5..43509f129237246265f3644cdf93bc776bd9a1cc 100644 (file)
@@ -187,7 +187,7 @@ Requirements
 
        git clone git://git.tuebingen.mpg.de/osl
        cd osl && make && sudo make install && sudo ldconfig
 
        git clone git://git.tuebingen.mpg.de/osl
        cd osl && make && sudo make install && sudo ldconfig
-       sudo apt-get install autoconf libssl-dev help2man gengetopt \
+       sudo apt-get install autoconf libssl-dev help2man gengetopt m4 \
               libmad0-dev libid3tag0-dev libasound2-dev libvorbis-dev \
               libfaad-dev libspeex-dev libFLAC-dev libsamplerate-dev realpath \
               libasound2-dev libao-dev libreadline-dev libncurses-dev \
               libmad0-dev libid3tag0-dev libasound2-dev libvorbis-dev \
               libfaad-dev libspeex-dev libFLAC-dev libsamplerate-dev realpath \
               libasound2-dev libao-dev libreadline-dev libncurses-dev \
@@ -221,6 +221,9 @@ executables.
 - [help2man](ftp://ftp.gnu.org/pub/gnu/help2man) is used to create
 the man pages.
 
 - [help2man](ftp://ftp.gnu.org/pub/gnu/help2man) is used to create
 the man pages.
 
+- [m4](ftp://ftp.gnu.org/pub/gnu/m4/). Some source files are generated
+from templates by the m4 macro processor.
+
 Optional:
 
 - [openssl](http://www.openssl.org/) or
 Optional:
 
 - [openssl](http://www.openssl.org/) or
@@ -1825,9 +1828,6 @@ developer machine.
 paraslash development. It is necessary for cloning the git repository
 and for getting updates.
 
 paraslash development. It is necessary for cloning the git repository
 and for getting updates.
 
-- [m4](ftp://ftp.gnu.org/pub/gnu/m4/). Some input files for gengetopt
-are generated from templates by the m4 macro processor.
-
 - [autoconf](ftp://ftp.gnu.org/pub/gnu/autoconf/) GNU autoconf creates
 the configure file which is shipped in the tarballs but has to be
 generated when compiling from git.
 - [autoconf](ftp://ftp.gnu.org/pub/gnu/autoconf/) GNU autoconf creates
 the configure file which is shipped in the tarballs but has to be
 generated when compiling from git.