[patch] Add "install-pdf" target to makefiles.
Brooks Moses <[email protected]> Mon, 26 Feb 2007 23:56:29 -0800
| Newsgroups | gmane.comp.gcc.patches,gmane.comp.gcc.fortran,gmane.comp.gcc.gnat,gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------030904010507010700080106 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit The attached patch adds "install-pdf" support to GCC. The pdf files are currently installed in $(pdfdir), with $(pdfdir) determined by the --with-pdfdir configure option if supplied, and otherwise defaulting to $(docdir), which defaults to <installdir>/share/doc. These locations, and the installation rules, are generally a copy of what would happen if we applied automake v1.10 (which supplies an install-pdf rule) to the relevant directories. In general, the changes are quite mechanical, but there are also quite a lot of them. I regenerated all of the relevant directories with automake version 1.9.6, and there are two versions of the patch attached; one includes the regenerated files and one has them stripped out. I believe that I've cc'ed this to all relevant lists.... Tested with a bootstrap and then "make install-pdf" on x86_64-unknown-linux-gnu configured for all languages except Ada, and tested the same way on i686-pc-linux-gnu configured for C, Ada, and Fortran. Ok for trunk? - Brooks ChangeLog ------------------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * configure.ac: Add "--with-pdfdir" configure option, which defines pdfdir variable. * Makefile.def (target=fixincludes): Add install-pdf to missing targets. (recursive_targets): Add install-pdf target. (flags_to_pass): Add pdfdir. * Makefile.tpl: Add pdfdir handling, add do-install-pdf target. * configure: Regenerate * Makefile.in: Regenerate gcc/ChangeLog --------------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Make-lang.in: Add install-pdf target as copied from automake v1.10 rules. * configure.ac: Add install-pdf to target list. * configure: Regenerate. gcc/ada/ChangeLog ----------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Make-lang.in: Add install-pdf target as copied from automake v1.10 rules. gcc/fortran/ChangeLog ------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Make-lang.in: Add install-pdf target as copied from automake v1.10 rules. gcc/java/ChangeLog ---------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Make-lang.in: Add install-pdf target as copied from automake v1.10 rules. gcc/treelang/ChangeLog ------------------------------------------ 2007/02/27 Brooks Moses <[email protected]> * Make-lang.in: Add install-pdf target as copied from automake v1.10 rules. gcc/cp/ChangeLog ------------------------------------------------ 2007/02/27 Brooks Moses <[email protected]> * Make-lang.in: Add dummy lang.install-pdf target. gcc/objc/ChangeLog ---------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Make-lang.in: Add dummy lang.install-pdf target. gcc/objcp/ChangeLog --------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Make-lang.in: Add dummy lang.install-pdf target. libada/ChangeLog ------------------------------------------------ 2007/02/27 Brooks Moses <[email protected]> * Make-lang.in: Add dummy install-pdf target. libgcc/ChangeLog ------------------------------------------------ 2007/02/27 Brooks Moses <[email protected]> * Makefile.in: Add install-html and install-pdf dummy targets. libgomp/ChangeLog ----------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.am: Add install-pdf target as copied from automake v1.10 rules. * Makefile.in: Regenerate libdecnumber/ChangeLog ------------------------------------------ 2007/02/27 Brooks Moses <[email protected]> * Makefile.in: Add dummy install-pdf target. zlib/ChangeLog.gcj ---------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.am: Add dummy install-pdf target. * Makefile.in: Regenerate libstdc++-v3/ChangeLog ------------------------------------------ 2007/02/27 Brooks Moses <[email protected]> * Makefile.am: Add dummy install-pdf target. * Makefile.in: Regenerate libobjc/ChangeLog ----------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.in: Add dummy install-pdf target. libgfortran/ChangeLog ------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.am: Add dummy install-pdf target. * Makefile.in: Regenerate libcpp/ChangeLog ------------------------------------------------ 2007/02/27 Brooks Moses <[email protected]> * Makefile.in: Add dummy install-pdf target. gnattools/ChangeLog --------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.in: Add dummy install-pdf target. fixincludes/ChangeLog ------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.in: Add dummy install-pdf target. libmudflap/ChangeLog -------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.am: Add dummy install-pdf target. * Makefile.in: Regenerate boehm-gc/ChangeLog ---------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.am: Add dummy install-pdf target. * Makefile.in: Regenerate libffi/ChangeLog ------------------------------------------------ 2007/02/27 Brooks Moses <[email protected]> * Makefile.am: Add dummy install-pdf target. * Makefile.in: Regenerate libssp/ChangeLog ------------------------------------------------ 2007/02/27 Brooks Moses <[email protected]> * Makefile.am: Add dummy install-pdf target. * Makefile.in: Regenerate libjava/ChangeLog ----------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.am: Add dummy install-pdf target. * Makefile.in: Regenerate * include/Makefile.in: Regenerate * testsuite/Makefile.in: Regenerate * gcj/Makefile.in: Regenerate libiberty/ChangeLog --------------------------------------------- 2007/02/27 Brooks Moses <[email protected]> * Makefile.in: Add install-pdf target as copied from automake v1.10 rules. * testsuite/Makefile.in: Add dummy install-pdf target. ----------------------------------------------------------------- --------------030904010507010700080106 Content-Type: text/x-patch; name="install-pdf-noregen.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="install-pdf-noregen.diff" Index: libgcc/Makefile.in =================================================================== --- libgcc/Makefile.in (revision 122137) +++ libgcc/Makefile.in (working copy) @@ -735,15 +735,14 @@ all: $(extra-parts) # Documentation targets (empty). -.PHONY: info html dvi pdf +.PHONY: info html dvi pdf install-html install-pdf info: - html: - +install-html: dvi: - pdf: +install-pdf: # Install rules. These do not depend on "all", so that they can be invoked # recursively from it. Index: libgomp/Makefile.am =================================================================== --- libgomp/Makefile.am (revision 122137) +++ libgomp/Makefile.am (working copy) @@ -51,10 +51,19 @@ env.o: libgomp_f.h -# No install-html target -.PHONY: install-html +# No install-html or install-pdf support in automake yet +.PHONY: install-html install-pdf install-html: +install-pdf: $(PDFS) + @$(NORMAL_INSTALL) + test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)" + @list='$(PDFS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ + done # Automake Documentation: # If your package has Texinfo files in many directories, you can use the Index: libdecnumber/Makefile.in =================================================================== --- libdecnumber/Makefile.in (revision 122137) +++ libdecnumber/Makefile.in (working copy) @@ -136,13 +136,14 @@ html: info: install-info: +install-pdf: install-man: install-html: install: .PHONY: installdirs install install-strip mostlyclean clean distclean \ maintainer-clean check installcheck dvi pdf html info install-info \ - install-man update-po install-html + install-pdf install-man update-po install-html COMPILE = source='$<' object='$@' libtool=no $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALL_CFLAGS) -c Index: gcc/java/Make-lang.in =================================================================== --- gcc/java/Make-lang.in (revision 122137) +++ gcc/java/Make-lang.in (working copy) @@ -28,8 +28,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.pdf, -# foo.html, foo.uninstall, +# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, +# foo.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 # @@ -135,8 +135,13 @@ -cp -p $^ $(srcdir)/doc java.dvi: doc/gcj.dvi -java.pdf: doc/gcj.pdf + +JAVA_PDFFILES = doc/gcj.pdf + +java.pdf: $(JAVA_PDFFILES) + java.html: $(build_htmldir)/java/index.html + JAVA_MANFILES = doc/gcj.1 doc/jcf-dump.1 doc/gij.1 \ doc/jv-convert.1 doc/grmic.1 doc/grmiregistry.1 \ doc/gcj-dbtool.1 doc/gc-analyze.1 @@ -187,6 +192,16 @@ java.install-info: $(DESTDIR)$(infodir)/gcj.info +java.install-pdf: $(JAVA_PDFFILES) + @$(NORMAL_INSTALL) + test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)" + @list='$(JAVA_PDFFILES)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(pdf__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ + done + # # Clean hooks: # A lot of the ancillary files are deleted by the main makefile. Index: gcc/objc/Make-lang.in =================================================================== --- gcc/objc/Make-lang.in (revision 122137) +++ gcc/objc/Make-lang.in (working copy) @@ -23,8 +23,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.pdf -# foo.uninstall, +# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, +# foo.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 # @@ -91,6 +91,7 @@ objc.install-info: objc.dvi: objc.pdf: +objc.install-pdf: objc.html: objc.man: objc.srcinfo: Index: gcc/objcp/Make-lang.in =================================================================== --- gcc/objcp/Make-lang.in (revision 122137) +++ gcc/objcp/Make-lang.in (working copy) @@ -23,8 +23,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.pdf -# foo.uninstall, +# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, +# foo.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 # @@ -99,6 +99,7 @@ obj-c++.install-info: obj-c++.dvi: obj-c++.pdf: +obj-c++.install-pdf: obj-c++.html: obj-c++.srcinfo: obj-c++.srcextra: Index: gcc/cp/Make-lang.in =================================================================== --- gcc/cp/Make-lang.in (revision 122137) +++ gcc/cp/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.pdf -# foo.uninstall, +# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, +# foo.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 # @@ -119,6 +119,7 @@ c++.install-info: c++.dvi: c++.pdf: +c++.install-pdf: c++.html: c++.srcinfo: c++.srcextra: Index: gcc/ada/Make-lang.in =================================================================== --- gcc/ada/Make-lang.in (revision 122137) +++ gcc/ada/Make-lang.in (working copy) @@ -23,8 +23,9 @@ # 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.pdf -# foo.uninstall, foo.mostlyclean, foo.clean, foo.distclean, +# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, +# foo.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 # # where `foo' is the name of the language. @@ -433,9 +434,21 @@ ada.dvi: doc/gnat_ugn_unw.dvi \ doc/gnat_rm.dvi doc/gnat-style.dvi -ada.pdf: doc/gnat_ugn_unw.pdf \ - doc/gnat_rm.pdf doc/gnat-style.pdf +ADA_PDFFILES = doc/gnat_ugn_unw.pdf \ + doc/gnat_rm.pdf doc/gnat-style.pdf +ada.pdf: $(ADA_PDFFILES) + +ada.install-pdf: $(ADA_PDFFILES) + @$(NORMAL_INSTALL) + test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)" + @list='$(ADA_PDFFILES)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(pdf__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ + done + ada.html: doc/gnat_ugn_unw.dvi: doc/gnat_ugn_unw.texi $(gcc_docdir)/include/fdl.texi \ Index: gcc/fortran/Make-lang.in =================================================================== --- gcc/fortran/Make-lang.in (revision 122137) +++ gcc/fortran/Make-lang.in (working copy) @@ -25,10 +25,9 @@ # Each language makefile fragment must provide the following targets: # # 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.pdf, foo.html, -# foo.mostlyclean, foo.clean, foo.distclean, foo.extraclean, +# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, +# foo.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 # # where `foo' is the name of the language. @@ -124,9 +123,22 @@ fortran.info: doc/gfortran.info fortran.dvi: doc/gfortran.dvi -fortran.pdf: doc/gfortran.pdf fortran.html: $(build_htmldir)/gfortran/index.html +F95_PDFFILES = doc/gfortran.pdf + +fortran.pdf: $(F95_PDFFILES) + +fortran.install-pdf: $(F95_PDFFILES) + @$(NORMAL_INSTALL) + test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)" + @list='$(F95_PDFFILES)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(pdf__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ + done + F95_MANFILES = doc/gfortran.1 fortran.man: $(F95_MANFILES) Index: gcc/configure.ac =================================================================== --- gcc/configure.ac (revision 122137) +++ gcc/configure.ac (working copy) @@ -3543,8 +3543,8 @@ rm -f Make-hooks touch Make-hooks target_list="all.cross start.encap rest.encap tags \ - install-common install-man install-info dvi pdf html \ - uninstall info man srcextra srcman srcinfo \ + install-common install-man install-info install-pdf dvi pdf \ + html uninstall info man srcextra srcman srcinfo \ mostlyclean clean distclean maintainer-clean" for t in $target_list Index: gcc/treelang/Make-lang.in =================================================================== --- gcc/treelang/Make-lang.in (revision 122137) +++ 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.pdf -# foo.html, foo.uninstall, +# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, +# foo.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,8 +160,10 @@ treelang.dvi: doc/treelang.dvi -treelang.pdf: doc/treelang.pdf +TREELANG_PDFFILES = doc/treelang.pdf +treelang.pdf: $(TREELANG_PDFFILES) + TEXI_TREELANG_FILES = treelang/treelang.texi \ $(gcc_docdir)/include/gcc-common.texi \ $(gcc_docdir)/include/gpl.texi \ @@ -210,6 +212,16 @@ # We might not be able to build the info files treelang.install-info: $(DESTDIR)$(infodir)/treelang.info +treelang.install-pdf: $(TREELANG_PDFFILES) + @$(NORMAL_INSTALL) + test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)" + @list='$(TREELANG_PDFFILES)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(pdf__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ + done + treelang.install-man: treelang.uninstall: Index: gcc/Makefile.in =================================================================== --- gcc/Makefile.in (revision 122137) +++ gcc/Makefile.in (working copy) @@ -3592,9 +3592,11 @@ 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 +PDFFILES = doc/gcc.pdf doc/gccint.pdf doc/gccinstall.pdf doc/cpp.pdf \ + doc/cppinternals.pdf +pdf:: $(PDFFILES) lang.pdf + doc/%.pdf: %.texi $(TEXI2PDF) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $< @@ -3890,6 +3892,18 @@ else true; fi; \ else true; fi; +pdf__strip_dir = `echo $$p | sed -e 's|^.*/||'`; + +install-pdf: $(PDFFILES) lang.install-pdf + @$(NORMAL_INSTALL) + test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)" + @list='$(PDFFILES)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(pdf__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ + done + html__strip_dir = `echo $$p | sed -e 's|^.*/||'`; install-html: $(HTMLS_BUILD) Index: zlib/Makefile.am =================================================================== --- zlib/Makefile.am (revision 122137) +++ zlib/Makefile.am (working copy) @@ -59,9 +59,11 @@ "RANLIB=$(RANLIB)" \ "DESTDIR=$(DESTDIR)" -# No html, or install-html support. -.PHONY: html install-html +# No html support. +# No install-html or install-pdf support in automake yet +.PHONY: html install-html install-pdf html: install-html: +install-pdf: Index: libstdc++-v3/Makefile.am =================================================================== --- libstdc++-v3/Makefile.am (revision 122137) +++ libstdc++-v3/Makefile.am (working copy) @@ -113,6 +113,8 @@ # Installation of distribution html documentation not yet supported # TODO: Write custom install-html rule. -.PHONY: install-html +.PHONY: install-html install-pdf install-html: +# No install-pdf support in automake yet +install-pdf: Index: configure.ac =================================================================== --- configure.ac (revision 122137) +++ configure.ac (working copy) @@ -2610,6 +2610,11 @@ [docdir="\${prefix}/${withval}"], [docdir="\${datarootdir}/doc"]) +AC_ARG_WITH(pdfdir, +[ --with-pdfdir Install pdf in this directory.], +[pdfdir="\${prefix}/${withval}"], +[pdfdir="\${docdir}"]) + AC_ARG_WITH(htmldir, [ --with-htmldir Install html in this directory.], [htmldir="\${prefix}/${withval}"], @@ -2617,6 +2622,7 @@ AC_SUBST(datarootdir) AC_SUBST(docdir) +AC_SUBST(pdfdir) AC_SUBST(htmldir) AC_OUTPUT(Makefile) Index: libobjc/Makefile.in =================================================================== --- libobjc/Makefile.in (revision 122137) +++ libobjc/Makefile.in (working copy) @@ -269,9 +269,10 @@ doc: info dvi pdf html -# No install-html support -.PHONY: install-html +# No install-html or install-pdf support +.PHONY: install-html install-pdf install-html: +install-pdf: libobjc$(libext).la: $(OBJS) $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS) \ Index: libgfortran/Makefile.am =================================================================== --- libgfortran/Makefile.am (revision 122137) +++ libgfortran/Makefile.am (working copy) @@ -622,9 +622,10 @@ intrinsics/dprod_r8.f90 \ intrinsics/f2c_specifics.F90 -# No install-html support yet. -.PHONY: install-html +# No install-html or install-pdf support in automake yet +.PHONY: install-html install-pdf install-html: +install-pdf: # Turn on vectorization and loop unrolling for matmul. $(patsubst %.c,%.lo,$(notdir $(i_matmul_c))): AM_CFLAGS += -ftree-vectorize -funroll-loops Index: Makefile.def =================================================================== --- Makefile.def (revision 122137) +++ Makefile.def (working copy) @@ -55,6 +55,7 @@ missing= dvi; missing= pdf; missing= TAGS; + missing= install-pdf; missing= install-info; missing= installcheck; }; host_modules= { module= flex; no_check_cross= true; }; @@ -166,6 +167,9 @@ recursive_targets = { make_target= install-info; depend=configure; depend=info; }; +recursive_targets = { make_target= install-pdf; + depend=configure; + depend=pdf; }; recursive_targets = { make_target= install-html; depend=configure; depend=html; }; @@ -189,6 +193,7 @@ flags_to_pass = { flag= datarootdir ; }; flags_to_pass = { flag= docdir ; }; flags_to_pass = { flag= infodir ; }; +flags_to_pass = { flag= pdfdir ; }; flags_to_pass = { flag= htmldir ; }; flags_to_pass = { flag= libdir ; }; flags_to_pass = { flag= libexecdir ; }; Index: Makefile.tpl =================================================================== --- Makefile.tpl (revision 122137) +++ Makefile.tpl (working copy) @@ -61,6 +61,7 @@ infodir = @infodir@ datarootdir = @datarootdir@ docdir = @docdir@ +pdfdir = @pdfdir@ htmldir = @htmldir@ mandir = @mandir@ man1dir = $(mandir)/man1 @@ -570,7 +571,8 @@ # Here are the targets which correspond to the do-X targets. -.PHONY: info installcheck dvi pdf html install-info install-html +.PHONY: info installcheck dvi pdf html +.PHONY: install-info install-pdf install-html .PHONY: clean distclean mostlyclean maintainer-clean realclean .PHONY: local-clean local-distclean local-maintainer-clean info: do-info @@ -589,6 +591,8 @@ $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \ else true ; fi +install-pdf: do-install-pdf + install-html: do-install-html local-clean: Index: libada/Makefile.in =================================================================== --- libada/Makefile.in (revision 122137) +++ libada/Makefile.in (working copy) @@ -129,6 +129,8 @@ install-info: +install-pdf: + install-html: # Cleaning rules. Index: libmudflap/Makefile.am =================================================================== --- libmudflap/Makefile.am (revision 122137) +++ libmudflap/Makefile.am (working copy) @@ -107,9 +107,10 @@ MAKEOVERRIDES= -.PHONY: install-html - +# No install-html or install-pdf support in automake yet +.PHONY: install-html install-pdf install-html: +install-pdf: ## ################################################################ Index: boehm-gc/Makefile.am =================================================================== --- boehm-gc/Makefile.am (revision 122137) +++ boehm-gc/Makefile.am (working copy) @@ -111,7 +111,8 @@ MAKEOVERRIDES= -# No install-html support yet -.PHONY: install-html +# No install-html or install-pdf support in automake yet +.PHONY: install-html install-pdf install-html: +install-pdf: Index: libiberty/testsuite/Makefile.in =================================================================== --- libiberty/testsuite/Makefile.in (revision 122137) +++ libiberty/testsuite/Makefile.in (working copy) @@ -73,7 +73,8 @@ $(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 pdf install etags tags installcheck: +html install-html info install-info clean-info dvi pdf install-pdf \ +install etags tags installcheck: # The standard clean rules. mostlyclean: Index: libiberty/Makefile.in =================================================================== --- libiberty/Makefile.in (revision 122137) +++ libiberty/Makefile.in (working copy) @@ -245,8 +245,25 @@ install-info: install-info-subdir clean-info: clean-info-subdir dvi: libiberty.dvi dvi-subdir -pdf: libiberty.pdf pdf-subdir +LIBIBERTY_PDFFILES = libiberty.pdf + +pdf: $(LIBIBERTY_PDFFILES) pdf-subdir + +.PHONY: install-pdf + +pdf__strip_dir = `echo $$p | sed -e 's|^.*/||'`; + +install-pdf: $(LIBIBERTY_PDFFILES) + @$(NORMAL_INSTALL) + test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)" + @list='$(LIBIBERTY_PDFFILES)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(pdf__strip_dir) \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ + done + # html, install-html targets HTMLS = libiberty.html Index: libffi/Makefile.am =================================================================== --- libffi/Makefile.am (revision 122137) +++ libffi/Makefile.am (working copy) @@ -162,9 +162,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src AM_CCASFLAGS = $(AM_CPPFLAGS) -# No install-html support -.PHONY: install-html +# No install-html or install-pdf support in automake yet +.PHONY: install-html install-pdf install-html: +install-pdf: # Multilib support. Automake should provide these on its own. all-recursive: all-multi Index: libssp/Makefile.am =================================================================== --- libssp/Makefile.am (revision 122137) +++ libssp/Makefile.am (working copy) @@ -90,9 +90,10 @@ MAKEOVERRIDES= -.PHONY: install-html - +# No install-html or install-pdf support in automake yet +.PHONY: install-html install-pdf install-html: +install-pdf: ## ################################################################ Index: libjava/Makefile.am =================================================================== --- libjava/Makefile.am (revision 122137) +++ libjava/Makefile.am (working copy) @@ -1092,9 +1092,10 @@ MAKEOVERRIDES= -# No install-html support yet. -.PHONY: install-html +# No install-html or install-pdf support in automake yet +.PHONY: install-html install-pdf install-html: +install-pdf: # Multilib support variables. MULTISRCTOP = Index: libcpp/Makefile.in =================================================================== --- libcpp/Makefile.in (revision 122137) +++ libcpp/Makefile.in (working copy) @@ -184,6 +184,7 @@ html: info: install-info: +install-pdf: install-man: install-html: Index: gnattools/Makefile.in =================================================================== --- gnattools/Makefile.in (revision 122137) +++ gnattools/Makefile.in (working copy) @@ -315,6 +315,8 @@ install-info: +install-pdf: + install-html: # Cleaning rules. Index: fixincludes/Makefile.in =================================================================== --- fixincludes/Makefile.in (revision 122137) +++ fixincludes/Makefile.in (working copy) @@ -184,11 +184,12 @@ $(DESTDIR)$(itoolsdir)/fixincl@EXEEXT@ $(INSTALL_SCRIPT) mkheaders $(DESTDIR)$(itoolsdir)/mkheaders -.PHONY: dvi pdf info html install-html +.PHONY: dvi pdf info html install-pdf install-html dvi : pdf : info : html : +install-pdf : install-html : installcheck : --------------030904010507010700080106 Content-Type: application/octet-stream; name="install-pdf.diff.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="install-pdf.diff.bz2" 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 n2+659ntKCg2vdd4zvNZrLZRqHM27zektayBetGNOyhlLVtJKqO8eIbetVSK vdzlaqq2jMpUlmnd7ytita2dtLWrN1rM3rYo0rvd5VXOp1TW3Lea2xoqXrDK zN1a1vMx3d5mYMysFZma07l07NVOqZSvS3d3jd5vdvZNDKxM6T1U6zJwNubv NbqbcjRM71ms3vSN6BLhMUrbuZoAm3YQtTmzeVhu6pudV27e96Pk457Z5x86 LQyLIvsywsV3Sl1+Zt81rvl+r9FfY2OK2xxW2OK2xxW2OK2xxW2O+vVbVi2y 0FbZ2n/kj4TSyFCHb6vt/UecO7ruDzLbLQVtlOcBwNW2ffuh54SQ3A4ts9AB 4XMDVtnAgRQxbZaCtstDbHFbY44OK2x3ueleeV6bHAK2z6oEUMW2WgrbPzVD FtloLjitscVtjvdqtq82OK2xygrbLQVtiFkIDADtZAJDzCF5znKCts7xh5FJ C2EtjNJCQtLKEhIV0MW2WgrbO2QhmArbOoBtXmxxW2O86rravNjvMsCnm8eM wLq6ywKebx4zA2rzY56U7V5sc5W2OVcrbHFK2ynUvADzA6HFtmfhzA1bZQCS SdineIXtmhxbYnokDMDFtnQcAMwvTY7yq2rzY4rbHOVtiitscVtjitscVtji tsc87e2vyahxbYWgrbLQVtloK2zVDHHFbY4rbHFbY4rbHebV5scVtjitscVt jitscVtjitscVtjitscVtjitscVtjitsd5OusrzY4rbHFbY4rbHFbY5XuNXm xxSts+aBMMwFbZ2APc94h4QOcDpbZ0NEstLcuXK1tt+z75T1MOHjDrPTL11p vZvj1eNd9uc1vC+T+t+aRfhXXZX3FkbW0ScuHP29nt5+/T7vpFsfe7eqHs87 VWyyFSMAsRbyPKfZMjxerfmuqvaV3OK3r83s//cNEQRUGqfS45TxBAS9yPIq +yhwBCdBSixAvIjIEWW22GMl7POvf5/grh0yPHePx9/WNYYMzm/PWPNnnqw6 duGzAitZCAmMYWc8UPJ2ESGW0zsLxeNwvnIgMw+dTvyRTWBFACCAEUgZFolf G5qlAETZgAvlAmgK/C5GWCIqoyhERlZL9z4tF44Gxj5miqptfFrezz0VN2il 3j88nbuSJ8j0UwXlcux9ouaeWSv6tdo01wQOU3VOSvR4GddGWiuTbDGyCLBo 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 04GzECaSZRIyiR3qj3qTzVvUZVPYp3Ob2bzfom7gRx3G0Q4kR0kklanNoDV1 HWUpum/lv7VOHFOsMSZPk3MpJHCokcctW6SSOvrdciRn4dJ2JMonY2RI4tAw dzuiXRKvtVWSrkWM0zRmqzWGtK2ZZqzZlWazlV5Zd86iDp8d6J2DHc9TRymY 6vHP3/sx9XlHa1Ow7nqc89zkkSMPoiRX0RI3OJDPwr2p1KrL2GUkjMqmh1FK alMwE7QiaGSlKU1ETk6oJJo80fAwbFKUpfTCJGI5IkWZUgF7uvaPmkX7Mi+q kX90i7pF65FpF2u0i36W2+32fVItIvn+er695MD5PoewpSlFNZk8vg2R9Jsf nN5+LJkyej5pEjVs3I+xkjq+9uQTocDRkZMn3baIkaayJH8B1svk7WTo0YcT D8ri1dbuV9G872H5Pt4DscWuTSIMjA6Nx4imndt/1bHNxYf73bpJJG218fz4 zcZYZzi4xni5jxYnm4uI6mw5kDJqOpzRG9HlZanVEcHWnfJJHfyHI1YMFMOt /USfvfxMUtfmdr1Vj9Q2er+Wq1bKrasH839Ih/V/J/Wp/FIp+8azM4Cab/5T B/PyX+cM9392vDsfMcxo5HcrvXgitFb6mFTmO+To7Ea6zgP1NN8jtkbGyVVK aTsTnJo6kaxr3xhoUqlKfxr5SL5nyyL8kRdCL7wL73i+nNraOJI4hQiPZ81e rrz0ebSCQEoDuhGvk3iFavKvT5+m1/gN8n8B/CUpslKlMFMGDBSlKY/4Zx/Z Iez8Ul5e1/P6fqkm9wcdZoNTrS0V4vaoWtItlfD+U7grWitdT1ldK7rWHwfn 9I0VffUyaRY20k178i9/1DlryWq8063enmXp4FHMLNKBrLl5zi6aleMrnxb0 XibRJp6LHoUpSmHajYnCfaQz0LC3jhGORcRMIzhmwzZCxKkxJGItlxMYefGb p7dQ7xHfZG9wTgl6t6IiI5ODiIi47uJcIiPj+X2ACQAAAW+9y5K5SNEiE+ia 94zJFWG3HVHi3b+u8tL2a74O6voq8fEzBtGfSwPGbm2228ZNNY/CRGI4+Mjr QbSFeDrIZ+UZ7ZR94NOxId/hbKXxsVBtspVGYrnK9yk9orvUlXk9ts2bNmsF Bxxx3HR3HHHF3d8tXr90lXfZjGDQke+LRSpVVRSjST5EIN6RohN5SUum1sq7 rMYwYSSQ+YmlC5bKXbFQbbKVsVD55NURYhfv32GAmkNbK2TBloWROMWSI4WT UnvUnqUUyxG62Vd9kzIEkmCDJiZkDQHPj7zPrPsfwxYcycKKUo7d127duaml NME04O3NeLlzXsXLnJv6BNm7myilKKKUq/eKZbl0fePWAI8cJJ9lbbb5zv7/ a74JTzWbjTz7oYaUSjQmBZQAspSWUNrrt27rt27ruO113x6CGZ7kffk4JviT qdieKJSqkqNeURESXARER3HVRC1ajwRI/9pEjc4xUpuOphlLiDEVJIpjFLhg pkziXd84wnTwdiPNvZtd5p7npnt53vKBeXb6x7i9tXVPDXhSG29xZvpOUYZZ UwzWJN10h4wxpJqY0xljebN4k5GSSe6Q2kObukPc9I5NBZhV/7IkYxat++ae u/WSRdfJV+aM0yorZO6F6JPK1TrIyIWR0ipwH2fQAPs+74XyZhKqSSSSSVUk pCCCCFVVJVVL60CBECbq76mBEQLu6uRMXdpWkkqigSQjKX7IAG7iAFALLppJ JJJJJJJJe2q9O70uvRd9ou6932IE5yAAhaW223WbSdx24pY9XV9tZP6fa98h uNDf74HQj1KnbCmEoo9iRZDuikec4b7ZV9lmMYMdpHETH+z/ar6G7yOPMCci kOUSPZ3d18V1Xd1fVq9OrvLuu69v4HvMwbc29jA8ePAW7I9K9HX3RZjTTTqz +wydDcmiPA7DU3p4HBMmwyOtKOSfIyZNG+bN5x2ZULCFDVSMAYI2CMbsSOhg ugRqXGwBIBlzed+aBQKAWRL5nmEveO02yEhvCTk16j1E1BN3UvdWZAoWI8AU BYYHgBgI3GTk1YMFNjkZMms5lJg5zF5Y37/yjpJk5HsYqkwbN2vcp5ws4dUh hJE++u5Z/p/3wP67E/0/10yP9qdVlK+vgtj1/RfD6z4bvXllT0Rc8Nmt7Wc5 xbzFeiXq012kPIxZQqS2WpWTifY19ffcfd8fzu8vM5xw3lc5xyG8rnOLpdzn HhhTTDgsSGLu1Zd/UZLTc7ECIFstNy4I+oEMfbOAnde7ndx4QkPMbD2efDof I4A3anz9QZGRCsfhavpnrrTlWbq7neRqI/hkWGND0UVqI6Fcto0N2EOF0vLb bbG0khtukk3H6MdRCCsxFSdFkh4rNnHexz0kxA5WJDeO+9XPCQSCTGxEAPDi zJVm6u5Vm6u57FstNzuEIEQPWMH22BbAF34LvccheQEAIEpT7oe9V8ki9Eiz 7feO6vLF4ttsCQAAAHp3V+N57aV3q+L5LniSExLN8WNeuMnQ1NTJgqlTJgyU yak164/LkNJvkkJiE98J+LSQ3BpIY63/pFSH5fAeEvb0jr5bkaT4ocfDaQo+ KRI1SPSaxPaKlj29Rkh70cpT3JPZgYZfzuqQ52Q7BHxOB0ThBNpDfGjjVVat WlW21ejGF9uMLVluKTCWyras0ns83KQsKm5+lCq4ViIiKWSMKkdk+dsq/WzG MHHi1kGzMhsiRwiR3SGUnUsstC1Eu+HCyqbSPE64jU05welGxEjNtsq7rMYw YiIMpNrHqe2tDge3kge38R4Tx/S930uwhruu67rsNd10DXbuCYYJsObnONXL 4wkxy7sIB0bBE5zeOw94JDRAQpQCFCBKFk5u8dNd14ByhCWhIWQKSQmyhD9q gdc27fjDchI2onXZJIesohaEi0QABA+7D3rZ9/rkAC1blABSlKiAFKUoQndd k9QFA7gI+Nspe+xUPdkDkh3lkJpzSGkJv3KJXysNN0SSdsSE41p2e05PY7bV hyZ2tqw5M7bTQjGc2yyrKZNGUSOxEjGJL2OoZTjiExutlXfZjGDHCRBZPxKg Tyj5okYJ6I9wYW8bhjfwmSfGQ5myNa+LyIta0i0i2rarULCvb6Wici1Xp6HJ 63basOTO211Hdb5MzBtFvNgePONgdxMbbbfCaSbtspWxUOB0B2skJOGp7pIQ JmWyl6sVDuJGFktDsL7nIyB2kerZS8sVBD2QyQctlK2LYhsgfHmWyl2xUOiS WA2UoXG2UrZjGDzRhxblLEcpG6Q3brZV2sxjByJE3aHqXS2VdbMYwe13vPDD FWrVqcoiknIlW+48vN1a21kSrTB35zI3aEfCvqy1k/hVNmeFsq8bMc5XQrvT 12Xj1y2sveU8QF2PFrVSChzKlKlN7aI9jU6bXEtkMLFRVl9uDBFpJVj0aIzM kQso1NKrNO+z5opS+n6Zz632Pse/3e8T88+P2T6BbbbaURdK7XcLmZs03bcw AzGSY5SW5FRWCpQmAd58IDb9ESQ+EEqCJl9vkn3t/siOMH09N/3OxSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSS+f6FXl5JJJJKqqqqvPCQ24wbueCRPc74iYgM1Ey0nmrtkq vYK1L214fZkOaCKpHXQfR6Dz+/5wyNTuSu8wbIdZGnK2Vd1mMYK9hNJDnIdS Tbt4Skvc1aXE9sM2bQrQRYgoFZNkpI0t3RblMxMuGuU+vsD4IfD4k+SEjk+y JHqy+knu9ieOGvv6sFqT5naky7FVVdIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiOXepVXndzyVmtZWGi3Lm6cpH/JHypa XcdPUXqYWYWYWYWYWYWYWYWYWYWYWYWYWYWYWYWYWYZYWYWYWYWYWYWYWWlm FmFmFmFmFmtd1TFmFmFmFmFmFmFmFmFmFmFmFmFmFmFmFmFmFmFmFmFmFmFm FmFmFmFmFm4WYWYWYWYWYWYWYWWlmFmFmFmFmFmFmFmFmFmFmFmFjrrYswsw swswswswswswswtcYgzVZxMSlrM3HhMYp2Fh0LSdJDV4pPc142yr7bMYwYe2 QvdEj3ksX8yJ32SSyOnvAHy+eAfSODsjSJHKQ2T0I3SH0zHxIkb3XbKvZZjG Dm+idUT7Udfyb3enVPpIjg66vZJ5/hReqQ8pK9Lq9vfTfD8XenXFd0UfD7gA kC96sFtYpWtqtrPcA9ZJIeVkkCJ4wkNEA0D4BDrd46TXdcuY7ruuwhTM2YYY Joc5hzirhcx4e0cznHh2ISHSClCjChZOt66dkhruvOQClLh2s5Lt17dudU7t YV2rkrk5YHKVTMSxMzlnBaZppQkskqoWwRSyTxbZRvxh554b9eGN83WBdXco QFKUoACzsiWm5sKUpQYVVsIbh6/M8Aid7tiLO+qsLDRpCbE3NPDdiyr33KuL GmmhlIbxzR1Qqqshwg0SRO+uCwPx2SCqMWcOtJ+OkkrrkOcdBw72+wqscMYT BcS1jO17q+Guvfr3bvm+tERTnQcEReqmFRERfUr47r33L3u1ByZy2IW2ylbF sQsnwfL5BkmZgOwOWU4RhGyjGEbKJEMsDLKUktlyrtShyZ22rOLiO0u2lKkY A+8DEySIYGsDbKaRhGytswdiwzZWUwaLDNlZTBTY2YzLSWls0pFiA22UrYog k9cge8cPwFbh1u5ULFgiTtVEQO2kmGZDEhiTEhuSexbSrIcRy7FOC6TVrl6S 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 jkXJF4/B6a55aeOIv/xdyRThQkPcn4SY --------------030904010507010700080106--