#! /bin/sh -e

# DP: Allow transformations on info file names. Reference the
# DP: transformed info file names in the texinfo files.

dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
    pdir="-d $3"
    dir="$3/"
elif [ $# -ne 1 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
fi
case "$1" in
    -patch)
        patch $pdir -f --no-backup-if-mismatch -p0 < $0
        ;;
    -unpatch)
        patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
        ;;
    *)
        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
        exit 1
esac
exit 0


gcc/ChangeLog:

2004-02-17  Matthias Klose  <doko@debian.org>

	* Makefile.in: Allow transformations on info file names.
	Define MAKEINFODEFS, macros to pass transformated info file
	names to makeinfo.
	* doc/cpp.texi: Use macros defined in MAKEINFODEFS for references.
	* doc/cppinternals.texi: Likewise.
	* doc/extend.texi: Likewise.
	* doc/gcc.texi: Likewise.
	* doc/gccint.texi: Likewise.
	* doc/invoke.texi: Likewise.
	* doc/libgcc.texi: Likewise.
	* doc/makefile.texi: Likewise.
	* doc/passes.texi: Likewise.
	* doc/sourcebuild.texi: Likewise.
	* doc/standards.texi: Likewise.
	* doc/trouble.texi: Likewise.

gcc/fortran/ChangeLog:
	* Make-lang.in: Allow transformations on info file names.
	Pass macros of transformated info file defined in MAKEINFODEFS
	names to makeinfo.
	* gfortran.texi: Use macros defined in MAKEINFODEFS for references.

gcc/java/ChangeLog:
	* Make-lang.in: Allow transformations on info file names.
	Pass macros of transformated info file defined in MAKEINFODEFS
	names to makeinfo.
	* gcj.texi: Use macros defined in MAKEINFODEFS for references.


Index: libgomp/libgomp.texi
===================================================================
*** libgomp/libgomp.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- libgomp/libgomp.texi	2012-02-21 14:34:15.000000000 +0100
*************** texts being (a) (see below), and with th
*** 31,37 ****
  @ifinfo
  @dircategory GNU Libraries
  @direntry
! * libgomp: (libgomp).                    GNU OpenMP runtime library
  @end direntry
  
  This manual documents the GNU implementation of the OpenMP API for 
--- 31,37 ----
  @ifinfo
  @dircategory GNU Libraries
  @direntry
! * @value{fnlibgomp}: (@value{fnlibgomp}).                    GNU OpenMP runtime library
  @end direntry
  
  This manual documents the GNU implementation of the OpenMP API for 
Index: libgomp/Makefile.am
===================================================================
*** libgomp/Makefile.am.orig	2012-02-21 14:33:54.000000000 +0100
--- libgomp/Makefile.am	2012-02-21 14:34:15.000000000 +0100
*************** endif
*** 111,126 ****
  
  all-local: $(STAMP_GENINSRC)
  
! stamp-geninsrc: libgomp.info
! 	cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
  	@touch $@
  
! libgomp.info: $(STAMP_BUILD_INFO)
  
  stamp-build-info: libgomp.texi
! 	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
  	@touch $@
  
  
! CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info
  MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
--- 111,129 ----
  
  all-local: $(STAMP_GENINSRC)
  
! INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)')
! stamp-geninsrc: $(INFO_LIBGOMP_NAME).info
! 	cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info
  	@touch $@
  
! libgomp.info: $(INFO_LIBGOMP_NAME).info
! 	cp $(INFO_LIBGOMP_NAME).info libgomp.info
! $(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO)
  
  stamp-build-info: libgomp.texi
! 	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi
  	@touch $@
  
  
! CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info
  MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
Index: libgomp/Makefile.in
===================================================================
*** libgomp/Makefile.in.orig	2012-02-21 14:33:54.000000000 +0100
--- libgomp/Makefile.in	2012-02-21 14:34:15.000000000 +0100
*************** info_TEXINFOS = libgomp.texi
*** 343,349 ****
  
  # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
  @BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info
! CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info
  MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
  all: config.h
  	$(MAKE) $(AM_MAKEFLAGS) all-recursive
--- 343,350 ----
  
  # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
  @BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info
! INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)')
! CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info
  MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
  all: config.h
  	$(MAKE) $(AM_MAKEFLAGS) all-recursive
*************** env.lo: libgomp_f.h
*** 1089,1103 ****
  env.o: libgomp_f.h
  
  all-local: $(STAMP_GENINSRC)
! 
! stamp-geninsrc: libgomp.info
! 	cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
  	@touch $@
  
! libgomp.info: $(STAMP_BUILD_INFO)
  
  stamp-build-info: libgomp.texi
! 	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
  	@touch $@
  
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
--- 1090,1105 ----
  env.o: libgomp_f.h
  
  all-local: $(STAMP_GENINSRC)
! stamp-geninsrc: $(INFO_LIBGOMP_NAME).info
! 	cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info
  	@touch $@
  
! libgomp.info: $(INFO_LIBGOMP_NAME).info
! 	cp $(INFO_LIBGOMP_NAME).info libgomp.info
! $(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO)
  
  stamp-build-info: libgomp.texi
! 	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi
  	@touch $@
  
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: gcc/doc/cpp.texi
===================================================================
*** gcc/doc/cpp.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/cpp.texi	2012-02-21 14:34:15.000000000 +0100
*************** This manual contains no Invariant Sectio
*** 53,59 ****
  @ifinfo
  @dircategory Software development
  @direntry
! * Cpp: (cpp).                  The GNU C preprocessor.
  @end direntry
  @end ifinfo
  
--- 53,59 ----
  @ifinfo
  @dircategory Software development
  @direntry
! * @value{fncpp}: (@value{fncpp}).                    The GNU C preprocessor.
  @end direntry
  @end ifinfo
  
Index: gcc/doc/cppinternals.texi
===================================================================
*** gcc/doc/cppinternals.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/cppinternals.texi	2012-02-21 14:34:15.000000000 +0100
***************
*** 7,13 ****
  @ifinfo
  @dircategory Software development
  @direntry
! * Cpplib: (cppinternals).      Cpplib internals.
  @end direntry
  @end ifinfo
  
--- 7,13 ----
  @ifinfo
  @dircategory Software development
  @direntry
! * @value{fncppint}: (@value{fncppint}).      Cpplib internals.
  @end direntry
  @end ifinfo
  
Index: gcc/doc/extend.texi
===================================================================
*** gcc/doc/extend.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/extend.texi	2012-02-21 14:34:15.000000000 +0100
*************** want to write code that checks whether t
*** 14788,14794 ****
  test for the GNU compiler the same way as for C programs: check for a
  predefined macro @code{__GNUC__}.  You can also use @code{__GNUG__} to
  test specifically for GNU C++ (@pxref{Common Predefined Macros,,
! Predefined Macros,cpp,The GNU C Preprocessor}).
  
  @menu
  * C++ Volatiles::       What constitutes an access to a volatile object.
--- 14788,14794 ----
  test for the GNU compiler the same way as for C programs: check for a
  predefined macro @code{__GNUC__}.  You can also use @code{__GNUG__} to
  test specifically for GNU C++ (@pxref{Common Predefined Macros,,
! Predefined Macros,@value{fncpp},The GNU C Preprocessor}).
  
  @menu
  * C++ Volatiles::       What constitutes an access to a volatile object.
Index: gcc/doc/gcc.texi
===================================================================
*** gcc/doc/gcc.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/gcc.texi	2012-02-21 14:34:15.000000000 +0100
*************** Texts being (a) (see below), and with th
*** 65,72 ****
  @ifnottex
  @dircategory Software development
  @direntry
! * gcc: (gcc).                  The GNU Compiler Collection.
! * g++: (gcc).                  The GNU C++ compiler.
  @end direntry
  This file documents the use of the GNU compilers.
  @sp 1
--- 65,72 ----
  @ifnottex
  @dircategory Software development
  @direntry
! * @value{fngcc}: (@value{fngcc}).                  The GNU Compiler Collection.
! * @value{fngxx}: (@value{fngcc}).                  The GNU C++ compiler.
  @end direntry
  This file documents the use of the GNU compilers.
  @sp 1
*************** version @value{version-GCC}.
*** 126,132 ****
  The internals of the GNU compilers, including how to port them to new
  targets and some information about how to write front ends for new
  languages, are documented in a separate manual.  @xref{Top,,
! Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
  
  @menu
  * G++ and GCC::     You can compile C or C++ programs.
--- 126,132 ----
  The internals of the GNU compilers, including how to port them to new
  targets and some information about how to write front ends for new
  languages, are documented in a separate manual.  @xref{Top,,
! Introduction, @value{fngccint}, GNU Compiler Collection (GCC) Internals}.
  
  @menu
  * G++ and GCC::     You can compile C or C++ programs.
Index: gcc/doc/gccint.texi
===================================================================
*** gcc/doc/gccint.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/gccint.texi	2012-02-21 14:34:15.000000000 +0100
*************** Texts being (a) (see below), and with th
*** 51,57 ****
  @ifnottex
  @dircategory Software development
  @direntry
! * gccint: (gccint).            Internals of the GNU Compiler Collection.
  @end direntry
  This file documents the internals of the GNU compilers.
  @sp 1
--- 51,57 ----
  @ifnottex
  @dircategory Software development
  @direntry
! * @value{fngccint}: (@value{fngccint}).            Internals of the GNU Compiler Collection.
  @end direntry
  This file documents the internals of the GNU compilers.
  @sp 1
*************** write front ends for new languages.  It
*** 83,89 ****
  @value{VERSION_PACKAGE}
  @end ifset
  version @value{version-GCC}.  The use of the GNU compilers is documented in a
! separate manual.  @xref{Top,, Introduction, gcc, Using the GNU
  Compiler Collection (GCC)}.
  
  This manual is mainly a reference manual rather than a tutorial.  It
--- 83,89 ----
  @value{VERSION_PACKAGE}
  @end ifset
  version @value{version-GCC}.  The use of the GNU compilers is documented in a
! separate manual.  @xref{Top,, Introduction, @value{fngcc}, Using the GNU
  Compiler Collection (GCC)}.
  
  This manual is mainly a reference manual rather than a tutorial.  It
Index: gcc/doc/invoke.texi
===================================================================
*** gcc/doc/invoke.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/invoke.texi	2012-02-21 14:34:15.000000000 +0100
*************** One of the standard libraries bypassed b
*** 9434,9440 ****
  @option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
  which GCC uses to overcome shortcomings of particular machines, or special
  needs for some languages.
! (@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
  Collection (GCC) Internals},
  for more discussion of @file{libgcc.a}.)
  In most cases, you need @file{libgcc.a} even when you want to avoid
--- 9434,9440 ----
  @option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
  which GCC uses to overcome shortcomings of particular machines, or special
  needs for some languages.
! (@xref{Interface,,Interfacing to GCC Output,@value{fngccint},GNU Compiler
  Collection (GCC) Internals},
  for more discussion of @file{libgcc.a}.)
  In most cases, you need @file{libgcc.a} even when you want to avoid
*************** other standard libraries.  In other word
*** 9442,9448 ****
  or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
  This ensures that you have no unresolved references to internal GCC
  library subroutines.  (For example, @samp{__main}, used to ensure C++
! constructors will be called; @pxref{Collect2,,@code{collect2}, gccint,
  GNU Compiler Collection (GCC) Internals}.)
  
  @item -pie
--- 9442,9448 ----
  or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
  This ensures that you have no unresolved references to internal GCC
  library subroutines.  (For example, @samp{__main}, used to ensure C++
! constructors will be called; @pxref{Collect2,,@code{collect2}, @value{fngccint},
  GNU Compiler Collection (GCC) Internals}.)
  
  @item -pie
*************** Note that you can also specify places to
*** 19435,19441 ****
  @option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}).  These
  take precedence over places specified using environment variables, which
  in turn take precedence over those specified by the configuration of GCC@.
! @xref{Driver,, Controlling the Compilation Driver @file{gcc}, gccint,
  GNU Compiler Collection (GCC) Internals}.
  
  @table @env
--- 19435,19441 ----
  @option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}).  These
  take precedence over places specified using environment variables, which
  in turn take precedence over those specified by the configuration of GCC@.
! @xref{Driver,, Controlling the Compilation Driver @file{gcc}, @value{fngccint},
  GNU Compiler Collection (GCC) Internals}.
  
  @table @env
*************** the headers it contains change.
*** 19596,19602 ****
  
  A precompiled header file will be searched for when @code{#include} is
  seen in the compilation.  As it searches for the included file
! (@pxref{Search Path,,Search Path,cpp,The C Preprocessor}) the
  compiler looks for a precompiled header in each directory just before it
  looks for the include file in that directory.  The name searched for is
  the name specified in the @code{#include} with @samp{.gch} appended.  If
--- 19596,19602 ----
  
  A precompiled header file will be searched for when @code{#include} is
  seen in the compilation.  As it searches for the included file
! (@pxref{Search Path,,Search Path,@value{fncpp},The C Preprocessor}) the
  compiler looks for a precompiled header in each directory just before it
  looks for the include file in that directory.  The name searched for is
  the name specified in the @code{#include} with @samp{.gch} appended.  If
Index: gcc/doc/libgcc.texi
===================================================================
*** gcc/doc/libgcc.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/libgcc.texi	2012-02-21 14:34:15.000000000 +0100
*************** that needs them.
*** 25,31 ****
  GCC will also generate calls to C library routines, such as
  @code{memcpy} and @code{memset}, in some cases.  The set of routines
  that GCC may possibly use is documented in @ref{Other
! Builtins,,,gcc, Using the GNU Compiler Collection (GCC)}.
  
  These routines take arguments and return values of a specific machine
  mode, not a specific C type.  @xref{Machine Modes}, for an explanation
--- 25,31 ----
  GCC will also generate calls to C library routines, such as
  @code{memcpy} and @code{memset}, in some cases.  The set of routines
  that GCC may possibly use is documented in @ref{Other
! Builtins,,,@value{fngcc}, Using the GNU Compiler Collection (GCC)}.
  
  These routines take arguments and return values of a specific machine
  mode, not a specific C type.  @xref{Machine Modes}, for an explanation
Index: gcc/doc/makefile.texi
===================================================================
*** gcc/doc/makefile.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/makefile.texi	2012-02-21 14:34:15.000000000 +0100
*************** regardless of how it itself was compiled
*** 140,146 ****
  Builds a compiler with profiling feedback information.  In this case,
  the second and third stages are named @samp{profile} and @samp{feedback},
  respectively.  For more information, see
! @ref{Building,,Building with profile feedback,gccinstall,Installing GCC}.
  
  @item restrap
  Restart a bootstrap, so that everything that was not built with
--- 140,146 ----
  Builds a compiler with profiling feedback information.  In this case,
  the second and third stages are named @samp{profile} and @samp{feedback},
  respectively.  For more information, see
! @ref{Building,,Building with profile feedback,@value{fngccinstall},Installing GCC}.
  
  @item restrap
  Restart a bootstrap, so that everything that was not built with
Index: gcc/doc/passes.texi
===================================================================
*** gcc/doc/passes.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/passes.texi	2012-02-21 14:34:15.000000000 +0100
*************** rid of it.  This pass is located in @fil
*** 199,205 ****
  @item Mudflap declaration registration
  
  If mudflap (@pxref{Optimize Options,,-fmudflap -fmudflapth
! -fmudflapir,gcc,Using the GNU Compiler Collection (GCC)}) is
  enabled, we generate code to register some variable declarations with
  the mudflap runtime.  Specifically, the runtime tracks the lifetimes of
  those variable declarations that have their addresses taken, or whose
--- 199,205 ----
  @item Mudflap declaration registration
  
  If mudflap (@pxref{Optimize Options,,-fmudflap -fmudflapth
! -fmudflapir,@value{fngcc},Using the GNU Compiler Collection (GCC)}) is
  enabled, we generate code to register some variable declarations with
  the mudflap runtime.  Specifically, the runtime tracks the lifetimes of
  those variable declarations that have their addresses taken, or whose
Index: gcc/doc/standards.texi
===================================================================
*** gcc/doc/standards.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/standards.texi	2012-02-21 14:34:15.000000000 +0100
*************** date that the release was frozen.
*** 295,302 ****
  GNAT Reference Manual}, for information on standard
  conformance and compatibility of the Ada compiler.
  
! @xref{Standards,,Standards, gfortran, The GNU Fortran Compiler}, for details
  of standards supported by GNU Fortran.
  
! @xref{Compatibility,,Compatibility with the Java Platform, gcj, GNU gcj},
  for details of compatibility between @command{gcj} and the Java Platform.
--- 295,302 ----
  GNAT Reference Manual}, for information on standard
  conformance and compatibility of the Ada compiler.
  
! @xref{Standards,,Standards, @value{fngfortran}, The GNU Fortran Compiler}, for details
  of standards supported by GNU Fortran.
  
! @xref{Compatibility,,Compatibility with the Java Platform, @value{fngcj}, GNU gcj},
  for details of compatibility between @command{gcj} and the Java Platform.
Index: gcc/java/Make-lang.in
===================================================================
*** gcc/java/Make-lang.in.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/java/Make-lang.in	2012-02-21 14:34:15.000000000 +0100
*************** java.tags: force
*** 127,137 ****
  	etags --include TAGS.sub --include ../TAGS.sub
  
  
! java.info: doc/gcj.info
  
! java.srcinfo: doc/gcj.info
  	-cp -p $^ $(srcdir)/doc
  
  java.dvi: doc/gcj.dvi
  
  JAVA_PDFFILES = doc/gcj.pdf
--- 127,149 ----
  	etags --include TAGS.sub --include ../TAGS.sub
  
  
! TEXI_GCJ_FILES = java/gcj.texi \
! 		 $(gcc_docdir)/include/gpl.texi $(gcc_docdir)/include/funding.texi \
! 		 $(gcc_docdir)/include/fdl.texi $(gcc_docdir)/include/gcc-common.texi gcc-vers.texi
! INFO_GCJ_NAME = $(shell echo gcj|sed '$(program_transform_name)')
  
! java.info: doc/$(INFO_GCJ_NAME).info
! 
! java.srcinfo: doc/$(INFO_GCJ_NAME).info
  	-cp -p $^ $(srcdir)/doc
  
+ doc/$(INFO_GCJ_NAME).info: $(TEXI_GCJ_FILES)
+ 	if test "x$(BUILD_INFO)" = xinfo; then \
+ 	  rm -f $(@)*; \
+ 	  $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) \
+ 	    -I$(gcc_docdir)/include -I$(srcdir)/f -o$@ $<; \
+ 	fi
+ 
  java.dvi: doc/gcj.dvi
  
  JAVA_PDFFILES = doc/gcj.pdf
*************** java.uninstall:
*** 194,201 ****
  	-rm -rf $(DESTDIR)$(man1dir)/gcj-dbtool$(man1ext)
  	-rm -rf $(DESTDIR)$(man1dir)/aot-compile$(man1ext)
  	-rm -rf $(DESTDIR)$(man1dir)/rebuild-gcj-db$(man1ext)
  
! java.install-info: $(DESTDIR)$(infodir)/gcj.info
  
  java.install-pdf: $(JAVA_PDFFILES)
  	@$(NORMAL_INSTALL)
--- 206,214 ----
  	-rm -rf $(DESTDIR)$(man1dir)/gcj-dbtool$(man1ext)
  	-rm -rf $(DESTDIR)$(man1dir)/aot-compile$(man1ext)
  	-rm -rf $(DESTDIR)$(man1dir)/rebuild-gcj-db$(man1ext)
+ 	-rm -f $(DESTDIR)$(infodir)/$(INFO_GCJ_NAME).info*
  
! java.install-info: $(DESTDIR)$(infodir)/$(INFO_GCJ_NAME).info
  
  java.install-pdf: $(JAVA_PDFFILES)
  	@$(NORMAL_INSTALL)
Index: gcc/java/gcj.texi
===================================================================
*** gcc/java/gcj.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/java/gcj.texi	2012-02-21 14:34:15.000000000 +0100
*************** man page gfdl(7).
*** 55,75 ****
  @format
  @dircategory Software development
  @direntry
! * Gcj: (gcj).               Ahead-of-time compiler for the Java language
  @end direntry
  
  @dircategory Individual utilities
  @direntry
! * jcf-dump: (gcj)Invoking jcf-dump.
                              Print information about Java class files
! * gij: (gcj)Invoking gij.   GNU interpreter for Java bytecode
! * gcj-dbtool: (gcj)Invoking gcj-dbtool.
                              Tool for manipulating class file databases.
! * jv-convert: (gcj)Invoking jv-convert.
                              Convert file from one encoding to another
! * grmic: (gcj)Invoking grmic.
                              Generate stubs for Remote Method Invocation.
! * gc-analyze: (gcj)Invoking gc-analyze.
                              Analyze Garbage Collector (GC) memory dumps.
  * aot-compile: (gcj)Invoking aot-compile.
                              Compile bytecode to native and generate databases.
--- 55,75 ----
  @format
  @dircategory Software development
  @direntry
! * @value{fngcj}: (@value{fngcj}).               Ahead-of-time compiler for the Java language
  @end direntry
  
  @dircategory Individual utilities
  @direntry
! * jcf-dump: (@value{fngcj}) Invoking jcf-dump.
                              Print information about Java class files
! * gij: (@value{fngcj}) Invoking gij.   GNU interpreter for Java bytecode
! * gcj-dbtool: (@value{fngcj}) Invoking gcj-dbtool.
                              Tool for manipulating class file databases.
! * jv-convert: (@value{fngcj}) Invoking jv-convert.
                              Convert file from one encoding to another
! * grmic: (@value{fngcj}) Invoking grmic.
                              Generate stubs for Remote Method Invocation.
! * gc-analyze: (@value{fngcj}) Invoking gc-analyze.
                              Analyze Garbage Collector (GC) memory dumps.
  * aot-compile: (gcj)Invoking aot-compile.
                              Compile bytecode to native and generate databases.
*************** and the Info entries for @file{gcj} and
*** 159,165 ****
  
  As @command{gcj} is just another front end to @command{gcc}, it supports many
  of the same options as gcc.  @xref{Option Summary, , Option Summary,
! gcc, Using the GNU Compiler Collection (GCC)}.  This manual only documents the
  options specific to @command{gcj}.
  
  @c man end
--- 159,165 ----
  
  As @command{gcj} is just another front end to @command{gcc}, it supports many
  of the same options as gcc.  @xref{Option Summary, , Option Summary,
! @value{fngcc}, Using the GNU Compiler Collection (GCC)}.  This manual only documents the
  options specific to @command{gcj}.
  
  @c man end
Index: gcc/fortran/Make-lang.in
===================================================================
*** gcc/fortran/Make-lang.in.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/fortran/Make-lang.in	2012-02-21 14:34:15.000000000 +0100
*************** fortran.tags: force
*** 118,124 ****
  	cd $(srcdir)/fortran; etags -o TAGS.sub *.c *.h; \
  	etags --include TAGS.sub --include ../TAGS.sub
  
! fortran.info: doc/gfortran.info doc/gfc-internals.info
  fortran.dvi: doc/gfortran.dvi doc/gfc-internals.dvi
  
  F95_HTMLFILES = $(build_htmldir)/gfortran
--- 118,125 ----
  	cd $(srcdir)/fortran; etags -o TAGS.sub *.c *.h; \
  	etags --include TAGS.sub --include ../TAGS.sub
  
! INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)')
! fortran.info: doc/$(INFO_FORTRAN_NAME).info
  fortran.dvi: doc/gfortran.dvi doc/gfc-internals.dvi
  
  F95_HTMLFILES = $(build_htmldir)/gfortran
*************** GFORTRAN_TEXI = \
*** 190,199 ****
    $(srcdir)/doc/include/gcc-common.texi \
    gcc-vers.texi
  
! doc/gfortran.info: $(GFORTRAN_TEXI)
  	if [ x$(BUILD_INFO) = xinfo ]; then \
  	  rm -f doc/gfortran.info-*; \
! 	  $(MAKEINFO) -I $(srcdir)/doc/include -I $(srcdir)/fortran \
  	    -o $@ $<; \
  	else true; fi
  
--- 191,200 ----
    $(srcdir)/doc/include/gcc-common.texi \
    gcc-vers.texi
  
! doc/$(INFO_FORTRAN_NAME).info: $(GFORTRAN_TEXI)
  	if [ x$(BUILD_INFO) = xinfo ]; then \
  	  rm -f doc/gfortran.info-*; \
! 	  $(MAKEINFO) $(MAKEINFODEFS) -I $(srcdir)/doc/include -I $(srcdir)/fortran \
  	    -o $@ $<; \
  	else true; fi
  
*************** fortran.install-common: install-finclude
*** 261,267 ****
  
  fortran.install-plugin:
  
! fortran.install-info: $(DESTDIR)$(infodir)/gfortran.info
  
  fortran.install-man: $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext)
  
--- 262,268 ----
  
  fortran.install-plugin:
  
! fortran.install-info: $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info
  
  fortran.install-man: $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext)
  
*************** fortran.uninstall:
*** 279,285 ****
  	rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
  	rm -rf $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext); \
  	rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \
! 	rm -rf $(DESTDIR)$(infodir)/gfortran.info*
  
  #
  # Clean hooks:
--- 280,286 ----
  	rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
  	rm -rf $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext); \
  	rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \
! 	rm -rf $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info*
  
  #
  # Clean hooks:
Index: gcc/fortran/gfortran.texi
===================================================================
*** gcc/fortran/gfortran.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/fortran/gfortran.texi	2012-02-21 14:34:15.000000000 +0100
*************** Texts being (a) (see below), and with th
*** 101,107 ****
  @ifinfo
  @dircategory Software development
  @direntry
! * gfortran: (gfortran).                  The GNU Fortran Compiler.
  @end direntry
  This file documents the use and the internals of
  the GNU Fortran compiler, (@command{gfortran}).
--- 101,107 ----
  @ifinfo
  @dircategory Software development
  @direntry
! * @value{fngfortran}: (@value{fngfortran}).                  The GNU Fortran Compiler.
  @end direntry
  This file documents the use and the internals of
  the GNU Fortran compiler, (@command{gfortran}).
Index: gcc/Makefile.in
===================================================================
*** gcc/Makefile.in.orig	2012-02-21 14:34:13.000000000 +0100
--- gcc/Makefile.in	2012-02-21 14:34:15.000000000 +0100
*************** stmp-fixinc: gsyslimits.h macro_list fix
*** 4200,4207 ****
  
  doc: $(BUILD_INFO) $(GENERATED_MANPAGES)
  
! INFOFILES = doc/cpp.info doc/gcc.info doc/gccint.info \
!             doc/gccinstall.info doc/cppinternals.info
  
  info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo
  
--- 4200,4226 ----
  
  doc: $(BUILD_INFO) $(GENERATED_MANPAGES)
  
! INFO_CPP_NAME = $(shell echo cpp|sed '$(program_transform_name)')
! INFO_GCC_NAME = $(shell echo gcc|sed '$(program_transform_name)')
! INFO_GXX_NAME = $(shell echo g++|sed '$(program_transform_name)')
! INFO_GCCINT_NAME = $(shell echo gccint|sed '$(program_transform_name)')
! INFO_GCCINSTALL_NAME = $(shell echo gccinstall|sed '$(program_transform_name)')
! INFO_CPPINT_NAME = $(shell echo cppinternals|sed '$(program_transform_name)')
! 
! INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)')
! INFO_GCJ_NAME = $(shell echo gcj|sed '$(program_transform_name)')
! 
! INFOFILES = doc/$(INFO_CPP_NAME).info doc/$(INFO_GCC_NAME).info \
!             doc/$(INFO_GCCINT_NAME).info \
!             doc/$(INFO_GCCINSTALL_NAME).info doc/$(INFO_CPPINT_NAME).info
! 
! MAKEINFODEFS = -D 'fncpp $(INFO_CPP_NAME)' -D 'fngcc $(INFO_GCC_NAME)' \
!                -D 'fngxx $(INFO_GXX_NAME)' \
!                -D 'fngccint $(INFO_GCCINT_NAME)' \
!                -D 'fngccinstall $(INFO_GCCINSTALL_NAME)' \
!                -D 'fncppint $(INFO_CPPINT_NAME)' \
!                -D 'fngfortran $(INFO_FORTRAN_NAME)' \
!                -D 'fngcj $(INFO_GCJ_NAME)'
  
  info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo
  
*************** gcc-vers.texi: $(BASEVER) $(DEVPHASE)
*** 4255,4275 ****
  # patterns.  To use them, put each of the specific targets with its
  # specific dependencies but no build commands.
  
! doc/cpp.info: $(TEXI_CPP_FILES)
! doc/gcc.info: $(TEXI_GCC_FILES)
! doc/gccint.info: $(TEXI_GCCINT_FILES)
! doc/cppinternals.info: $(TEXI_CPPINT_FILES)
! 
  doc/%.info: %.texi
  	if [ x$(BUILD_INFO) = xinfo ]; then \
  		$(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(gcc_docdir) \
  			-I $(gcc_docdir)/include -o $@ $<; \
  	fi
  
  # Duplicate entry to handle renaming of gccinstall.info
! doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES)
  	if [ x$(BUILD_INFO) = xinfo ]; then \
! 		$(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \
  			-I $(gcc_docdir)/include -o $@ $<; \
  	fi
  
--- 4274,4314 ----
  # patterns.  To use them, put each of the specific targets with its
  # specific dependencies but no build commands.
  
! # Generic entry to handle info files, which are not renamed (currently Ada)
  doc/%.info: %.texi
  	if [ x$(BUILD_INFO) = xinfo ]; then \
  		$(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(gcc_docdir) \
  			-I $(gcc_docdir)/include -o $@ $<; \
  	fi
  
+ doc/$(INFO_CPP_NAME).info: $(TEXI_CPP_FILES)
+ 	if [ x$(BUILD_INFO) = xinfo ]; then \
+ 		$(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
+ 			-I $(gcc_docdir)/include -o $@ $<; \
+ 	fi
+ 
+ doc/$(INFO_GCC_NAME).info: $(TEXI_GCC_FILES)
+ 	if [ x$(BUILD_INFO) = xinfo ]; then \
+ 		$(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
+ 			-I $(gcc_docdir)/include -o $@ $<; \
+ 	fi
+ 
+ doc/$(INFO_GCCINT_NAME).info: $(TEXI_GCCINT_FILES)
+ 	if [ x$(BUILD_INFO) = xinfo ]; then \
+ 		$(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
+ 			-I $(gcc_docdir)/include -o $@ $<; \
+ 	fi
+ 
+ doc/$(INFO_CPPINT_NAME).info: $(TEXI_CPPINT_FILES)
+ 	if [ x$(BUILD_INFO) = xinfo ]; then \
+ 		$(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
+ 			-I $(gcc_docdir)/include -o $@ $<; \
+ 	fi
+ 
  # Duplicate entry to handle renaming of gccinstall.info
! doc/$(INFO_GCCINSTALL_NAME).info: $(TEXI_GCCINSTALL_FILES)
  	if [ x$(BUILD_INFO) = xinfo ]; then \
! 		$(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
  			-I $(gcc_docdir)/include -o $@ $<; \
  	fi
  
*************** install-driver: installdirs xgcc$(exeext
*** 4630,4640 ****
  # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
  # to do the install.
  install-info:: doc installdirs \
! 	$(DESTDIR)$(infodir)/cpp.info \
! 	$(DESTDIR)$(infodir)/gcc.info \
! 	$(DESTDIR)$(infodir)/cppinternals.info \
! 	$(DESTDIR)$(infodir)/gccinstall.info \
! 	$(DESTDIR)$(infodir)/gccint.info \
  	lang.install-info
  
  $(DESTDIR)$(infodir)/%.info: doc/%.info installdirs
--- 4669,4679 ----
  # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
  # to do the install.
  install-info:: doc installdirs \
! 	$(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info \
! 	$(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info \
! 	$(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info \
! 	$(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info \
! 	$(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info \
  	lang.install-info
  
  $(DESTDIR)$(infodir)/%.info: doc/%.info installdirs
*************** uninstall: lang.uninstall
*** 4843,4850 ****
  	-rm -rf $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
  	-rm -rf $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
  	-rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext)
! 	-rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
! 	-rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
  	for i in ar nm ranlib ; do \
  	  install_name=`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ;\
  	  target_install_name=$(target_noncanonical)-`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ; \
--- 4882,4892 ----
  	-rm -rf $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
  	-rm -rf $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
  	-rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext)
! 	-rm -f $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info*
! 	-rm -f $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info*
! 	-rm -f $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info*
! 	-rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info*
! 	-rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info*
  	for i in ar nm ranlib ; do \
  	  install_name=`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ;\
  	  target_install_name=$(target_noncanonical)-`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ; \
Index: gcc/doc/install.texi
===================================================================
*** gcc/doc/install.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/doc/install.texi	2012-02-21 14:34:15.000000000 +0100
*************** Free Documentation License}''.
*** 98,104 ****
  @end ifinfo
  @dircategory Software development
  @direntry
! * gccinstall: (gccinstall).    Installing the GNU Compiler Collection.
  @end direntry
  
  @c Part 3 Titlepage and Copyright
--- 98,104 ----
  @end ifinfo
  @dircategory Software development
  @direntry
! * @value{fngccinstall}: (@value{fngccinstall}).    Installing the GNU Compiler Collection.
  @end direntry
  
  @c Part 3 Titlepage and Copyright
Index: gcc/ada/gnat-style.texi
===================================================================
*** gcc/ada/gnat-style.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/ada/gnat-style.texi	2012-02-21 14:34:15.000000000 +0100
*************** Texts.  A copy of the license is include
*** 31,37 ****
  
  @dircategory Software development
  @direntry
! * gnat-style: (gnat-style).      GNAT Coding Style
  @end direntry
  
  @macro syntax{element}
--- 31,37 ----
  
  @dircategory Software development
  @direntry
! * gnat-style: (gnat-style-4.7).      GNAT Coding Style
  @end direntry
  
  @macro syntax{element}
Index: gcc/ada/gnat_rm.texi
===================================================================
*** gcc/ada/gnat_rm.texi.orig	2012-02-21 14:33:54.000000000 +0100
--- gcc/ada/gnat_rm.texi	2012-02-21 14:34:15.000000000 +0100
*************** included in the section entitled ``GNU F
*** 38,44 ****
  
  @dircategory GNU Ada tools
  @direntry
! * GNAT Reference Manual: (gnat_rm).  Reference Manual for GNU Ada tools.
  @end direntry
  
  @titlepage
--- 38,44 ----
  
  @dircategory GNU Ada tools
  @direntry
! * GNAT Reference Manual: (gnat_rm-4.7).  Reference Manual for GNU Ada tools.
  @end direntry
  
  @titlepage
