This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch to install internals info


This patch makes GCC build and install various info files of internals
documentation, on the basis that the main manual already contains
plenty of internals documentation and it seems appropriate to install
the lot.  (It also seems illogical that c-tree.info gets built but not
installed.)

(There are also libobjc/objc-features.texi and
libstdc++-v3/porting.texi which this patch doesn't address; those
directories would need to get the appropriate configure support for
choosing modern makeinfo / building in the source directory.)

Bootstrapped and installed with no regressions on i686-pc-linux-gnu.
OK to commit?

2001-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>

	* Makefile.in (info, maintainer-clean, install-info, uninstall):
	Also build and remove and install and uninstall c-tree.info and
	cppinternals.info.
	($(srcdir)/gcc.info): Add dependency on contrib.texi.
	($(srcdir)/cppinternals.info): New target.
	* c-tree.texi: Change file name used when makeinfo used without -o
	from ir.info to c-tree.info.  Add info directory entry.
	* cppinternals.texi: Add info directory entry.
	* .cvsignore: Update.

2001-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>

	* Make-lang.in (c++.info, c++.install-info): Build and install g++
	internals info.
	(c++.uninstall, c++.maintainer-clean): Remove g++ internals info.
	($(srcdir)/cp/g++int.info): New target.
	* gxxint.texi: Add info directory entry.  Use @@ in email address.
	* .cvsignore: Update.

diff -rupN gcc.orig/.cvsignore gcc/.cvsignore
--- gcc.orig/.cvsignore	Sat Dec  9 10:19:32 2000
+++ gcc/.cvsignore	Thu Jan 11 12:59:42 2001
@@ -8,3 +8,4 @@ tradcif.c
 gcc.info*
 cpp.info*
 c-tree.info*
+cppinternals.info*
diff -rupN gcc.orig/Makefile.in gcc/Makefile.in
--- gcc.orig/Makefile.in	Thu Jan 11 00:07:13 2001
+++ gcc/Makefile.in	Thu Jan 11 13:02:30 2001
@@ -2182,20 +2182,24 @@ stmp-fixproto: fixhdr.ready fixproto stm
 # Remake the info files.

 doc: $(BUILD_INFO) gccbug
-info: $(srcdir)/cpp.info $(srcdir)/gcc.info lang.info $(srcdir)/c-tree.info
+info: $(srcdir)/cpp.info $(srcdir)/gcc.info lang.info $(srcdir)/c-tree.info $(srcdir)/cppinternals.info

 $(srcdir)/cpp.info: $(srcdir)/cpp.texi
 	cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -o cpp.info cpp.texi

 $(srcdir)/gcc.info: $(srcdir)/gcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
 	  $(srcdir)/invoke.texi $(srcdir)/md.texi $(srcdir)/rtl.texi \
-	  $(srcdir)/tm.texi $(srcdir)/gcov.texi
+	  $(srcdir)/tm.texi $(srcdir)/gcov.texi $(srcdir)/contrib.texi
 	cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -o gcc.info gcc.texi

 $(srcdir)/c-tree.info: $(srcdir)/c-tree.texi
 	cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -o c-tree.info \
 		c-tree.texi

+$(srcdir)/cppinternals.info: $(srcdir)/cppinternals.texi
+	cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -o cppinternals.info \
+		cppinternals.texi
+
 dvi: gcc.dvi cpp.dvi lang.dvi

 # This works with GNU Make's default rule.
@@ -2353,6 +2357,7 @@ maintainer-clean:
 	-rm -f cpp.??s cpp.*aux
 	-rm -f gcc.??s gcc.*aux
 	-rm -f $(srcdir)/cpp.info* $(srcdir)/gcc.info* $(srcdir)/c-tree.info*
+	-rm -f $(srcdir)/cppinternals.info*
 	-rm -f $(srcdir)/gcov.1 $(srcdir)/cpp.1
 #
 # Entry points `install' and `uninstall'.
@@ -2525,15 +2530,17 @@ install-driver: xgcc$(exeext)
 # to do the install.
 install-info: doc installdirs lang.install-info
 	-rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
+	-rm -f $(infodir)/c-tree.info* $(infodir)/cppinternals.info*
 	if [ -f $(srcdir)/gcc.info ]; then \
-	  for f in $(srcdir)/cpp.info* $(srcdir)/gcc.info*; do \
+	  for f in $(srcdir)/cpp.info* $(srcdir)/gcc.info* \
+		$(srcdir)/c-tree.info* $(srcdir)/cppinternals.info*; do \
 	    realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
 	    $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
 	  done; \
 	else true; fi
 	-if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
 	  if [ -f $(infodir)/dir ] ; then \
-	    for f in cpp.info gcc.info; do \
+	    for f in cpp.info gcc.info c-tree.info cppinternals.info; do \
 		if [ -f $(infodir)/$$f ]; then \
 		  install-info --dir-file=$(infodir)/dir $(infodir)/$$f; \
 		else true; fi \
@@ -2541,6 +2548,7 @@ install-info: doc installdirs lang.insta
 	  else true; fi; \
 	else true; fi;
 	-chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*
+	-chmod a-x $(infodir)/c-tree.info* $(infodir)/cppinternals.info*

 # Install the man pages.
 install-man: installdirs $(srcdir)/gcc.1 $(GENERATED_MANPAGES) lang.install-man
@@ -2672,6 +2680,7 @@ uninstall: intl.uninstall lang.uninstall
 	-rm -rf $(man1dir)/protoize$(manext)
 	-rm -rf $(man1dir)/unprotoize$(manext)
 	-rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
+	-rm -f $(infodir)/c-tree.info* $(infodir)/cppinternals.info*
 #
 # These targets are for the dejagnu testsuites. The file site.exp
 # contains global variables that all the testsuites will use.
diff -rupN gcc.orig/c-tree.texi gcc/c-tree.texi
--- gcc.orig/c-tree.texi	Fri Nov 10 07:51:34 2000
+++ gcc/c-tree.texi	Thu Jan 11 12:57:38 2001
@@ -23,11 +23,15 @@
 @c Prologue
 @c ---------------------------------------------------------------------

-@setfilename ir.info
+@setfilename c-tree.info
 @settitle C/C++ Internal Representation
 @setchapternewpage on

 @ifinfo
+@dircategory Programming
+@direntry
+* c-tree: (c-tree).            C/C++ Internal Representation
+@end direntry
 This manual documents the internal representation used by GCC to represent
 C and C++ source programs.

diff -rupN gcc.orig/cp/Make-lang.in gcc/cp/Make-lang.in
--- gcc.orig/cp/Make-lang.in	Tue Jan  2 18:30:05 2001
+++ gcc/cp/Make-lang.in	Thu Jan 11 13:19:52 2001
@@ -126,8 +126,15 @@ c++.all.cross: g++-cross$(exeext) $(DEMA
 c++.start.encap: g++$(exeext)
 c++.rest.encap: $(DEMANGLER_PROG)

-c++.info:
+c++.info: $(srcdir)/cp/g++int.info
 c++.dvi:
+
+$(srcdir)/cp/g++int.info: $(srcdir)/cp/gxxint.texi
+	if [ x$(BUILD_INFO) = xinfo ]; then \
+	  rm -f $(srcdir)/cp/g++int.info*; \
+	  cd $(srcdir)/cp && $(MAKEINFO) -o g++int.info gxxint.texi; \
+	else true; fi
+
 #
 # Install hooks:
 # cc1plus is installed elsewhere as part of $(COMPILERS).
@@ -175,7 +182,22 @@ c++.install-common:
 	  fi ; \
 	fi

-c++.install-info:
+c++.install-info: c++.info
+	if [ -f cc1plus$(exeext) ] ; then \
+	  if [ -f $(srcdir)/cp/g++int.info ]; then \
+	    rm -f $(infodir)/g++int.info*; \
+	    for f in $(srcdir)/cp/g++int.info*; do \
+	      realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
+	      $(INSTALL_DATA) $$f $(infodir)/$$realfile; \
+	    done; \
+	    chmod a-x $(infodir)/g++int.info*; \
+	  else true; fi; \
+	else true; fi
+	-if [ -f cc1plus$(exeext) ] && [ -f $(infodir)/g++int.info ]; then \
+	  if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
+	    install-info --dir-file=$(infodir)/dir $(infodir)/g++int.info; \
+	  else true; fi; \
+	else true; fi

 c++.install-man: $(srcdir)/cp/g++.1
 	-if [ -f cc1plus$(exeext) ] ; then \
@@ -199,6 +221,7 @@ c++.uninstall:
 	-rm -rf $(bindir)/$(DEMANGLER_CROSS_NAME)$(exeext)
 	-rm -rf $(man1dir)/$(GXX_INSTALL_NAME)$(manext)
 	-rm -rf $(man1dir)/$(GXX_CROSS_NAME)$(manext)
+	-rm -rf $(infodir)/g++int.info*
 #
 # Clean hooks:
 # A lot of the ancillary files are deleted by the main makefile.
@@ -213,6 +236,7 @@ c++.distclean:
 c++.extraclean:
 c++.maintainer-clean:
 	-rm -f $(srcdir)/cp/parse.c $(srcdir)/cp/parse.h
+	-rm -f $(srcdir)/cp/g++int.info*
 #
 # Stage hooks:
 # The main makefile has already created stage?/cp.
diff -rupN gcc.orig/cp/gxxint.texi gcc/cp/gxxint.texi
--- gcc.orig/cp/gxxint.texi	Mon Dec  4 18:52:13 2000
+++ gcc/cp/gxxint.texi	Thu Jan 11 13:16:42 2001
@@ -3,6 +3,12 @@
 @setfilename g++int.info
 @settitle G++ internals
 @setchapternewpage odd
+@ifinfo
+@dircategory Programming
+@direntry
+* G++ internals: (g++int).     G++ Internals.
+@end direntry
+@end ifinfo
 @c %**end of header

 @node Top, Limitations of g++, (dir), (dir)
@@ -10,7 +16,7 @@

 This is meant to describe the C++ front-end for gcc in detail.
 Questions and comments to Jason Merrill @email{jason@@redhat.com} and
-Mark Mitchell @email{mark@codesourcery.com}.
+Mark Mitchell @email{mark@@codesourcery.com}.

 @menu
 * Limitations of g++::
--- gcc.orig/cp/.cvsignore	Fri Jul 14 07:13:19 2000
+++ gcc/cp/.cvsignore	Thu Jan 11 22:23:13 2001
@@ -1,2 +1,3 @@
 parse.h
 parse.c
+g++int.info*
diff -rupN gcc.orig/cppinternals.texi gcc/cppinternals.texi
--- gcc.orig/cppinternals.texi	Mon Dec  4 07:34:21 2000
+++ gcc/cppinternals.texi	Thu Jan 11 12:58:14 2001
@@ -5,7 +5,7 @@
 @ifinfo
 @dircategory Programming
 @direntry
-* Cpplib:		       Cpplib internals.
+* Cpplib: (cppinternals).      Cpplib internals.
 @end direntry
 @end ifinfo


-- 
Joseph S. Myers
jsm28@cam.ac.uk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]