From: Stefano Lattarini Date: Mon, 10 Dec 2012 11:58:19 +0000 (+0100) Subject: Merge branch 'master' into ng/master X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b961cbe94687ca585199e4a594cbdcb321426a39;p=thirdparty%2Fautomake.git Merge branch 'master' into ng/master * master: docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc maintcheck: prefer '$(am__cd)' over plain 'cd' fetch: improve, and reduce code duplication docs: add rule to generate manuals for www.gnu.org docs: copy the 'gendocs.sh' script from Texinfo CVS repository sync: update files from upstream with "make fetch" release: generate a stub for the release announcement release: distinguish major and minor releases tests: avoid two spurious failures on FreeBSD + Extra non-trivial changes: * Makefile.am (clean_texinfo_clutter_cmd, clean-web-manuals): Simply use "cd" rather than "$(am__cd)". Signed-off-by: Stefano Lattarini --- b961cbe94687ca585199e4a594cbdcb321426a39 diff --cc .gitignore index 0c80ef7c9,b800a68d7..e3870367d --- a/.gitignore +++ b/.gitignore @@@ -1,4 -1,4 +1,5 @@@ +/lib/am-ng + /announcement /ChangeLog /aclocal.m4 /configure diff --cc Makefile.am index 6b2df5d66,8e762b197..4edf9f377 --- a/Makefile.am +++ b/Makefile.am @@@ -869,53 -956,83 +928,83 @@@ CLEANFILES += announcemen ## Synchronize third-party files that are committed in our repository. ## ## --------------------------------------------------------------------- ## - ## Program to use to fetch files. + # Program to use to fetch files. WGET = wget - WGET_SV_CVS = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/ - WGET_SV_GIT_CF = $(WGET) 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;hb=HEAD;f=' - WGET_SV_GIT_AC = $(WGET) 'http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=blob_plain;hb=HEAD;f=' - WGET_SV_GIT_GL = $(WGET) 'http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;hb=HEAD;f=' - ## Files that we fetch and which we compare against. - ## The 'lib/COPYING' file must still be synced by hand. + # Some repositories we sync files from. + SV_CVS = 'http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/' + SV_GIT_CF = 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;hb=HEAD;f=' + SV_GIT_AC = 'http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=blob_plain;hb=HEAD;f=' + SV_GIT_GL = 'http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;hb=HEAD;f=' + + # Files that we fetch and which we compare against. + # Note that the 'lib/COPYING' file must still be synced by hand. FETCHFILES = \ - INSTALL \ - config.guess \ - config.sub \ - gnupload \ - gitlog-to-changelog \ - texinfo.tex \ - update-copyright - - ## Fetch the latest versions of files we care about. + $(SV_GIT_CF)config.guess \ + $(SV_GIT_CF)config.sub \ + $(SV_CVS)texinfo/texinfo/doc/texinfo.tex \ + $(SV_CVS)texinfo/texinfo/util/gendocs.sh \ + $(SV_CVS)texinfo/texinfo/util/gendocs_template \ + $(SV_GIT_GL)build-aux/gitlog-to-changelog \ + $(SV_GIT_GL)build-aux/gnupload \ + $(SV_GIT_GL)build-aux/update-copyright \ + $(SV_GIT_GL)doc/INSTALL + + # Fetch the latest versions of few scripts and files we care about. fetch: - rm -rf Fetchdir > /dev/null 2>&1 - mkdir Fetchdir - ## If a get fails then that is a problem. - (cd Fetchdir && \ - $(WGET_SV_GIT_CF)config.guess -O config.guess && \ - $(WGET_SV_GIT_CF)config.sub -O config.sub && \ - $(WGET_SV_CVS)texinfo/texinfo/doc/texinfo.tex -O texinfo.tex && \ - $(WGET_SV_GIT_GL)doc/INSTALL -O INSTALL && \ - $(WGET_SV_GIT_GL)build-aux/gnupload -O gnupload && \ - $(WGET_SV_GIT_GL)build-aux/update-copyright -O update-copyright && \ - $(WGET_SV_GIT_GL)build-aux/gitlog-to-changelog -O gitlog-to-changelog) - ## Don't exit after test because we want to give as many errors as - ## possible. - @stat=0; for file in $(FETCHFILES); do \ - if diff -u $(srcdir)/lib/$$file Fetchdir/$$file \ - >>Fetchdir/update.patch 2>/dev/null; then :; \ - else \ - stat=1; \ - echo "Updating $(srcdir)/lib/$$file ..."; \ - cp Fetchdir/$$file $(srcdir)/lib/$$file; \ - fi; \ - done; \ - test $$stat = 0 || \ - echo "See Fetchdir/update.patch for a log of the changes."; \ - exit $$stat + $(AM_V_at)rm -rf Fetchdir + $(AM_V_at)mkdir Fetchdir + $(AM_V_GEN)set -e; \ + if $(AM_V_P); then wget_opts=; else wget_opts=-nv; fi; \ + for url in $(FETCHFILES); do \ + file=`printf '%s\n' "$$url" | sed 's|^.*/||; s|^.*=||'`; \ + ## A retrieval failure usually means a serious problem. Just bail out. + $(WGET) $$wget_opts "$$url" -O Fetchdir/$$file || exit 1; \ + if cmp Fetchdir/$$file $(srcdir)/lib/$$file >/dev/null; then \ + : Nothing to do; \ + else \ + echo "$@: updating file $$file"; \ + ## Ditto for a copying failure. + cp Fetchdir/$$file $(srcdir)/lib/$$file || exit 1; \ + fi; \ + done + $(AM_V_at)rm -rf Fetchdir .PHONY: fetch + ## --------------------------------------------------------------------- ## + ## Generate manuals in several formats, for upload on the GNU website. ## + ## --------------------------------------------------------------------- ## + + # The gendocs.sh script sadly leaves TeX and Texinfo auxiliary files + # in the directory where it's invoked. + clean_texinfo_clutter_cmd = \ - $(am__cd) doc && rm -f *.ac *.aux *.cm *.cp *.cps *.fn *.fns *.ky \ - *.log *.op *.pg *.toc *.tp *.tr *.vr *.vrs ++ cd doc && rm -f *.ac *.aux *.cm *.cp *.cps *.fn *.fns *.ky \ ++ *.log *.op *.pg *.toc *.tp *.tr *.vr *.vrs + + clean-web-manuals: + $(AM_V_at)rm -rf doc/web-manuals + clean-texinfo-clutter: + $(AM_V_at)$(clean_texinfo_clutter_cmd) + clean-local: clean-web-manuals clean-texinfo-clutter + .PHONY: clean-web-manuals clean-texinfo-clutter + + web-manuals: + $(AM_V_at)rm -rf doc/web-manuals + $(AM_V_GEN): \ + ## The gendocs.sh script only works from the srcdir, sadly. - && $(am__cd) $(srcdir)/doc \ ++ && cd $(srcdir)/doc \ + && GENDOCS_TEMPLATE_DIR=../lib \ + && export GENDOCS_TEMPLATE_DIR \ + ## Try to respect silent rules. + && if $(AM_V_P); then :; else exec >/dev/null 2>&1; fi \ + ## Finally generate the manual in several formats. + && $(SHELL) ../lib/gendocs.sh -o web-manuals \ + --email $(PACKAGE_BUGREPORT) $(PACKAGE) '$(PACKAGE_NAME)' + $(AM_V_at)$(clean_texinfo_clutter_cmd) + $(AM_V_at)if $(AM_V_P); then ls -l doc/web-manuals; else :; fi + .PHONY: web-manuals + + EXTRA_DIST += lib/gendocs.sh lib/gendocs_template ## ------------------------------------------------ ## ## Update copyright years of all committed files. ## diff --cc doc/automake-ng.texi index c850e3dc7,1c96940f3..8bdfec171 --- a/doc/automake-ng.texi +++ b/doc/automake-ng.texi @@@ -6045,11 -6120,17 +6045,11 @@@ files in the source directory are ignor @code{AM_CPPFLAGS} is ignored in preference to a per-executable (or per-library) @code{_CPPFLAGS} variable if it is defined. -@item INCLUDES -This does the same job as @code{AM_CPPFLAGS} (or any per-target -@code{_CPPFLAGS} variable if it is used). It is an older name for the -same functionality. This variable is deprecated; we suggest using -@code{AM_CPPFLAGS} and per-target @code{_CPPFLAGS} instead. - @item AM_CFLAGS This is the variable the @file{Makefile.am} author can use to pass - in additional C compiler flags. It is more fully documented elsewhere. - In some situations, this is not used, in preference to the - per-executable (or per-library) @code{_CFLAGS}. + in additional C compiler flags. In some situations, this is + not used, in preference to the per-executable (or per-library) + @code{_CFLAGS}. @item COMPILE This is the command used to actually compile a C source file. The