gnuastro-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnuastro-commits] (no subject)


From: Mohammad Akhlaghi
Subject: [gnuastro-commits] (no subject)
Date: Mon, 23 May 2016 10:56:26 +0000 (UTC)

branch: master
commit 039402547a0240837dd044ab1f7400ec29ae94b5
Author: Mohammad Akhlaghi <address@hidden>
Date:   Mon May 23 13:56:24 2016 +0900

    fdl.texi is now kept in the bootstrapped directory
    
    In an effort to keep the `doc/' directory as clean (from non-hand-written
    files) as possible, a work-around is used to keep the `fdl.texi' file in
    the `bootstrapped/doc' directory instead of having to copy it in `doc/'
    during the bootstrapping process (as done in e80944a: doc/fdl.texi is no
    longer under version control).
    
    This process was inspired by the solution to Automake bug report #23599
    which I submitted, Mathieu Lirzin suggested overriding the value of
    `TEXI2DVI' which is a nice solution. However for some reason, Automake
    complains about the value substitution and exits with an error. So what I
    have done now is to manually (using SED) correct the value of TEXI2DVI at
    the end of the bootstrap process in bootstrap.conf's `bootstrap_epologue'.
    
    This is not a good solution, because if automake is ran outside of the
    bootstrap process (for example when editing the `Makefile.am's), then it
    will not be able to build PDF and DVI outputs.
---
 bootstrap.conf  |   11 ++++++-----
 configure.ac    |   10 ++++++++++
 doc/Makefile.am |   20 +++++++++++++-------
 3 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/bootstrap.conf b/bootstrap.conf
index 589afca..75bfe00 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -126,11 +126,6 @@ bootstrap_post_import_hook()
         
"http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_$m4name.m4";
 || die "Failed to download ax_$m4name.m4!"
     done
   fi
-
-  # Until we find a solution to making PDF and DVI files with the
-  # AM_MAKEINFOFLAGS Automake variable, we need to copy the fdl.texi file
-  # into the doc/ directory.
-  cp bootstrapped/doc/fdl.texi doc/fdl.texi
 }
 
 
@@ -139,6 +134,12 @@ bootstrap_post_import_hook()
 # operations are complete.
 bootstrap_epilogue()
 {
+  # This is a temporary work-around to the problem of not being able to
+  # override the value of TEXI2DVI in doc/Makefile.am.
+  sed 's/TEXI2DVI = texi2dvi/TEXI2DVI = texi2dvi -I $(BOOTSTRPDOC)/'  \
+      doc/Makefile.in > doc/Makefile.in.tmp
+  mv doc/Makefile.in.tmp doc/Makefile.in
+
   # Prepare all the figure formats for the various manual formats.
   cd doc/plotsrc
   make
diff --git a/configure.ac b/configure.ac
index 86acd83..ddca1cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -117,6 +117,16 @@ AC_PATH_PROG(HELP2MAN, help2man)
 
 
 
+# Path of the bootstrapped/doc dir to use for finding fdl.texi (which comes
+# from Gnulib). IMPORTANT NOTE: the `'' signs are needed on either side of
+# the value, otherwise the `$(top_srcdir)' will be executed at configure
+# time and be blank by the time it reaches Make.
+AC_SUBST(BOOTSTRPDOC, ['$(top_srcdir)/bootstrapped/doc'])
+
+
+
+
+
 # Read the configuration date.
 AC_MSG_CHECKING([for date of compilation])
 AC_DEFINE_UNQUOTED([CONFIGDATE], ["`date +"%d %B %Y"`"],
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 97ce522..49f6c81 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -22,18 +22,24 @@
 ## along with GNU Astronomy Utilities. If not, see
 ## <http://www.gnu.org/licenses/>.
 
-## Add the version numbers of the separate programs:
-## ================================================= List the header
-## files in this string with a space character between them, don't
-## forget to add `$(top_srcdir}/src/` before them like the ones
-## already there.
 
+## Set the shell
 SHELL=/bin/bash
 
 
-## Commands to make the texinfo tools:
+## fdl.texi (The GNU Free documentation license in Texinfo format) is
+## bootstrapped from Gnulib. Therefore it is not in this
+## directory. However, it is needed by gnuastro.texi to build the
+## documentation. It is the job of AM_MAKEINFOFLAGS, to pass options to the
+## documentation build programs. BOOTSTRPDOC is defined in `configure.ac'.
+AM_MAKEINFOFLAGS = -I $(BOOTSTRPDOC)
+#TEXI2DVI = texi2dvi -I $(BOOTSTRPDOC)
+
+
+## Commands to make the texinfo tools. BOOTSTRPDOC is defined in
+## `configure.ac'.
 info_TEXINFOS = gnuastro.texi
-gnuastro_TEXINFOS = fdl.texi authors.texi formath.texi
+gnuastro_TEXINFOS = $(BOOTSTRPDOC)/fdl.texi formath.texi authors.texi
 
 
 ## Files not predefined by Automake, and not in dependencies that must



reply via email to

[Prev in Thread] Current Thread [Next in Thread]