This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
building splitted gcc manual (errors in md.texi)
- To: gcc at gcc dot gnu dot org
- Subject: building splitted gcc manual (errors in md.texi)
- From: Matthias Klose <doko at cs dot tu-berlin dot de>
- Date: Wed, 29 Nov 2000 00:41:00 +0100 (MET)
- CC: gcc-patches at gcc dot gnu dot org
gcc.texi has documented the build of the manual splitted to two
manuals. This patch adds the build targets to build these manuals and
adds an configuration option --with-splitted-gcc-manual to configure.
However running makeinfo for the splitted manuals, produces some
errors in md.texi:
makeinfo -I../../src/gcc -o portgcc.info portgcc.texi
./portgcc.texi:187: Next reference to nonexistent node `G++ and GCC'.
./portgcc.texi:4213: Cross reference to nonexistent node `Cross Runtime'.
./portgcc.texi:4181: Cross reference to nonexistent node `Installation'.
makeinfo: Removing output file `portgcc.info' due to errors; use --force to preserve.
Making info file `portgcc.info' from `portgcc.texi'.
make: *** [portgcc.info] Error 2
makeinfo -I../../src/gcc -o usegcc.info usegcc.texi
../../src/gcc/md.texi:4616: Node `Conditional Execution' missing Up field.
../../src/gcc/md.texi:4696: Node `Constant Definitions' missing Up field.
../../src/gcc/md.texi:4656: Cross reference to nonexistent node `Insn Attributes'.
../../src/gcc/md.texi:4647: Cross reference to nonexistent node `Output Template'.
../../src/gcc/md.texi:4616: warning: unreferenced node `Conditional Execution'.
../../src/gcc/md.texi:4696: warning: unreferenced node `Constant Definitions'.
makeinfo: Removing output file `usegcc.info' due to errors; use --force to preserve.
Making info file `usegcc.info' from `usegcc.texi'.
make: *** [usegcc.info] Error 2
2000-11-28 Matthias Klose <doko@cs.tu-berlin.de>
* configure.in: Add --with-splitted-gcc-manual option.
* install.texi: Document it.
* Makefile.in: {use,port}gcc.{texi,info,dvi}: New targets.
install, uninstall, clean: Adjust.
--- gcc/Makefile.in.org Sun Nov 26 16:37:58 2000
+++ gcc/Makefile.in Tue Nov 28 22:33:57 2000
@@ -346,6 +346,10 @@
# Whether we were configured with NLS.
USE_NLS = @USE_NLS@
+# Wether were configured to build the combined or the splitted gcc manual
+gcc_info_manuals = @gcc_info_manuals@
+gcc_dvi_manuals = @gcc_dvi_manuals@
+
# Internationalization library.
INTLLIBS = @INTLLIBS@
@@ -2147,7 +2151,17 @@
# Remake the info files.
doc: $(BUILD_INFO) gccbug
-info: cpp.info gcc.info lang.info c-tree.info
+info: cpp.info $(gcc_info_manuals) lang.info c-tree.info
+
+usegcc.texi: $(srcdir)/gcc.texi
+ sed -e '/^@c @setfilename usegcc\.info/s/^@c *//' \
+ -e '/^@c @clear INTERNALS/s/^@c *//' $(srcdir)/gcc.texi \
+ > usegcc.texi
+
+portgcc.texi: $(srcdir)/gcc.texi
+ sed -e '/^@c @setfilename portgcc\.info/s/^@c *//' \
+ -e '/^@c @clear USING/s/^@c *//' $(srcdir)/gcc.texi \
+ > portgcc.texi
cpp.info: $(srcdir)/cpp.texi
$(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o cpp.info $(srcdir)/cpp.texi
@@ -2157,11 +2171,21 @@
$(srcdir)/tm.texi $(srcdir)/gcov.texi
$(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o gcc.info $(srcdir)/gcc.texi
+usegcc.info: usegcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
+ $(srcdir)/invoke.texi $(srcdir)/md.texi $(srcdir)/rtl.texi \
+ $(srcdir)/tm.texi $(srcdir)/gcov.texi
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o usegcc.info usegcc.texi
+
+portgcc.info: portgcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
+ $(srcdir)/invoke.texi $(srcdir)/md.texi $(srcdir)/rtl.texi \
+ $(srcdir)/tm.texi $(srcdir)/gcov.texi
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o portgcc.info portgcc.texi
+
c-tree.info: $(srcdir)/c-tree.texi
$(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o c-tree.info \
$(srcdir)/c-tree.texi
-dvi: gcc.dvi cpp.dvi lang.dvi
+dvi: $(gcc_dvi_manuals) cpp.dvi lang.dvi
# This works with GNU Make's default rule.
gcc.dvi: $(srcdir)/gcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
@@ -2171,6 +2195,20 @@
texindex gcc.??
TEXINPUTS=${texidir}:$(srcdir):$$TEXINPUTS tex gcc.texi
+usegcc.dvi: usegcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
+ $(srcdir)/invoke.texi $(srcdir)/md.texi $(srcdir)/rtl.texi \
+ $(srcdir)/tm.texi $(srcdir)/gcov.texi
+ TEXINPUTS=${texidir}:$(srcdir):$$TEXINPUTS tex usegcc.texi
+ texindex usegcc.??
+ TEXINPUTS=${texidir}:$(srcdir):$$TEXINPUTS tex usegcc.texi
+
+portgcc.dvi: portgcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
+ $(srcdir)/invoke.texi $(srcdir)/md.texi $(srcdir)/rtl.texi \
+ $(srcdir)/tm.texi $(srcdir)/gcov.texi
+ TEXINPUTS=${texidir}:$(srcdir):$$TEXINPUTS tex portgcc.texi
+ texindex portgcc.??
+ TEXINPUTS=${texidir}:$(srcdir):$$TEXINPUTS tex portgcc.texi
+
cpp.dvi: $(srcdir)/cpp.texi
TEXINPUTS=${texidir}:$(srcdir):$$TEXINPUTS tex cpp.texi
texindex cpp.??
@@ -2238,6 +2276,7 @@
clean: mostlyclean $(INTL_CLEAN) lang.clean
-rm -f libgcc.a libgcc_s$(SHLIB_EXT)
-rm -rf libgcc
+ -rm -f usegcc.texi portgcc.texi
-rm -f *.dvi
-rm -f */*.dvi
# Delete the include directory.
@@ -2479,18 +2518,24 @@
# $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
# to do the install.
install-info: doc installdirs lang.install-info
- -rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
- for f in cpp.info* gcc.info*; do \
+ -for i in cpp.info $(gcc_info_manuals); do \
+ rm -f $(infodir)/$$i*; \
+ done
+ for i in cpp.info $(gcc_info_manuals); do \
+ for f in $$i*; do \
$(INSTALL_DATA) $$f $(infodir)/$$f; \
+ done; \
done
-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_manuals); do \
install-info --dir-file=$(infodir)/dir $(infodir)/$$f; \
done; \
else true; fi; \
else true; fi;
- -chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*
+ -for i in cpp.info $(gcc_info_manuals); do \
+ chmod a-x $(infodir)/$$i*; \
+ done
# Install the man pages.
install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cpp.1 $(srcdir)/gcov.1 lang.install-man
@@ -2619,7 +2664,9 @@
-rm -rf $(man1dir)/cpp$(manext)
-rm -rf $(man1dir)/protoize$(manext)
-rm -rf $(man1dir)/unprotoize$(manext)
- -rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
+ -for i in cpp.info $(gcc_info_manuals); do \
+ rm -f $(infodir)/$$i*; \
+ done
#
# These targets are for the dejagnu testsuites. The file site.exp
# contains global variables that all the testsuites will use.
--- gcc/configure.in~ Sun Nov 26 16:15:04 2000
+++ gcc/configure.in Tue Nov 28 23:03:46 2000
@@ -854,6 +854,20 @@
[ --enable-nls use Native Language Support (default)],
, enable_nls=yes)
+# Enable combined gcc manual by default
+AC_ARG_WITH(splitted-gcc-manual,
+[ --with-splitted-gcc-manual build separate gcc manuals (using & porting)])
+
+if test x"$with_splitted_gcc_manual" = xyes; then
+ gcc_info_manuals="usegcc.info portgcc.info"
+ gcc_dvi_manuals="usegcc.dvi portgcc.dvi"
+else
+ gcc_info_manuals=gcc.info
+ gcc_dvi_manuals=gcc.dvi
+fi
+AC_SUBST(gcc_info_manuals)
+AC_SUBST(gcc_dvi_manuals)
+
# if cross compiling, disable NLS support.
# It's not worth the trouble, at least for now.
--- gcc/install.texi~ Mon Oct 23 05:37:12 2000
+++ gcc/install.texi Tue Nov 28 23:15:09 2000
@@ -302,6 +302,13 @@
@code{gettext} library. The @samp{--with-catgets} option causes the
build procedure to use the host's @code{catgets} in this situation.
+@cindex @code{splitted gcc manual}
+@item --with-splitted-gcc-manual
+The @samp{--with-splitted-gcc-manual} option builds and installs instead
+of the manual ``Using and Porting the GNU Compiler Collection'' the two
+manuals ``Using the GNU Compiler Collection'' and ``Porting the GNU Compiler
+Collection''. This is off by default.
+
@cindex @code{maintainer-mode}
@item --enable-maintainer-mode
The build rules that regenerate the GCC master message catalog