Adding --enable-texinfo4 configure switch. Refer to
authorng0 <ng0@n0.is>
Sun, 28 Jul 2019 14:21:45 +0000 (14:21 +0000)
committerng0 <ng0@n0.is>
Sun, 28 Jul 2019 14:21:45 +0000 (14:21 +0000)
https://bugs.gnunet.org/view.php?id=3914 and the
Changelog for more.

ChangeLog
configure.ac
doc/handbook/Makefile.am
doc/tutorial/Makefile.am

index be2aa9ac22ca03825d6bcd6a853cb4d26244583a..0316fa794c744dd87555a916df5d7e011581f7fc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Jul 28 00:00:00 2019 +0000
+  Adding --enable-texinfo4 configure switch, defaulting to off.
+  This allows distributors to override the texinfo 5.x and later
+  commandline options we use, and allows us on the serverside to
+  build html with newer output options. -ng0
+
 Wed 24 Jul 2019 05:43:43 PM CEST
   Releasing GNUnet 0.11.6. -CG
 
index 0b434b1aae8e9a405126ace29c8fd7571b64589c..356f6d0d20a7fdcc96fdcb8dddda4d3221d554a2 100644 (file)
@@ -455,6 +455,27 @@ AS_IF([test "x$include_manpages" = "xyes"],
   AC_DEFINE([INCLUDE_MANPAGES],[0],[Not including the man pages in the build and installation])
  ])
 
+# Do we have texinfo4? If yes, it is used to set texinfo4 specific switches
+# (not syntax!) to the commandline tools which generate the html. If not,
+# texinfo5 switches are used. This comes with no version checks, is
+# enabled only at distributors action (ie defaults to "no").
+# Mantis #3914 for more details (https://bugs.gnunet.org/view.php?id=3914)
+AC_MSG_CHECKING(whether to enable texinfo4 switches)
+AC_ARG_ENABLE([texinfo4],
+   [AS_HELP_STRING([--enable-texinfo4], [Use texinfo version 4 specific switches])],
+   [activate_texinfo4=${enableval}],
+   [activate_texinfo4=no])
+AC_MSG_RESULT($activate_texinfo4)
+AS_IF([test "x$activate_texinfo4" = "xyes"],
+ [
+  AM_CONDITIONAL([ACTIVATE_TEXINFO4],true)
+  AC_DEFINE([ACTIVATE_TEXINFO4],[1],[Using texinfo version 4 specific switches])
+ ],[
+  AM_CONDITIONAL([ACTIVATE_TEXINFO4],false)
+  AC_DEFINE([INCLUDE_MANPAGES],[0],[Using texinfo version 5 or later switches])
+ ])
+
+
 # Adam shostack suggests the following for Windows:
 # -D_FORTIFY_SOURCE=2 -fstack-protector-all
 AC_ARG_ENABLE(gcc-hardening,
index a50a589374ac4dd1fbd089dea9475c4827a749c4..23e43a34adb7ac52485eceef8ab4827b005b0e18 100644 (file)
@@ -9,6 +9,7 @@ infoimagedir = $(infodir)/images
 #      $(DOT_FILES:%.dot=%.eps)                                                \
 #      $(DOT_FILES:%.dot=%.pdf)
 
+if ACTIVATE_TEXINFO4
 # NOTE: While GNU makeinfo 6.5 supports --css-ref=URL,
 # makeinfo 4.8 (in NetBSD 8.0, macOS, and maybe other
 # base) does only support --css-include=FILE.
@@ -17,8 +18,12 @@ infoimagedir = $(infodir)/images
 # We prefer not to break builds in this case, so
 # we use the include version which is backwards compatible
 # and upwards compatible, while the ref variant is neither.
-
 AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css
+else
+# In the 5.x version they added `--split=chapters|sections` in
+# addition to `--split=nodes`.
+AM_MAKEINFOHTMLFLAGS = --split=sections --css-ref=style.css --css-ref=manual.css
+endif
 
 dist_infoimage_DATA =                                          \
        images/gnunet-gtk-0-10-gns-a-done.png                   \
index f3908aa9931ca94f034765565c60e05b286d7e97..8525563a21efc1fbf3bb69e2d1901d920b7fc9b4 100644 (file)
@@ -7,8 +7,21 @@ docdir = $(datadir)/doc/gnunet/
 #      $(DOT_FILES:%.dot=%.eps)                                \
 #      $(DOT_FILES:%.dot=%.pdf)
 
-# See ../handbook/Makefile.am comment!
+if ACTIVATE_TEXINFO4
+# NOTE: While GNU makeinfo 6.5 supports --css-ref=URL,
+# makeinfo 4.8 (in NetBSD 8.0, macOS, and maybe other
+# base) does only support --css-include=FILE.
+# The only difference is a shorter html output and
+# in 6.5 the ability to use refs instead of include.
+# We prefer not to break builds in this case, so
+# we use the include version which is backwards compatible
+# and upwards compatible, while the ref variant is neither.
 AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css
+else
+# In the 5.x version they added `--split=chapters|sections` in
+# addition to `--split=nodes`.
+AM_MAKEINFOHTMLFLAGS = --split=sections --css-ref=style.css --css-ref=manual.css
+endif
 
 #DOT_OPTIONS =                                                 \
 #      -Gratio=.9 -Gnodesep=.005 -Granksep=.00005              \