From ce5c1cf3100417ef1c66e3c0caafc3b95e28848c Mon Sep 17 00:00:00 2001 From: Kelley Cook Date: Fri, 6 Feb 2004 01:14:32 +0000 Subject: [PATCH] install.texi: Update automake and autoconf version requirements. 2004-02-05 Kelley Cook * doc/install.texi: Update automake and autoconf version requirements. Note where to find gcj automake version. 2004-02-05 Kelley Cook * Makefile.in (generate-manpages): Move dependencies to ... (man): here. * doc/makefile.texi: Document new targets. * doc/sourcebuild.texi (Make-lang.in): Document new langhooks. From-SVN: r77365 --- gcc/ChangeLog | 12 ++++++++++++ gcc/Makefile.in | 4 +++- gcc/doc/install.texi | 23 ++++++++++++++++------- gcc/doc/makefile.texi | 24 +++++++++++++++++++++--- gcc/doc/sourcebuild.texi | 22 ++++++++++++++++------ 5 files changed, 68 insertions(+), 17 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5377d7c..1651cb0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,17 @@ 2004-02-05 Kelley Cook + * doc/install.texi: Update automake and autoconf version + requirements. Note where to find gcj automake version. + +2004-02-05 Kelley Cook + + * Makefile.in (generate-manpages): Move dependencies to ... + (man): here. + * doc/makefile.texi: Document new targets. + * doc/sourcebuild.texi (Make-lang.in): Document new langhooks. + +2004-02-05 Kelley Cook + PR/13485 Makefile.in (srcextra): Add a level of indirection to ... (gcc.srcextra): ... here. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 430483c..8b94fc4 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -2687,7 +2687,9 @@ doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES) MANFILES = doc/gcov.1 doc/cpp.1 doc/gcc.1 doc/gfdl.7 doc/gpl.7 doc/fsf-funding.7 -generated-manpages: $(MANFILES) lang.man @GENINSRC@ srcman lang.srcman +generated-manpages: man + +man: $(MANFILES) lang.man @GENINSRC@ srcman lang.srcman srcman: $(MANFILES) -cp -p $^ $(srcdir)/doc diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 89b17f5..7486cd2 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -293,15 +293,24 @@ systems' @command{tar} programs will also work, only try GNU Necessary when modifying @file{configure.in}, @file{aclocal.m4}, etc.@: to regenerate @file{configure} and @file{config.in} files. Most directories require autoconf 2.13 (exactly), but @file{libiberty}, -@file{fastjar}, @file{libstdc++-v3}, and @file{gcc} require -autoconf 2.57 (exactly). +@file{fastjar}, @file{libstdc++-v3}, @file{libjava/libltdl}, and @file{gcc} +require autoconf 2.57 (exactly). -@item automake versions 1.4-p? and 1.7.? +@item automake versions 1.4-gcj and 1.7.9 Necessary when modifying a @file{Makefile.am} file to regenerate its -associated @file{Makefile.in}. Most directories require a 1.4 series -automake; @file{libstdc++-v3} and @file{fastjar} requires a 1.7 series -automake. +associated @file{Makefile.in}. + +Much of GCC does not use automake, so directly edit the @file{Makefile.in} +file. Specifically this applies to the @file{gcc}, @file{intl}, +@file{libf2c}, @file{libiberty}, @file{libobjc} directories as well as any +of their subdirectories. + +The @file{libstdc++-v3}, @file{libjava/libltdl}, and @file{fastjar} +directories require automake 1.7.9. However, the Java directories, which +include @file{boehm-gc}, @file{libffi}, @file{libjava}, and @file{zlib}, +require a modified version of automake 1.4 downloadable from +@uref{ftp://gcc.gnu.org/pub/java/automake-gcj-1.4.tar.gz}. @item gettext version 0.12 (or later) @@ -327,7 +336,7 @@ Necessary to regenerate @file{fixinc/fixincl.x} from Necessary to run the @file{fixinc} @command{make check}. -Necessary to regenerate the top level @file{Makefile.am} files from +Necessary to regenerate the top level @file{Makefile.in} file from @file{Makefile.tpl} and @file{Makefile.def}. @item GNU Bison version 1.28 (or later) diff --git a/gcc/doc/makefile.texi b/gcc/doc/makefile.texi index 1995e58..d39baa5 100644 --- a/gcc/doc/makefile.texi +++ b/gcc/doc/makefile.texi @@ -13,9 +13,17 @@ This is the default target. Depending on what your build/host/target configuration is, it coordinates all the things that need to be built. @item doc -Produce info-formatted documentation. Also, @samp{make dvi} is -available for DVI-formatted documentation, and @samp{make -generated-manpages} to generate man pages. +Produce info-formatted documentation and man pages. Essentially it +calls @samp{make man} and @samp{make info}. + +@item dvi +Produce DVI-formatted documentation. + +@item man +Generate man pages. + +@item info +Generate info-formatted pages. @item mostlyclean Delete the files made while building the compiler. @@ -31,6 +39,16 @@ Distclean plus any file that can be generated from other files. Note that additional tools may be required beyond what is normally needed to build gcc. +@item srcextra +Generates files in the source directory that do not exist in CVS but +should go into a release tarball. One example is @file{gcc/c-parse.c} +which is generated from the CVS source file @file{gcc/c-parse.in}. + +@item srcinfo +@itemx srcman +Copies the info-formatted and manpage documentation into the source +directory usually for the purpose of generating a release tarball. + @item install Installs gcc. diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 8d08827..908dd67 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -565,23 +565,21 @@ FIXME: exactly what goes in each of these targets? Build an @command{etags} @file{TAGS} file in the language subdirectory in the source tree. @item info -Build info documentation for the front end, in the source directory. +Build info documentation for the front end, in the build directory. This target is only called by @samp{make bootstrap} if a suitable version of @command{makeinfo} is available, so does not need to check -for this, and should fail if an error occurs. This hook is a -double-colon hook. +for this, and should fail if an error occurs. @item dvi Build DVI documentation for the front end, in the build directory. This should be done using @code{$(TEXI2DVI)}, with appropriate @option{-I} arguments pointing to directories of included files. This hook is a double-colon hook. -@item generated-manpages +@item man Build generated man pages for the front end from Texinfo manuals -(@pxref{Man Page Generation}), in the source directory. This target +(@pxref{Man Page Generation}), in the build directory. This target is only called if the necessary tools are available, but should ignore errors so as not to stop the build if errors occur; man pages are optional and the tools involved may be installed in a broken way. -This hook is a double-colon hook. @item install-normal FIXME: what is this target for? @item install-common @@ -595,6 +593,18 @@ that should be installed. This hook is a double-colon hook. @item install-man Install man pages for the front end. This target should ignore errors. +@item srcextra +Copies its dependencies into the source directory. This generally should +be used for generated files such as @file{gcc/c-parse.c} which are not +present in CVS, but should be included in any release tarballs. This +target will be executed during a bootstrap if +@samp{--enable-generated-files-in-srcdir} was specified as a +@file{configure} option. +@item srcinfo +@itemx srcman +Copies its dependencies into the source directory. These targets will be +executed during a bootstrap if @samp{--enable-generated-files-in-srcdir} +was specified as a @file{configure} option. @item uninstall Uninstall files installed by installing the compiler. This is currently documented not to be supported, so the hook need not do -- 2.7.4