This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch to install internals info
- To: <gcc-patches at gcc dot gnu dot org>
- Subject: Patch to install internals info
- From: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- Date: Fri, 12 Jan 2001 00:00:07 +0000 (GMT)
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