Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* install-html and install-pdf improvements
@ 2009-04-17 11:47 Joseph S. Myers
  2009-04-17 15:26 ` Eli Zaretskii
  2009-04-17 16:58 ` Tom Tromey
  0 siblings, 2 replies; 17+ messages in thread
From: Joseph S. Myers @ 2009-04-17 11:47 UTC (permalink / raw)
  To: gdb-patches

This patch improves "make install-html" and "make install-pdf" support
for GDB:

* There are toplevel configure options --with-htmldir and
  --with-pdfdir to control where HTML and PDF manuals are installed.
  This patch makes the gdb/ directory follow these rather than
  hardcoding its own directory settings.

* The readline and sim directories need some dummy rules so that these
  targets work at toplevel.

Note: with the version of texi2html I have installed "make
install-html" doesn't actually work either before or after the patch,
because gdb/doc/Makefile.in is expecting files such as gdb_toc.html to
be placed in the current directory and texi2html is placing them in a
gdb/ subdirectory.  I have a separate patch to switch to using
makeinfo --html, which is more predictable in its output naming and is
the usual approach used by GNU software for building HTML manuals, but
that's logically independent of this patch.

OK to commit?

gdb:
2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir.
	* configure: Regenerate.
	* Makefile.in: Set datarootdir, docdir, htmldir, and pdfdir from
	configure substitutions.
	(FLAGS_TO_PASS): Add datarootdir, docdir, and htmldir.

gdb/doc:
2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Set pdfdir and htmldir from configure
	substitutions.
	* configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir.
	* configure: Regenerate.

readline:
2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Add html target.  Add dummy install-html and
	install-pdf targets.

sim:
2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Add dummy install-pdf, html, and
	install-html targets.

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/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/doc/Makefile.in,v
retrieving revision 1.43
diff -u -r1.43 Makefile.in
--- gdb/doc/Makefile.in	3 Jan 2009 05:57:56 -0000	1.43
+++ gdb/doc/Makefile.in	17 Apr 2009 11:28:55 -0000
@@ -24,8 +24,8 @@
 prefix = @prefix@
 
 infodir = @infodir@
-pdfdir = $(prefix)/share/doc/gdb
-htmldir = $(prefix)/html
+pdfdir = @pdfdir@
+htmldir = @htmldir@
 
 SHELL = @SHELL@
 
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)
Index: readline/Makefile.in
===================================================================
RCS file: /cvs/src/src/readline/Makefile.in,v
retrieving revision 1.9
diff -u -r1.9 Makefile.in
--- readline/Makefile.in	27 Mar 2007 18:09:35 -0000	1.9
+++ readline/Makefile.in	17 Apr 2009 11:28:56 -0000
@@ -297,10 +297,12 @@
 	$(RM) $(CREATED_CONFIGURE)
 	$(RM) $(CREATED_TAGS)
 
-info dvi pdf:
+info dvi html pdf:
 	-( cd doc && $(MAKE) $(MFLAGS) $@ )
 
 install-info:
+install-html:
+install-pdf:
 check:
 installcheck:
 
Index: sim/Makefile.in
===================================================================
RCS file: /cvs/src/src/sim/Makefile.in,v
retrieving revision 1.16
diff -u -r1.16 Makefile.in
--- sim/Makefile.in	14 Jan 2009 10:53:05 -0000	1.16
+++ sim/Makefile.in	17 Apr 2009 11:28:56 -0000
@@ -187,6 +187,9 @@
 install-info:
 dvi:
 pdf:
+install-pdf:
+html:
+install-html:
 
 ### 
 ### 

-- 
Joseph S. Myers
joseph@codesourcery.com


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 11:47 install-html and install-pdf improvements Joseph S. Myers
@ 2009-04-17 15:26 ` Eli Zaretskii
  2009-04-17 15:30   ` Joseph S. Myers
  2009-04-17 15:58   ` Joseph S. Myers
  2009-04-17 16:58 ` Tom Tromey
  1 sibling, 2 replies; 17+ messages in thread
From: Eli Zaretskii @ 2009-04-17 15:26 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gdb-patches

> Date: Fri, 17 Apr 2009 11:47:39 +0000 (UTC)
> From: "Joseph S. Myers" <joseph@codesourcery.com>
> 
> This patch improves "make install-html" and "make install-pdf" support
> for GDB:
> 
> * There are toplevel configure options --with-htmldir and
>   --with-pdfdir to control where HTML and PDF manuals are installed.
>   This patch makes the gdb/ directory follow these rather than
>   hardcoding its own directory settings.

Thanks.

> * The readline and sim directories need some dummy rules so that these
>   targets work at toplevel.

I believe patches to readline need to be sent elsewhere.  We just
import their stuff.  Maybe sim as well.

> OK to commit?

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?

Other than that, the patches to files in gdb/doc/ are approved.  The
patches to gdb/ directory are fine with me, but I'd like others to
comment on them as well.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 15:26 ` Eli Zaretskii
@ 2009-04-17 15:30   ` Joseph S. Myers
  2009-04-17 18:18     ` Eli Zaretskii
  2009-04-17 15:58   ` Joseph S. Myers
  1 sibling, 1 reply; 17+ messages in thread
From: Joseph S. Myers @ 2009-04-17 15:30 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: gdb-patches

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}, and docdir is 
defined in terms of datarootdir.  (When the src repository moves to newer 
autoconf with native support for all these directory variables, the custom 
configure code to deal with them will go away, and the makefiles will not 
need any changes as they will already define all required variables.)

-- 
Joseph S. Myers
joseph@codesourcery.com


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 15:26 ` Eli Zaretskii
  2009-04-17 15:30   ` Joseph S. Myers
@ 2009-04-17 15:58   ` Joseph S. Myers
  1 sibling, 0 replies; 17+ messages in thread
From: Joseph S. Myers @ 2009-04-17 15:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: gdb-patches

On Fri, 17 Apr 2009, Eli Zaretskii wrote:

> > * The readline and sim directories need some dummy rules so that these
> >   targets work at toplevel.
> 
> I believe patches to readline need to be sent elsewhere.  We just
> import their stuff.  Maybe sim as well.

I have sent a readline patch incorporating those changes and the previous 
addition of the "pdf" target to bash-maintainers@gnu.org which I think is 
the relevant upstream.  We don't exactly import readline much, just apply 
local changes that may also have gone upstream, with very infrequent 
imports of new upstream versions.

I am not aware of sim being maintained anywhere outside of GDB.

-- 
Joseph S. Myers
joseph@codesourcery.com


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 11:47 install-html and install-pdf improvements Joseph S. Myers
  2009-04-17 15:26 ` Eli Zaretskii
@ 2009-04-17 16:58 ` Tom Tromey
  2009-04-17 17:31   ` Daniel Jacobowitz
  1 sibling, 1 reply; 17+ messages in thread
From: Tom Tromey @ 2009-04-17 16:58 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gdb-patches

>>>>> "Joseph" == Joseph S Myers <joseph@codesourcery.com> writes:

Joseph> * The readline and sim directories need some dummy rules so that these
Joseph>   targets work at toplevel.

For libiconv, I worked around this at the top level, by adding
"missing" clauses to the libiconv host module.  That would work for
the readline install bits.

I see now that I missed "pdf" and "html" here.

Joseph> OK to commit?

The gdb parts are ok.  I don't know if I am able to approve sim or
readline changes, but those look ok to me.

Tom


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 16:58 ` Tom Tromey
@ 2009-04-17 17:31   ` Daniel Jacobowitz
  2009-04-17 18:47     ` Tom Tromey
  0 siblings, 1 reply; 17+ messages in thread
From: Daniel Jacobowitz @ 2009-04-17 17:31 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Joseph S. Myers, gdb-patches

On Fri, Apr 17, 2009 at 10:56:21AM -0600, Tom Tromey wrote:
> Joseph> OK to commit?
> 
> The gdb parts are ok.  I don't know if I am able to approve sim or
> readline changes, but those look ok to me.

You are definitely able.

We do try to send readline patches upstream - but the build system is
a bit hacked up from upstream's, to make it fit into toplevel
configure, and this is a reasonable extension of that IMO.

-- 
Daniel Jacobowitz
CodeSourcery


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 15:30   ` Joseph S. Myers
@ 2009-04-17 18:18     ` Eli Zaretskii
  2009-04-17 19:43       ` Tom Tromey
  2009-04-17 19:49       ` Joseph S. Myers
  0 siblings, 2 replies; 17+ messages in thread
From: Eli Zaretskii @ 2009-04-17 18:18 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gdb-patches

> Date: Fri, 17 Apr 2009 15:30:08 +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?

> (When the src repository moves to newer 
> autoconf with native support for all these directory variables, the custom 
> configure code to deal with them will go away, and the makefiles will not 
> need any changes as they will already define all required variables.)

Well, you are talking here about something I don't know anything
about.  But we don't need to install today a change that will only be
needed at some future time.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 17:31   ` Daniel Jacobowitz
@ 2009-04-17 18:47     ` Tom Tromey
  2009-04-17 19:16       ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Tom Tromey @ 2009-04-17 18:47 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gdb-patches

>>>>> "Daniel" == Daniel Jacobowitz <drow@false.org> writes:

Daniel> We do try to send readline patches upstream - but the build system is
Daniel> a bit hacked up from upstream's, to make it fit into toplevel
Daniel> configure, and this is a reasonable extension of that IMO.

I agree.  Also, there's a mention of "pdf" in ChangeLog.gdb already.

So, Joseph, your entire patch is ok.  Thanks.

Tom


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 18:47     ` Tom Tromey
@ 2009-04-17 19:16       ` Eli Zaretskii
  0 siblings, 0 replies; 17+ messages in thread
From: Eli Zaretskii @ 2009-04-17 19:16 UTC (permalink / raw)
  To: Tom Tromey; +Cc: joseph, gdb-patches

> Cc: gdb-patches@sourceware.org
> From: Tom Tromey <tromey@redhat.com>
> Date: Fri, 17 Apr 2009 12:45:16 -0600
> 
> >>>>> "Daniel" == Daniel Jacobowitz <drow@false.org> writes:
> 
> Daniel> We do try to send readline patches upstream - but the build system is
> Daniel> a bit hacked up from upstream's, to make it fit into toplevel
> Daniel> configure, and this is a reasonable extension of that IMO.
> 
> I agree.  Also, there's a mention of "pdf" in ChangeLog.gdb already.
> 
> So, Joseph, your entire patch is ok.  Thanks.

Please hold your horses.  This is related to the documentation, so I'd
like to be sure I understand and agree with the patch, before it is
committed.

Thanks.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 18:18     ` Eli Zaretskii
@ 2009-04-17 19:43       ` Tom Tromey
  2009-04-17 19:49       ` Joseph S. Myers
  1 sibling, 0 replies; 17+ messages in thread
From: Tom Tromey @ 2009-04-17 19:43 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Joseph S. Myers, gdb-patches

>>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:

Joseph> The default definitions of htmldir and pdfdir use ${docdir}

Eli> Sorry, I'm not following: what default definitions?

See the top level configure.ac.  E.g.

AC_ARG_WITH(htmldir,
[  --with-htmldir          install html in this directory.],
[htmldir="\${prefix}/${withval}"],
[htmldir="\${docdir}"])

Tom


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 18:18     ` Eli Zaretskii
  2009-04-17 19:43       ` Tom Tromey
@ 2009-04-17 19:49       ` Joseph S. Myers
  2009-04-18  7:31         ` Eli Zaretskii
  1 sibling, 1 reply; 17+ messages in thread
From: Joseph S. Myers @ 2009-04-17 19:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: gdb-patches

On Fri, 17 Apr 2009, Eli Zaretskii wrote:

> > Date: Fri, 17 Apr 2009 15:30:08 +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}"

> > (When the src repository moves to newer 
> > autoconf with native support for all these directory variables, the custom 
> > configure code to deal with them will go away, and the makefiles will not 
> > need any changes as they will already define all required variables.)
> 
> Well, you are talking here about something I don't know anything
> about.  But we don't need to install today a change that will only be
> needed at some future time.

I think Ralf is the main person working on updating the by now very out of 
date versions of auto* used in GCC and src, but in general it's a good 
idea to reduce the size of the large and potentially complicated final 
transition patch by making makefiles and configure scripts work where 
possible with both the presently used auto* versions and with the current 
versions that will be used in future.  A definition of datarootdir, for 
example, is at worst harmless but unnecessary with autoconf 2.59, and 
avoids problems with missing definitions of that variable when autoconf 
2.60 or later is used, so can sensibly go in makefiles when any variable 
that autoconf 2.60 and later derives from datarootdir is used.

-- 
Joseph S. Myers
joseph@codesourcery.com


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-17 19:49       ` Joseph S. Myers
@ 2009-04-18  7:31         ` Eli Zaretskii
  2009-04-18  9:32           ` Joseph S. Myers
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2009-04-18  7:31 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gdb-patches

> 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?


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-18  7:31         ` Eli Zaretskii
@ 2009-04-18  9:32           ` Joseph S. Myers
  2009-04-20 19:51             ` Carlos O'Donell
  0 siblings, 1 reply; 17+ messages in thread
From: Joseph S. Myers @ 2009-04-18  9:32 UTC (permalink / raw)
  To: Eli Zaretskii, carlos; +Cc: gdb-patches

On Sat, 18 Apr 2009, Eli Zaretskii wrote:

> 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?

Carlos, do you have any comments on the design underlying your patches 
here, regarding what directory variables should be defined in which 
makefiles?  Were you aiming for each directory to be configurable 
independently when using a newer version of autoconf, so meaning that 
docdir and datarootdir should be defined in gdb/doc/Makefile.in, or for 
configuration always to be required to be at toplevel with directories 
expanded by make there and passed down in which case some variables may 
not be required in some subdirectories, or something else?

The thread starts at 
<http://sourceware.org/ml/gdb-patches/2009-04/msg00424.html> and as far as 
I can see I did not make any changes to the sets of variables you defined 
in each directory.

-- 
Joseph S. Myers
joseph@codesourcery.com


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-18  9:32           ` Joseph S. Myers
@ 2009-04-20 19:51             ` Carlos O'Donell
  2009-04-20 20:56               ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Carlos O'Donell @ 2009-04-20 19:51 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: Eli Zaretskii, gdb-patches

Joseph S. Myers wrote:
> On Sat, 18 Apr 2009, Eli Zaretskii wrote:
> 
>> 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?
> 
> Carlos, do you have any comments on the design underlying your patches 
> here, regarding what directory variables should be defined in which 
> makefiles?  Were you aiming for each directory to be configurable 
> independently when using a newer version of autoconf, so meaning that 
> docdir and datarootdir should be defined in gdb/doc/Makefile.in, or for 
> configuration always to be required to be at toplevel with directories 
> expanded by make there and passed down in which case some variables may 
> not be required in some subdirectories, or something else?
> 
> The thread starts at 
> <http://sourceware.org/ml/gdb-patches/2009-04/msg00424.html> and as far as 
> I can see I did not make any changes to the sets of variables you defined 
> in each directory.

The goal was to take a step towards behaving like the newer autoconf
would behave, and to allow independent configuration for each directory.

There should be values of docdir and datarootdir defined in
gdb/doc/Makefile.in, and if not specified, the values of pdfdir and
htmldir should be set to defaults as defined in the GNU Coding Standard.

The patch does not implement this last requirement, but that was the idea.

Cheers,
Carlos.
-- 
Carlos O'Donell
CodeSourcery
carlos@codesourcery.com
(650) 331-3385 x716


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-20 19:51             ` Carlos O'Donell
@ 2009-04-20 20:56               ` Eli Zaretskii
  2009-04-21 12:45                 ` Joseph S. Myers
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2009-04-20 20:56 UTC (permalink / raw)
  To: Carlos O'Donell; +Cc: joseph, gdb-patches

> Date: Mon, 20 Apr 2009 15:50:36 -0400
> From: Carlos O'Donell <carlos@codesourcery.com>
> CC: Eli Zaretskii <eliz@gnu.org>,  gdb-patches@sourceware.org
> 
> The goal was to take a step towards behaving like the newer autoconf
> would behave, and to allow independent configuration for each directory.
> 
> There should be values of docdir and datarootdir defined in
> gdb/doc/Makefile.in, and if not specified, the values of pdfdir and
> htmldir should be set to defaults as defined in the GNU Coding Standard.
> 
> The patch does not implement this last requirement, but that was the idea.

Thanks for the explanations.

Is it possible to do this as you describe, including the last
requirement?  I'd prefer to have a setup with no lose ends, because a
year from now, none of us is likely to remember what we intended to
do, and someone some day will wonder what is this all about.

But if adding the missing pieces is beyond your current resources, I
won't fight; go ahead and commit the changes.

Thanks.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-20 20:56               ` Eli Zaretskii
@ 2009-04-21 12:45                 ` Joseph S. Myers
  2009-04-21 18:54                   ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Joseph S. Myers @ 2009-04-21 12:45 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Carlos O'Donell, gdb-patches

On Mon, 20 Apr 2009, Eli Zaretskii wrote:

> > Date: Mon, 20 Apr 2009 15:50:36 -0400
> > From: Carlos O'Donell <carlos@codesourcery.com>
> > CC: Eli Zaretskii <eliz@gnu.org>,  gdb-patches@sourceware.org
> > 
> > The goal was to take a step towards behaving like the newer autoconf
> > would behave, and to allow independent configuration for each directory.
> > 
> > There should be values of docdir and datarootdir defined in
> > gdb/doc/Makefile.in, and if not specified, the values of pdfdir and
> > htmldir should be set to defaults as defined in the GNU Coding Standard.
> > 
> > The patch does not implement this last requirement, but that was the idea.
> 
> Thanks for the explanations.
> 
> Is it possible to do this as you describe, including the last
> requirement?  I'd prefer to have a setup with no lose ends, because a
> year from now, none of us is likely to remember what we intended to
> do, and someone some day will wonder what is this all about.

This followup patch adds the --with-datarootdir, --with-docdir,
--with-pdfdir and --with-htmldir configure options from toplevel to
both the gdb and gdb/doc directories for independent configurability,
adds the missing directory variables to gdb/doc/Makefile.in, and
arranges for all the different formats of each manual to be built with
the same -I options as previously discussed.  OK to commit?

gdb:
2009-04-21  Joseph Myers  <joseph@codesourcery.com>

	* configure.ac (--with-datarootdir, --with-docdir, --with-pdfdir,
	--with-htmldir): New.
	* configure: Regenerate.

gdb/doc:
2009-04-21  Joseph Myers  <joseph@codesourcery.com>

	* configure.ac (--with-datarootdir, --with-docdir, --with-pdfdir,
	--with-htmldir): New.
	* configure: Regenerate.
	* Makefile.in (datarootdir, docdir): Define.
	(gdb.dvi, gdb.pdf): Use same -I options as for building gdb.info
	instead of $(SET_TEXINPUTS).
	(gdbint.dvi, gdbint.pdf): Use same -I options as for building
	gdbint.info instead of $(SET_TEXINPUTS).
	(gdbint/index.html): Use same -I options as for building
	gdbint.info.
	(stabs.dvi, stabs.pdf): Use same -I options as for building
	stabs.info instead of $(SET_TEXINPUTS).
	(stabs/index.html): Use same -I options as for building
	stabs.info.
	(annotate.dvi, annotate.pdf): Use same -I options as for building
	annotate.info instead of $(SET_TEXINPUTS).
	(annotate/index.html): Use same -I options as for building
	annotate.info.

Index: configure.ac
===================================================================
RCS file: /cvs/src/src/gdb/configure.ac,v
retrieving revision 1.94
diff -u -r1.94 configure.ac
--- configure.ac	21 Apr 2009 10:13:05 -0000	1.94
+++ configure.ac	21 Apr 2009 12:38:46 -0000
@@ -1962,7 +1962,27 @@
 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
+# Flags needed to enable html installing and building
+AC_ARG_WITH(datarootdir,
+AC_HELP_STRING([--with-datarootdir], [use datarootdir as the data root directory.]),
+[datarootdir="\${prefix}/${withval}"],
+[datarootdir="\${prefix}/share"])
+
+AC_ARG_WITH(docdir,
+AC_HELP_STRING([--with-docdir], [install documentation in this directory.]),
+[docdir="\${prefix}/${withval}"],
+[docdir="\${datarootdir}/doc"])
+
+AC_ARG_WITH(pdfdir,
+AC_HELP_STRING([--with-pdfdir], [install pdf in this directory.]),
+[pdfdir="\${prefix}/${withval}"],
+[pdfdir="\${docdir}"])
+
+AC_ARG_WITH(htmldir,
+AC_HELP_STRING([--with-htmldir], [install html in this directory.]),
+[htmldir="\${prefix}/${withval}"],
+[htmldir="\${docdir}"])
+
 AC_SUBST(datarootdir)
 AC_SUBST(docdir)
 AC_SUBST(htmldir)
Index: doc/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/doc/Makefile.in,v
retrieving revision 1.45
diff -u -r1.45 Makefile.in
--- doc/Makefile.in	18 Apr 2009 17:11:02 -0000	1.45
+++ doc/Makefile.in	21 Apr 2009 12:38:46 -0000
@@ -24,6 +24,8 @@
 prefix = @prefix@
 
 infodir = @infodir@
+datarootdir = @datarootdir@
+docdir = @docdir@
 pdfdir = @pdfdir@
 htmldir = @htmldir@
 
@@ -338,7 +340,8 @@
 		ln $(srcdir)/GDBvn.texi . || \
 		cp $(srcdir)/GDBvn.texi . ; else true; fi
 	rm -f $(GDB_TEX_TMPS)
-	$(SET_TEXINPUTS) $(TEXI2DVI) $(srcdir)/gdb.texinfo
+	$(TEXI2DVI) -I ${READLINE_DIR} -I ${GDBMI_DIR} -I $(srcdir) \
+		$(srcdir)/gdb.texinfo
 
 gdb.ps: gdb.dvi
 	$(DVIPS) -o $@ $?
@@ -349,7 +352,8 @@
 		ln $(srcdir)/GDBvn.texi . || \
 		cp $(srcdir)/GDBvn.texi . ; else true; fi
 	rm -f $(GDB_TEX_TMPS)
-	$(SET_TEXINPUTS) $(TEXI2DVI) --pdf $(srcdir)/gdb.texinfo
+	$(TEXI2DVI) --pdf -I ${READLINE_DIR} -I ${GDBMI_DIR} -I $(srcdir) \
+		$(srcdir)/gdb.texinfo
 
 # GDB MANUAL: info file
 gdb.info: ${GDB_DOC_FILES}
@@ -440,14 +444,14 @@
 # GDB INTERNALS MANUAL: TeX dvi file
 gdbint.dvi: $(GDBINT_DOC_FILES)
 	rm -f $(GDBINT_TEX_TMPS)
-	$(SET_TEXINPUTS) $(TEXI2DVI) $(srcdir)/gdbint.texinfo
+	$(TEXI2DVI) -I $(srcdir) $(srcdir)/gdbint.texinfo
 
 gdbint.ps : gdbint.dvi
 	$(DVIPS) -o $@ $?
 
 gdbint.pdf: $(GDBINT_DOC_FILES)
 	rm -f $(GDBINT_TEX_TMPS)
-	$(SET_TEXINPUTS) $(TEXI2DVI) --pdf $(srcdir)/gdbint.texinfo
+	$(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/gdbint.texinfo
 
 # GDB INTERNALS MANUAL: info file
 
@@ -457,7 +461,7 @@
 # GDB INTERNALS MANUAL: HTML file
 
 gdbint/index.html: $(GDBINT_DOC_FILES)
-	$(MAKEHTML) $(MAKEHTMLFLAGS) $(srcdir)/gdbint.texinfo
+	$(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/gdbint.texinfo
 
 stabs.info: $(STABS_DOC_FILES)
 	$(MAKEINFO) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
@@ -465,7 +469,7 @@
 # STABS DOCUMENTATION: HTML file
 
 stabs/index.html: $(STABS_DOC_FILES)
-	$(MAKEHTML) $(MAKEHTMLFLAGS) $(srcdir)/stabs.texinfo
+	$(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/stabs.texinfo
 
 # Clean these up before each run.  Avoids a catch 22 with not being
 # able to re-generate these files (to fix a corruption) because these
@@ -476,14 +480,14 @@
 # STABS DOCUMENTATION: TeX dvi file
 stabs.dvi : $(STABS_DOC_FILES)
 	rm -f $(STABS_TEX_TMPS)
-	$(SET_TEXINPUTS) $(TEXI2DVI) $(srcdir)/stabs.texinfo
+	$(TEXI2DVI) -I $(srcdir) $(srcdir)/stabs.texinfo
 
 stabs.ps: stabs.dvi
 	$(DVIPS) -o $@ $?
 
 stabs.pdf: $(STABS_DOC_FILES)
 	rm -f $(STABS_TEX_TMPS)
-	$(SET_TEXINPUTS) $(TEXI2DVI) --pdf $(srcdir)/stabs.texinfo
+	$(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/stabs.texinfo
 
 # Clean these up before each run.  Avoids a catch 22 with not being
 # able to re-generate these files (to fix a corruption) because these
@@ -494,20 +498,20 @@
 # ANNOTATE DOCUMENTATION: TeX dvi file
 annotate.dvi : $(ANNOTATE_DOC_FILES)
 	rm -f $(ANNOTATE_TEX_TMPS)
-	$(SET_TEXINPUTS) $(TEXI2DVI) $(srcdir)/annotate.texinfo
+	$(TEXI2DVI) -I $(srcdir) $(srcdir)/annotate.texinfo
 
 annotate.ps: annotate.dvi
 	$(DVIPS) -o $@ $?
 
 annotate.pdf: $(ANNOTATE_DOC_FILES)
 	rm -f $(ANNOTATE_TEX_TMPS)
-	$(SET_TEXINPUTS) $(TEXI2DVI) --pdf $(srcdir)/annotate.texinfo
+	$(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/annotate.texinfo
 
 annotate.info: $(ANNOTATE_DOC_FILES)
 	$(MAKEINFO)  -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo
 
 annotate/index.html: $(ANNOTATE_DOC_FILES)
-	$(MAKEHTML) $(MAKEHTMLFLAGS) $(srcdir)/annotate.texinfo
+	$(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/annotate.texinfo
 
 force:
 
Index: doc/configure.ac
===================================================================
RCS file: /cvs/src/src/gdb/doc/configure.ac,v
retrieving revision 1.3
diff -u -r1.3 configure.ac
--- doc/configure.ac	17 Apr 2009 17:44:05 -0000	1.3
+++ doc/configure.ac	21 Apr 2009 12:38:47 -0000
@@ -3,11 +3,33 @@
 sinclude(../../config/acx.m4)
 AC_PROG_INSTALL
 AC_PROG_LN_S
-dnl Required by html, pdf, install-pdf and install-html
+
+# Flags needed to enable html installing and building
+AC_ARG_WITH(datarootdir,
+AC_HELP_STRING([--with-datarootdir], [use datarootdir as the data root directory.]),
+[datarootdir="\${prefix}/${withval}"],
+[datarootdir="\${prefix}/share"])
+
+AC_ARG_WITH(docdir,
+AC_HELP_STRING([--with-docdir], [install documentation in this directory.]),
+[docdir="\${prefix}/${withval}"],
+[docdir="\${datarootdir}/doc"])
+
+AC_ARG_WITH(pdfdir,
+AC_HELP_STRING([--with-pdfdir], [install pdf in this directory.]),
+[pdfdir="\${prefix}/${withval}"],
+[pdfdir="\${docdir}"])
+
+AC_ARG_WITH(htmldir,
+AC_HELP_STRING([--with-htmldir], [install html in this directory.]),
+[htmldir="\${prefix}/${withval}"],
+[htmldir="\${docdir}"])
+
 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)

-- 
Joseph S. Myers
joseph@codesourcery.com


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: install-html and install-pdf improvements
  2009-04-21 12:45                 ` Joseph S. Myers
@ 2009-04-21 18:54                   ` Eli Zaretskii
  0 siblings, 0 replies; 17+ messages in thread
From: Eli Zaretskii @ 2009-04-21 18:54 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: carlos, gdb-patches

> Date: Tue, 21 Apr 2009 12:45:21 +0000 (UTC)
> From: "Joseph S. Myers" <joseph@codesourcery.com>
> cc: Carlos O'Donell <carlos@codesourcery.com>, gdb-patches@sourceware.org
> 
> This followup patch adds the --with-datarootdir, --with-docdir,
> --with-pdfdir and --with-htmldir configure options from toplevel to
> both the gdb and gdb/doc directories for independent configurability,
> adds the missing directory variables to gdb/doc/Makefile.in, and
> arranges for all the different formats of each manual to be built with
> the same -I options as previously discussed.  OK to commit?

Yes, and thanks.

Btw, do we want these new configuration options be mentioned in NEWS?


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2009-04-21 18:54 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-17 11:47 install-html and install-pdf improvements Joseph S. Myers
2009-04-17 15:26 ` Eli Zaretskii
2009-04-17 15:30   ` Joseph S. Myers
2009-04-17 18:18     ` Eli Zaretskii
2009-04-17 19:43       ` Tom Tromey
2009-04-17 19:49       ` Joseph S. Myers
2009-04-18  7:31         ` Eli Zaretskii
2009-04-18  9:32           ` Joseph S. Myers
2009-04-20 19:51             ` Carlos O'Donell
2009-04-20 20:56               ` Eli Zaretskii
2009-04-21 12:45                 ` Joseph S. Myers
2009-04-21 18:54                   ` Eli Zaretskii
2009-04-17 15:58   ` Joseph S. Myers
2009-04-17 16:58 ` Tom Tromey
2009-04-17 17:31   ` Daniel Jacobowitz
2009-04-17 18:47     ` Tom Tromey
2009-04-17 19:16       ` Eli Zaretskii

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox