From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32570 invoked by alias); 17 Apr 2009 20:40:46 -0000 Received: (qmail 32558 invoked by uid 22791); 17 Apr 2009 20:40:45 -0000 X-SWARE-Spam-Status: No, hits=-0.6 required=5.0 tests=AWL,BAYES_00,HK_OBFDOM,J_CHICKENPOX_33,J_CHICKENPOX_53,J_CHICKENPOX_63,J_CHICKENPOX_73,J_CHICKENPOX_83,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 17 Apr 2009 20:40:31 +0000 Received: (qmail 14828 invoked from network); 17 Apr 2009 20:40:29 -0000 Received: from unknown (HELO digraph.polyomino.org.uk) (joseph@127.0.0.2) by mail.codesourcery.com with ESMTPA; 17 Apr 2009 20:40:29 -0000 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.69) (envelope-from ) id 1LuurE-000541-Il for gdb-patches@sourceware.org; Fri, 17 Apr 2009 20:40:20 +0000 Date: Fri, 17 Apr 2009 20:40:00 -0000 From: "Joseph S. Myers" To: gdb-patches@sourceware.org Subject: Use makeinfo --html for HTML manuals Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-04/txt/msg00464.txt.bz2 This patch makes the GDB makefiles build HTML manuals using makeinfo --html instead of texi2html. This has the following advantages: * makeinfo --html is the standard approach used by GNU software, so links between different manuals are more likely to work when makeinfo --html is used, manuals will appear more uniform and the Texinfo language implementation in makeinfo --html is more likely to be in sync with that used for other output formats. * With texi2html (at least some versions), "make install-html" was broken because the files were not built under the expected names; this illustrates that texi2html has changed its behavior incompatibly in the past in ways making it problematic for the makefiles to allow for different versions. The install-html rules for makeinfo --html output are taken from those generated by automake, just as the install-pdf rules already present were. With regard to the removed comment about lack of split-file HTML support in makeinfo 4.0, split-file output has been supported since 4.1, and the toplevel configure script requires makeinfo 4.7 (released April 2004) as the minimum version for the src repository so all supported makeinfo versions will generate split-file HTML output. Tested with "make install-html". OK to commit? gdb: 2009-04-17 Carlos O'Donell * Makefile.in (MAKEHTML): Set to makeinfo --html. (MAKEHTMLFLAGS): Set to empty. gdb/doc: 2009-04-17 Carlos O'Donell Joseph Myers * Makefile.in (MAKEHTML): Set to makeinfo --html. (MAKEHTMLFLAGS): Set to empty. (html__strip_dir): Define. (HTMLFILES): Define. (HTMLFILES_INSTALL): Define. (install-html): Copy new automake rule. (html): Depend on $(HTMLFILES). (gdb_toc.html): Rename to gdb/index.html. (gdbint_toc.html): Rename to gdbint/index.html. (stabs_toc.html): Rename to stabs/index.html. (annotate_toc.html): Rename to annotate/index.html. Index: gdb/Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/Makefile.in,v retrieving revision 1.1077 diff -u -r1.1077 Makefile.in --- gdb/Makefile.in 17 Apr 2009 17:44:03 -0000 1.1077 +++ gdb/Makefile.in 17 Apr 2009 20:27:47 -0000 @@ -111,11 +111,8 @@ # where to find makeinfo, preferably one designed for texinfo-2 MAKEINFO=makeinfo -# Contrary to documentation, the current directory is not -# searched by texi2html, so specify it explicitly. -# -macro 2007-07-26 -MAKEHTML = texi2html -MAKEHTMLFLAGS = -menu -split_chapter -I . +MAKEHTML = $(MAKEINFO) --html +MAKEHTMLFLAGS = # Set this up with gcc if you have gnu ld and the loader will print out # line numbers for undefined references. Index: gdb/doc/Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/doc/Makefile.in,v retrieving revision 1.44 diff -u -r1.44 Makefile.in --- gdb/doc/Makefile.in 17 Apr 2009 17:44:05 -0000 1.44 +++ gdb/doc/Makefile.in 17 Apr 2009 20:27:47 -0000 @@ -46,14 +46,8 @@ # where to find makeinfo, preferably one designed for texinfo-2 MAKEINFO=makeinfo -# Note that texinfo 4.0's makeinfo --html can only generate a -# single file, which would be too large, so continue to use -# texi2html. -sts 2000-03-28 -# Contrary to documentation, the current directory is not -# searched by texi2html, so specify it explicitly. -# -macro 2007-07-26 -MAKEHTML = texi2html -MAKEHTMLFLAGS = -menu -split_chapter -I . +MAKEHTML = $(MAKEINFO) --html +MAKEHTMLFLAGS = # where to find texi2roff, ditto TEXI2ROFF=texi2roff @@ -80,6 +74,9 @@ # Files which should be generated via 'pdf' and installed by 'install-pdf' PDFFILES = gdb.pdf gdbint.pdf stabs.pdf refcard.pdf annotate.pdf +# Files which should be generated via 'html' and installed by 'install-html' +HTMLFILES = gdb/index.html gdbint/index.html stabs/index.html annotate/index.html +HTMLFILES_INSTALL = gdb gdbint stabs annotate # There may be alternate predefined collections of switches to configure # the GDB manual. Normally this is not done in synch with the software @@ -163,7 +160,7 @@ info: $(INFO_DEPS) dvi: gdb.dvi gdbint.dvi stabs.dvi refcard.dvi annotate.dvi ps: gdb.ps gdbint.ps stabs.ps refcard.ps annotate.ps -html: gdb_toc.html gdbint_toc.html stabs_toc.html annotate_toc.html +html: $(HTMLFILES) pdf: $(PDFFILES) all-doc: info dvi ps # pdf diststuff: info @@ -205,9 +202,23 @@ (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \ done -install-html: html - for i in *.html ; do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(htmldir)/$$i ; \ +html__strip_dir = `echo $$p | sed -e 's|^.*/||'`; + +install-html: $(HTMLFILES) + @$(NORMAL_INSTALL) + test -z "$(htmldir)" || $(mkinstalldirs) "$(DESTDIR)$(htmldir)" + @list='$(HTMLFILES_INSTALL)'; for p in $$list; do \ + if test -f "$$p" || test -d "$$p"; then d=""; else d="$(srcdir)/"; fi; \ + f=$(html__strip_dir) \ + if test -d "$$d$$p"; then \ + echo " $(mkinstalldirs) '$(DESTDIR)$(htmldir)/$$f'"; \ + $(mkinstalldirs) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ + echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \ + else \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ + fi; \ done pdf__strip_dir = `echo $$p | sed -e 's|^.*/||'`; @@ -417,7 +428,7 @@ # GDB MANUAL: HTML file -gdb_toc.html: ${GDB_DOC_FILES} +gdb/index.html: ${GDB_DOC_FILES} $(MAKEHTML) $(MAKEHTMLFLAGS) -I ${READLINE_DIR} -I ${GDBMI_DIR} -I $(srcdir) $(srcdir)/gdb.texinfo # Clean these up before each run. Avoids a catch 22 with not being @@ -445,7 +456,7 @@ # GDB INTERNALS MANUAL: HTML file -gdbint_toc.html: $(GDBINT_DOC_FILES) +gdbint/index.html: $(GDBINT_DOC_FILES) $(MAKEHTML) $(MAKEHTMLFLAGS) $(srcdir)/gdbint.texinfo stabs.info: $(STABS_DOC_FILES) @@ -453,7 +464,7 @@ # STABS DOCUMENTATION: HTML file -stabs_toc.html: $(STABS_DOC_FILES) +stabs/index.html: $(STABS_DOC_FILES) $(MAKEHTML) $(MAKEHTMLFLAGS) $(srcdir)/stabs.texinfo # Clean these up before each run. Avoids a catch 22 with not being @@ -495,7 +506,7 @@ annotate.info: $(ANNOTATE_DOC_FILES) $(MAKEINFO) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo -annotate_toc.html: $(ANNOTATE_DOC_FILES) +annotate/index.html: $(ANNOTATE_DOC_FILES) $(MAKEHTML) $(MAKEHTMLFLAGS) $(srcdir)/annotate.texinfo force: -- Joseph S. Myers joseph@codesourcery.com