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]

building splitted gcc manual (errors in md.texi)


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

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