I have attached two separate .diff files; the first one contains all of the handwritten changes, and is relatively small; the second (gzipped) one contains the automatically-generated top-level Makefile.in file, which has a substantial number of repetitive changes.
I have tested that this works with "make pdf" on i686-pc-linux-gnu and i686-pc-cygwin, and have additionally tested with "make bootstrap" (with all languages except Ada) to confirm that it hasn't broken the build on either platform. I'm doing a "make -k check" test now. If someone could check and confirm that the trivial change to gnattools/Makefile.in doesn't break the gnattools build, I'd appreciate it, since Ada won't build on my box.
Given that this touches lots of things, I think I've cc'ed all of the relevant mailing lists. I'm not sure who all I have to get approval from! :)
There are, of course, quite a lot of changelog entries; I've given them headers by directory to indicate which changelog they go in.
Thanks! - Brooks Changelog entries: --(top level)-------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Makefile.def: Added pdf target handling. * Makefile.tpl: Added pdf target handling. * Makefile.in: Regenerated. ---fixincludes-------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Makefile.in: Added empty "pdf" target. ---gcc---------------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * configure.ac: Added pdf to "Make-hooks" * Makefile.in: Added TEXI2PDF definition, and various pdf-file targets and *.pdf file patterns in cleanup targets. * configure: Regenerated. ---gcc/cp------------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Make-lang.in: Added "c++.pdf" target support. ---gcc/fortran-------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Make-lang.in: Added "fortran.pdf", "gfortran.pdf" target support. ---gcc/java----------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Make-lang.in: Added "java.pdf", "gcj.pdf" target support. ---gcc/objc----------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Make-lang.in: Added empty "objc.pdf" target. ---gcc/objcp---------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Make-lang.in: Added empty "obj-c++.pdf" target. ---gcc/treelang------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Make-lang.in: Added "treelang.pdf" target support. ---gnattools---------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Makefile.in: Added empty "pdf" target. ---libcpp------------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Makefile.in: Added empty "pdf" target. ---libdecnumber------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Makefile.in: Added empty "pdf" target. ---libiberty---------------------------------------------- 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Makefile.in: Added "pdf", "libiberty.pdf" target support. * testsuite/Makefile.in: Added empty "pdf" target. ---libobjc------------------------------------------------ 2006-10-10 Brooks Moses <[EMAIL PROTECTED]> * Makefile.in: Added empty "pdf" target. ----------------------------------------------------------
Index: Makefile.def =================================================================== --- Makefile.def (revision 117567) +++ Makefile.def (working copy) @@ -54,6 +54,7 @@ host_modules= { module= fixincludes; missing= info; missing= dvi; + missing= pdf; missing= TAGS; missing= install-info; missing= installcheck; }; @@ -147,6 +148,8 @@ depend=configure; }; recursive_targets = { make_target= dvi; depend=configure; }; +recursive_targets = { make_target= pdf; + depend=configure; }; recursive_targets = { make_target= html; depend=configure; }; recursive_targets = { make_target= TAGS; Index: Makefile.tpl =================================================================== --- Makefile.tpl (revision 117567) +++ Makefile.tpl (working copy) @@ -537,12 +537,13 @@ # Here are the targets which correspond to the do-X targets. -.PHONY: info installcheck dvi html install-info install-html +.PHONY: info installcheck dvi pdf html install-info install-html .PHONY: clean distclean mostlyclean maintainer-clean realclean .PHONY: local-clean local-distclean local-maintainer-clean info: do-info installcheck: do-installcheck dvi: do-dvi +pdf: do-pdf html: do-html # Make sure makeinfo is built before we do a `make info', if we're @@ -936,7 +937,7 @@ [+ ENDIF no_install +] @endif [+module+] -# Other targets (info, dvi, etc.) +# Other targets (info, dvi, pdf, etc.) [+ FOR recursive_targets +] .PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+] maybe-[+make_target+]-[+module+]: @@ -1044,7 +1045,7 @@ [+ ENDIF no_install +] @endif target-[+module+] -# Other targets (info, dvi, etc.) +# Other targets (info, dvi, pdf, etc.) [+ FOR recursive_targets +] .PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+] maybe-[+make_target+]-target-[+module+]: Index: fixincludes/Makefile.in =================================================================== --- fixincludes/Makefile.in (revision 117567) +++ fixincludes/Makefile.in (working copy) @@ -187,6 +187,7 @@ .PHONY: dvi info html install-html dvi : +pdf : info : html : install-html : Index: gcc/configure.ac =================================================================== --- gcc/configure.ac (revision 117567) +++ gcc/configure.ac (working copy) @@ -3450,7 +3450,7 @@ rm -f Make-hooks touch Make-hooks target_list="all.cross start.encap rest.encap tags \ - install-common install-man install-info dvi html \ + install-common install-man install-info dvi pdf html \ uninstall info man srcextra srcman srcinfo \ mostlyclean clean distclean maintainer-clean \ stage1 stage2 stage3 stage4 stageprofile stagefeedback" Index: gcc/Makefile.in =================================================================== --- gcc/Makefile.in (revision 117567) +++ gcc/Makefile.in (working copy) @@ -268,6 +268,7 @@ MAKEINFO = @MAKEINFO@ MAKEINFOFLAGS = --no-split TEXI2DVI = texi2dvi +TEXI2PDF = texi2pdf TEXI2HTML = $(MAKEINFO) --html TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl POD2MAN = pod2man --center="GNU" --release="gcc-$(version)" @@ -3398,7 +3399,7 @@ mv -f [EMAIL PROTECTED] $@ -# The *.1, *.7, *.info, and *.dvi files are being generated from implicit +# The *.1, *.7, *.info, *.dvi, and *.pdf files are being generated from implicit # patterns. To use them, put each of the specific targets with its # specific dependencies but no build commands. @@ -3425,6 +3426,11 @@ doc/gccint.dvi: $(TEXI_GCCINT_FILES) doc/cppinternals.dvi: $(TEXI_CPPINT_FILES) +doc/cpp.pdf: $(TEXI_CPP_FILES) +doc/gcc.pdf: $(TEXI_GCC_FILES) +doc/gccint.pdf: $(TEXI_GCCINT_FILES) +doc/cppinternals.pdf: $(TEXI_CPPINT_FILES) + $(build_htmldir)/cpp/index.html: $(TEXI_CPP_FILES) $(build_htmldir)/gcc/index.html: $(TEXI_GCC_FILES) $(build_htmldir)/gccint/index.html: $(TEXI_GCCINT_FILES) @@ -3440,6 +3446,16 @@ doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES) $(TEXI2DVI) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $< +pdf:: doc/gcc.pdf doc/gccint.pdf doc/gccinstall.pdf doc/cpp.pdf \ + doc/cppinternals.pdf lang.pdf + +doc/%.pdf: %.texi + $(TEXI2PDF) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $< + +# Duplicate entry to handle renaming of gccinstall.pdf +doc/gccinstall.pdf: $(TEXI_GCCINSTALL_FILES) + $(TEXI2PDF) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $< + # List the directories or single hmtl files which are installed by # install-html. The lang.html file triggers language fragments to build # html documentation. Installing language fragment documentation is not @@ -3582,6 +3598,7 @@ -rm -f cs-* -rm -rf libgcc -rm -f doc/*.dvi + -rm -f doc/*.pdf # Delete the include directory. -rm -rf include # Delete files used by the "multilib" facility (including libgcc subdirs). @@ -3629,7 +3646,7 @@ $(MAKE) lang.maintainer-clean distclean -rm -f cpp.??s cpp.*aux -rm -f gcc.??s gcc.*aux - -rm -f $(gcc_docdir)/*.info $(gcc_docdir)/*.1 $(gcc_docdir)/*.7 $(gcc_docdir)/*.dvi + -rm -f $(gcc_docdir)/*.info $(gcc_docdir)/*.1 $(gcc_docdir)/*.7 $(gcc_docdir)/*.dvi $(gcc_docdir)/*.pdf # # Entry points `install' and `uninstall'. # Also use `install-collect2' to install collect2 when the config files don't. Index: gcc/configure =================================================================== --- gcc/configure (revision 117567) +++ gcc/configure (working copy) @@ -16143,7 +16143,7 @@ rm -f Make-hooks touch Make-hooks target_list="all.cross start.encap rest.encap tags \ - install-common install-man install-info dvi html \ + install-common install-man install-info dvi pdf html \ uninstall info man srcextra srcman srcinfo \ mostlyclean clean distclean maintainer-clean \ stage1 stage2 stage3 stage4 stageprofile stagefeedback" Index: gcc/cp/Make-lang.in =================================================================== --- gcc/cp/Make-lang.in (revision 117567) +++ gcc/cp/Make-lang.in (working copy) @@ -24,7 +24,7 @@ # Each language makefile fragment must provide the following targets: # # foo.all.cross, foo.start.encap, foo.rest.encap, -# foo.install-common, foo.install-man, foo.install-info, foo.dvi, +# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf # foo.uninstall, # foo.mostlyclean, foo.clean, foo.distclean, # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4 @@ -118,6 +118,7 @@ c++.info: c++.install-info: c++.dvi: +c++.pdf: c++.html: c++.srcinfo: c++.srcextra: Index: gcc/fortran/Make-lang.in =================================================================== --- gcc/fortran/Make-lang.in (revision 117586) +++ gcc/fortran/Make-lang.in (working copy) @@ -27,7 +27,7 @@ # foo.all.cross, foo.start.encap, foo.rest.encap, # foo.info # foo.install-common, foo.install-info, foo.install-man, -# foo.uninstall, foo.install-info, foo.dvi, foo.html, +# foo.uninstall, foo.install-info, foo.dvi, foo.pdf, foo.html, # foo.mostlyclean, foo.clean, foo.distclean, foo.extraclean, # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4 # @@ -127,6 +127,7 @@ fortran.info: doc/gfortran.info fortran.dvi: doc/gfortran.dvi +fortran.pdf: doc/gfortran.pdf fortran.html: $(build_htmldir)/gfortran/index.html F95_MANFILES = doc/gfortran.1 @@ -163,6 +164,9 @@ doc/gfortran.dvi: $(GFORTRAN_TEXI) $(TEXI2DVI) -I $(srcdir)/fortran -I $(abs_docdir)/include -o $@ $< +doc/gfortran.pdf: $(GFORTRAN_TEXI) + $(TEXI2PDF) -I $(srcdir)/fortran -I $(abs_docdir)/include -o $@ $< + $(build_htmldir)/gfortran/index.html: $(GFORTRAN_TEXI) $(mkinstalldirs) $(@D) rm -f $(@D)/* Index: gcc/java/Make-lang.in =================================================================== --- gcc/java/Make-lang.in (revision 117567) +++ gcc/java/Make-lang.in (working copy) @@ -27,8 +27,8 @@ # Each language makefile fragment must provide the following targets: # # foo.all.cross, foo.start.encap, foo.rest.encap, -# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.html, -# foo.uninstall, +# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf, +# foo.html, foo.uninstall, # foo.mostlyclean, foo.clean, foo.distclean, # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4 # @@ -177,6 +177,7 @@ -cp -p $^ $(srcdir)/doc java.dvi: doc/gcj.dvi +java.pdf: doc/gcj.pdf java.html: $(build_htmldir)/java/index.html JAVA_MANFILES = doc/gcj.1 doc/gcjh.1 doc/jv-scan.1 doc/jcf-dump.1 doc/gij.1 \ doc/jv-convert.1 doc/grmic.1 doc/grmiregistry.1 \ @@ -394,6 +395,9 @@ doc/gcj.dvi: $(TEXI_JAVA_FILES) $(TEXI2DVI) -I $(abs_docdir)/include -o $@ $< +doc/gcj.pdf: $(TEXI_JAVA_FILES) + $(TEXI2PDF) -I $(abs_docdir)/include -o $@ $< + $(build_htmldir)/java/index.html: $(TEXI_JAVA_FILES) $(mkinstalldirs) $(@D) rm -f $(@D)/* Index: gcc/objc/Make-lang.in =================================================================== --- gcc/objc/Make-lang.in (revision 117567) +++ gcc/objc/Make-lang.in (working copy) @@ -23,7 +23,7 @@ # Each language makefile fragment must provide the following targets: # # foo.all.cross, foo.start.encap, foo.rest.encap, -# foo.install-common, foo.install-man, foo.install-info, foo.dvi, +# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf # foo.uninstall, # foo.mostlyclean, foo.clean, foo.distclean, # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4 @@ -90,6 +90,7 @@ objc.info: objc.install-info: objc.dvi: +objc.pdf: objc.html: objc.man: objc.srcinfo: Index: gcc/objcp/Make-lang.in =================================================================== --- gcc/objcp/Make-lang.in (revision 117567) +++ gcc/objcp/Make-lang.in (working copy) @@ -23,7 +23,7 @@ # Each language makefile fragment must provide the following targets: # # foo.all.cross, foo.start.encap, foo.rest.encap, -# foo.install-common, foo.install-man, foo.install-info, foo.dvi, +# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf # foo.uninstall, # foo.mostlyclean, foo.clean, foo.distclean, # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4 @@ -98,6 +98,7 @@ obj-c++.info: obj-c++.install-info: obj-c++.dvi: +obj-c++.pdf: obj-c++.html: obj-c++.srcinfo: obj-c++.srcextra: Index: gcc/treelang/Make-lang.in =================================================================== --- gcc/treelang/Make-lang.in (revision 117567) +++ gcc/treelang/Make-lang.in (working copy) @@ -24,8 +24,8 @@ # Each language makefile fragment must provide the following targets: # # foo.all.cross, foo.start.encap, foo.rest.encap, -# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.html, -# foo.uninstall, +# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf +# foo.html, foo.uninstall, # foo.mostlyclean, foo.clean, foo.distclean, # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4 # @@ -160,6 +160,8 @@ treelang.dvi: doc/treelang.dvi +treelang.pdf: doc/treelang.pdf + TEXI_TREELANG_FILES = treelang/treelang.texi \ $(gcc_docdir)/include/gcc-common.texi \ $(gcc_docdir)/include/gpl.texi \ @@ -173,6 +175,9 @@ doc/treelang.dvi: $(TEXI_TREELANG_FILES) $(TEXI2DVI) -I $(abs_docdir)/include -o $@ $< +doc/treelang.pdf: $(TEXI_TREELANG_FILES) + $(TEXI2PDF) -I $(abs_docdir)/include -o $@ $< + treelang.html: $(build_htmldir)/treelang/index.html $(build_htmldir)/treelang/index.html: $(TEXI_TREELANG_FILES) Index: gnattools/Makefile.in =================================================================== --- gnattools/Makefile.in (revision 117567) +++ gnattools/Makefile.in (working copy) @@ -302,6 +302,9 @@ # Build DVI (none here). dvi: +# Build PDF (none here). +pdf: + # Build HTML (none here). html: Index: libcpp/Makefile.in =================================================================== --- libcpp/Makefile.in (revision 117567) +++ libcpp/Makefile.in (working copy) @@ -180,6 +180,7 @@ check: installcheck: dvi: +pdf: html: info: install-info: @@ -189,7 +190,7 @@ update-po: $(CATALOGS:.gmo=.pox) .PHONY: installdirs install install-strip mostlyclean clean distclean \ - maintainer-clean check installcheck dvi html info install-info \ + maintainer-clean check installcheck dvi pdf html info install-info \ install-man update-po install-html # Dependency rule. Index: libdecnumber/Makefile.in =================================================================== --- libdecnumber/Makefile.in (revision 117567) +++ libdecnumber/Makefile.in (working copy) @@ -132,6 +132,7 @@ check: installcheck: dvi: +pdf: html: info: install-info: @@ -140,7 +141,7 @@ install: .PHONY: installdirs install install-strip mostlyclean clean distclean \ - maintainer-clean check installcheck dvi html info install-info \ + maintainer-clean check installcheck dvi pdf html info install-info \ install-man update-po install-html COMPILE = source='$<' object='$@' libtool=no $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALL_CFLAGS) -c Index: libiberty/Makefile.in =================================================================== --- libiberty/Makefile.in (revision 117567) +++ libiberty/Makefile.in (working copy) @@ -245,6 +245,7 @@ install-info: install-info-subdir clean-info: clean-info-subdir dvi: libiberty.dvi dvi-subdir +pdf: libiberty.pdf pdf-subdir # html, install-html targets HTMLS = libiberty.html @@ -319,6 +320,9 @@ libiberty.dvi : $(srcdir)/libiberty.texi $(TEXISRC) texi2dvi $(srcdir)/libiberty.texi +libiberty.pdf : $(srcdir)/libiberty.texi $(TEXISRC) + texi2pdf $(srcdir)/libiberty.texi + libiberty.html : $(srcdir)/libiberty.texi $(TEXISRC) $(MAKEINFO) --no-split --html -I$(srcdir) -o $@ $< @@ -434,7 +438,7 @@ clean: clean-subdir $(MAKE) SUBDIRS="" mostlyclean -rm -f *.a required-list tmpmulti.out - -rm -f libiberty.dvi libiberty.info* libiberty.html + -rm -f libiberty.dvi libiberty.pdf libiberty.info* libiberty.html @$(MULTICLEAN) multi-clean DO=clean distclean: distclean-subdir $(MAKE) SUBDIRS="" clean @@ -463,7 +467,7 @@ # if needed. This prevents problems with parallel builds, in case # subdirectories need to run config.status also. all-subdir check-subdir installcheck-subdir info-subdir \ -install-info-subdir clean-info-subdir dvi-subdir install-subdir \ +install-info-subdir clean-info-subdir dvi-subdir pdf-subdir install-subdir \ etags-subdir mostlyclean-subdir clean-subdir distclean-subdir \ maintainer-clean-subdir: config.h @subdirs='$(SUBDIRS)'; \ Index: libiberty/testsuite/Makefile.in =================================================================== --- libiberty/testsuite/Makefile.in (revision 117567) +++ libiberty/testsuite/Makefile.in (working copy) @@ -73,7 +73,7 @@ $(srcdir)/test-expandargv.c ../libiberty.a # Standard (either GNU or Cygnus) rules we don't use. -html install-html info install-info clean-info dvi install etags tags installcheck: +html install-html info install-info clean-info dvi pdf install etags tags installcheck: # The standard clean rules. mostlyclean: Index: libobjc/Makefile.in =================================================================== --- libobjc/Makefile.in (revision 117567) +++ libobjc/Makefile.in (working copy) @@ -267,7 +267,7 @@ $(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \ -fexceptions $(INCLUDES) $< -doc: info dvi html +doc: info dvi pdf html # No install-html support .PHONY: install-html @@ -314,6 +314,7 @@ info: dvi: +pdf: html: Makefile: Makefile.in config.status @@ -353,7 +354,7 @@ mostlyclean: -$(LIBTOOL_CLEAN) rm -f libobjc$(libext).la libobjc_gc$(libext).la *.lo -rm -f runtime-info.h tmp-runtime.s *.o *.lo libobjc* xforward \ - fflags *.aux *.cp *.dvi *.fn *.info *.ky *.log *.pg \ + fflags *.aux *.cp *.dvi *.pdf *.fn *.info *.ky *.log *.pg \ *.toc *.tp *.vr *.html libobj.exp @$(MULTICLEAN) multi-clean DO=mostlyclean
makepdf2.diff.gz
Description: GNU Zip compressed data