automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.12.1-16


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.12.1-166-gf99ee76
Date: Sat, 30 Jun 2012 15:57:15 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=f99ee7616ced4d07684a30a67b72e46aba00c65f

The branch, master has been updated
       via  f99ee7616ced4d07684a30a67b72e46aba00c65f (commit)
       via  498492fdb4dd7db6a0d3aa631c350a57da3d2ab5 (commit)
      from  e2f007f0c78e011c5fab60bfad332f6aad0989f1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f99ee7616ced4d07684a30a67b72e46aba00c65f
Author: Jim Meyering <address@hidden>
Date:   Sat Jun 30 13:53:37 2012 +0200

    texi: clean after Texinfo manuals in $(SUBDIRS) directories correctly
    
    Fixes the regression exposed by previous commit 'v1.12.1-165-g498492f'.
    
    * automake.in (handle_texinfo_helper): Add $infobase.{t2d,t2p}
    to @mostly_cleans, but *without* the '$relative_dir/' prefix.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 498492fdb4dd7db6a0d3aa631c350a57da3d2ab5
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 30 16:37:06 2012 +0200

    coverage: regression in texinfo "make mostlyclean" with $(SUBDIRS)
    
    After commit v1.12.1-91-g205c757 of 2012-06-20, "texi: require
    Texinfo >= 4.9, related enhancements", the presence of a Texinfo manual
    'manual.texi' in a subdir (say 'doc/') of a package using a recursive
    make setup would cause "make distcheck" to fail, due to the presence of
    the 'manual.t2d/' directory created by texi2dvi.  That directory would
    not be correctly removed because the 'mostlyclean' rule would run, from
    within the 'doc/' sub-directory, "rm -rf doc/manual.t2d", instead of
    the expected (and correct) "rm -rf manual.t2d".
    
    Reported by Jim Meyering:
    <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00203.html>
    
    * t/txinfo21.sh: Enhance to expose the issue.
    * t/txinfo-no-clutter.sh: Likewise, and other miscellaneous improvements.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 automake.in            |    4 +-
 t/txinfo-no-clutter.sh |   88 ++++++++++++++++++++++++++++++++++++------------
 t/txinfo21.sh          |   17 ++++++++-
 3 files changed, 83 insertions(+), 26 deletions(-)

diff --git a/automake.in b/automake.in
index 11e750d..be77870 100644
--- a/automake.in
+++ b/automake.in
@@ -3166,8 +3166,8 @@ sub handle_texinfo_helper ($)
        or next;
       # Directory of auxiliary files and build by-products used by texi2dvi
       # and texi2pdf.
-      push @mostly_cleans, "$relative_dir/$infobase.t2d";
-      push @mostly_cleans, "$relative_dir/$infobase.t2p";
+      push @mostly_cleans, "$infobase.t2d";
+      push @mostly_cleans, "$infobase.t2p";
 
       # If the Texinfo source is in a subdirectory, create the
       # resulting info in this subdirectory.  If it is in the current
diff --git a/t/txinfo-no-clutter.sh b/t/txinfo-no-clutter.sh
index 3dc1a29..558f8e1 100755
--- a/t/txinfo-no-clutter.sh
+++ b/t/txinfo-no-clutter.sh
@@ -14,19 +14,28 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# The pdf, ps and dvi targets shouldn't let clutter in the build directory.
-# Related to automake bug#11146.
+# The info, html, pdf, ps and dvi targets shouldn't let clutter in the
+# build directory.  Related to automake bug#11146.
 
 required='makeinfo tex texi2dvi dvips'
 . ./defs || exit 1
 
-mkdir sub
-
-echo AC_OUTPUT >> configure.ac
+cat >> configure.ac <<'END'
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
 
 cat > Makefile.am << 'END'
-all-local: ps pdf dvi html
-info_TEXINFOS = foo.texi sub/bar.texi
+all-local: ps pdf dvi html # For "make distcheck".
+info_TEXINFOS = foo.texi doc/bar.texi baz.texi
+SUBDIRS = sub
+END
+
+mkdir sub doc
+
+cat > sub/Makefile.am << 'END'
+all-local: ps pdf dvi html # For "make distcheck".
+info_TEXINFOS = baz.texi
 END
 
 cat > foo.texi << 'END'
@@ -39,7 +48,7 @@ Hello walls.
 @bye
 END
 
-cat > sub/bar.texi << 'END'
+cat > doc/bar.texi << 'END'
 \input texinfo
 @setfilename bar.info
 @settitle bar
@@ -53,15 +62,6 @@ cat > baz.texi << 'END'
 \input texinfo
 @setfilename baz.info
 @settitle baz
address@hidden Top
-Hello walls.
address@hidden
-END
-
-cat > baz.texi << 'END'
-\input texinfo
address@hidden baz.info
address@hidden baz
 @defindex au
 @defindex sa
 @defindex sb
@@ -81,6 +81,8 @@ sb
 @bye
 END
 
+cp baz.texi sub
+
 $ACLOCAL
 $AUTOMAKE --add-missing
 $AUTOCONF
@@ -91,11 +93,53 @@ $AUTOCONF
 # clean up potential cruft left by earlier ones.
 for fmt in info pdf ps dvi html all; do
   $MAKE $fmt
-  ls -l . sub # For debugging.
-  ls -d foo* baz* sub/bar* > lst
-  $EGREP -v '^(foo|sub/bar|baz)\.(texi|dvi|ps|pdf|html|info|t2[dp])$' \
-    lst && exit 1
-  $MAKE clean
+  # For debugging.
+  ls -l . doc sub
+  # Sanity check.
+  case $fmt in
+    html)
+      test -e foo.html
+      test -e doc/bar.html
+      test -e baz.html
+      test -e sub/baz.html
+      ;;
+    all)
+      for x in info pdf ps dvi; do
+        test -f foo.$x
+        test -f doc/bar.$x
+        test -f baz.$x
+        test -f sub/baz.$x
+      done
+      test -e foo.html
+      test -e doc/bar.html
+      test -e baz.html
+      test -e sub/baz.html
+      ;;
+    *)
+      test -f foo.$fmt
+      test -f doc/bar.$fmt
+      test -f baz.$fmt
+      test -f sub/baz.$fmt
+      ;;
+  esac
+  # Real test.
+  ls -d foo* baz* sub/baz* doc/bar* > lst
+  basename_rx='(foo|doc/bar|baz|sub/baz)'
+  case $fmt in
+    pdf) extension_rx="(texi|pdf|t2p)";;
+    dvi) extension_rx="(texi|dvi|t2d)";;
+     ps) extension_rx="(texi|ps|dvi|t2d)";;
+   info) extension_rx="(texi|info)";;
+   html) extension_rx="(texi|html)";;
+    all) extension_rx="(texi|html|info|pdf|ps|dvi|t2[pd])";;
+      *) fatal_ "unreachable code reached";;
+  esac
+  $EGREP -v "^$basename_rx\.$extension_rx$" lst && exit 1
+  # Cleanup for checks on the next format.
+  case $fmt in
+    info) rm -f *.info doc/*.info sub/*.info;;
+       *) $MAKE clean;;
+  esac
 done
 
 $MAKE distcheck
diff --git a/t/txinfo21.sh b/t/txinfo21.sh
index 52474ad..b6c222f 100755
--- a/t/txinfo21.sh
+++ b/t/txinfo21.sh
@@ -34,6 +34,7 @@ AC_OUTPUT
 EOF
 
 cat > Makefile.am << 'END'
+check-local: ps pdf dvi html # For "make distcheck".
 SUBDIRS = rec
 info_TEXINFOS = main.texi sub/main2.texi
 END
@@ -75,13 +76,15 @@ install-pdf-local:
        :> "$(pdfdir)/hello"
 uninstall-local:
        rm -f "$(pdfdir)/hello"
+
+check-local: ps pdf dvi html # For "make distcheck".
 END
 
 $ACLOCAL
 $AUTOMAKE --add-missing
 $AUTOCONF
 
-./configure
+./configure --prefix "$(pwd)"
 
 $MAKE
 
@@ -115,17 +118,20 @@ test ! -e sub/main2.html
 test ! -e rec/main3.html
 
 # Make sure AM_MAKEINFOHTMLFLAGS is supported, and override AM_MAKEINFO.
+
+cp Makefile.am Makefile.sav
 cat >>Makefile.am <<\EOF
 AM_MAKEINFOHTMLFLAGS = --no-headers --no-split
 AM_MAKEINFOFLAGS = --unsupported-option
 EOF
 $AUTOMAKE
-./configure --prefix "$(pwd)"
+./config.status Makefile
 
 $MAKE html
 test -f main.html
 test -f sub/main2.html
 test -d rec/main3.html
+
 $MAKE clean
 test ! -e main.html
 test ! -e sub/main2.html
@@ -174,4 +180,11 @@ test ! -e share/$me/pdf/main2.pdf
 test ! -e share/$me/pdf/main3.pdf
 test ! -e share/$me/pdf/hello
 
+# Restore the makefile without a broken AM_MAKEINFOFLAGS definition.
+mv -f Makefile.sav Makefile.am
+$AUTOMAKE
+./config.status Makefile
+
+$MAKE distcheck
+
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]