This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: install-html and install-pdf improvements
> Date: Fri, 17 Apr 2009 19:48:57 +0000 (UTC)
> From: "Joseph S. Myers" <joseph@codesourcery.com>
> cc: gdb-patches@sourceware.org
>
> > > On Fri, 17 Apr 2009, Eli Zaretskii wrote:
> > >
> > > > Yes, but I don't understand why did you need to define docdir in
> > > > addition to pdfdir and htmldir. Unlike the other two, docdir is not
> > > > used anywhere, so why define it?
> > >
> > > The default definitions of htmldir and pdfdir use ${docdir}
> >
> > Sorry, I'm not following: what default definitions? These variables
> > are used neither in your patch nor in the current doc/Makefile.in.
> > What am I missing?
>
> The default definitions in the toplevel configure.ac, at least.
>
> docdir="\${datarootdir}/doc"
> pdfdir="\${docdir}"
> htmldir="\${docdir}"
That's okay, but I wasnt asking about the top level. What I was
asking about are these specific parts of the patch, which relate to
subdirectories, not to the top-level configure and Makefile.in:
Index: gdb/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.1076
diff -u -r1.1076 Makefile.in
--- gdb/Makefile.in 30 Mar 2009 19:54:19 -0000 1.1076
+++ gdb/Makefile.in 17 Apr 2009 11:28:54 -0000
@@ -40,8 +40,10 @@
man8dir = $(mandir)/man8
man9dir = $(mandir)/man9
infodir = @infodir@
-pdfdir = $(prefix)/share/doc/gdb
-htmldir = $(prefix)/html
+datarootdir = @datarootdir@
+docdir = @docdir@
+htmldir = @htmldir@
+pdfdir = @pdfdir@
includedir = @includedir@
# This can be referenced by `LIBINTL' as computed by
@@ -530,6 +532,9 @@
"prefix=$(prefix)" \
"exec_prefix=$(exec_prefix)" \
"infodir=$(infodir)" \
+ "datarootdir=$(datarootdir)" \
+ "docdir=$(docdir)" \
+ "htmldir=$(htmldir)" \
"pdfdir=$(pdfdir)" \
"libdir=$(libdir)" \
"mandir=$(mandir)" \
Index: gdb/configure.ac
===================================================================
RCS file: /cvs/src/src/gdb/configure.ac,v
retrieving revision 1.92
diff -u -r1.92 configure.ac
--- gdb/configure.ac 15 Apr 2009 22:20:31 -0000 1.92
+++ gdb/configure.ac 17 Apr 2009 11:28:55 -0000
@@ -1955,6 +1955,12 @@
AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8",
[Define to be a string naming the default host character set.])
+dnl Required by html, pdf, install-pdf and install-html
+AC_SUBST(datarootdir)
+AC_SUBST(docdir)
+AC_SUBST(htmldir)
+AC_SUBST(pdfdir)
+
AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
[
dnl Autoconf doesn't provide a mechanism for modifying definitions
Index: gdb/doc/configure.ac
===================================================================
RCS file: /cvs/src/src/gdb/doc/configure.ac,v
retrieving revision 1.2
diff -u -r1.2 configure.ac
--- gdb/doc/configure.ac 5 Jun 2008 22:36:56 -0000 1.2
+++ gdb/doc/configure.ac 17 Apr 2009 11:28:55 -0000
@@ -3,6 +3,11 @@
sinclude(../../config/acx.m4)
AC_PROG_INSTALL
AC_PROG_LN_S
+dnl Required by html, pdf, install-pdf and install-html
+AC_SUBST(datarootdir)
+AC_SUBST(docdir)
+AC_SUBST(htmldir)
+AC_SUBST(pdfdir)
ACX_PKGVERSION([GDB])
ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
AC_OUTPUT(Makefile)
AFAICS, neither gdb/Makefile.in, nor anyone of the Makefile.in files
in its subdirectory, including gdb/doc/, uses $(docdir). So I'm
wondering why do we need a variable no one uses, and why do we pass it
to sub-Make?
IOW, why not just have $(htmldir) and $(pdfdir) in the Makefile's, and
let the top-level configure figure out where they should be, based on
"--with-*dir" switches? The sub-Make's would then get these values
from the variables we pass to them, and there's no need to compute
$(docdir) again in subdirectories. Note that, even according to your
patch, gdb/doc/Makefile.in does not define nor use $(docdir), only the
other two. I'm asking why can't we do the same in gdb/ as well?