]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Merge branch 'master' into ng/master
authorStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 15 Jun 2012 13:37:19 +0000 (15:37 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 15 Jun 2012 13:46:27 +0000 (15:46 +0200)
* master:
  automake: stop supporting "%KEY?iftrue:iffalse%" transforms
  am: stop using "%KEY:iffalse?iftrue%" transforms
  tests: minor reorganization of few tests
  fixup: adjust t/list-of-tests.mk for renamed/added tests
  subdirs: enhance coverage, tweak and rename few tests
  sync: update files from upstream with "make fetch"
  py-compile: consistently quote 'like this', not `like this'.
  docs: recursive make considered harmful
  docs: clean rules are not run in reverse order of build rules anymore
  silent: new $(AM_V_P) variable, tell if we're running in silent mode
  refactor: silent rules handling (a little)
  refactor: &define_verbose_var: accept a third optional argument

+ Extra non-trivial edits:

* t/dir-named-obj-is-bad.sh, t/sourcefile-in-subdir.sh: Delete, it's how
the old (and in Automake-NG obsolete and removed) tests 't/subdir3.sh'
and 't/subdir7.sh' have been respectively renamed in mainline Automake.
* t/silent6.sh: Don't disable the 'portability-recursive' warnings, they
are not anymore used nor supported by Automake-NG.
* automake.in: Adjust calls to subroutines '&Automake::Variable::define'
and '&define_variable' to the different Automake-NG APIs and signature.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
1  2 
automake.in
doc/automake-ng.texi
lib/am/data.am
lib/am/lisp.am
lib/am/python.am
lib/am/scripts.am
lib/py-compile
t/depcomp-implicit-auxdir.sh
t/silent6.sh

diff --cc automake.in
index c5912aa05c9a5fc0a9ed9b62851d2617607a7f14,3f869b234df0ffb69db4509e8664bf61dda58394..d01abd196e5fd923655bb4696eef5f454853ee6d
@@@ -1137,15 -1150,20 +1140,17 @@@ sub define_verbose_var ($$;$
      my $var = verbose_var ($name);
      my $pvar = verbose_private_var ($name);
      my $silent_var = $pvar . '_0';
 -    # For typical 'make's, 'configure' replaces AM_V (inside @@) with $(V)
 -    # and AM_DEFAULT_V (inside @@) with $(AM_DEFAULT_VERBOSITY).
 -    # For strict POSIX 2008 'make's, it replaces them with 0 or 1 instead.
 -    # See AM_SILENT_RULES in m4/silent.m4.
 -    define_variable ($var, '$(' . $pvar . '_@'.'AM_V'.'@)', INTERNAL);
 -    define_variable ($pvar . '_', '$(' . $pvar . '_@'.'AM_DEFAULT_V'.'@)',
 -                     INTERNAL);
+     my $verbose_var = $pvar . '_1';
-     if (! vardef ($silent_var, TRUE))
-       {
-         Automake::Variable::define ($silent_var, VAR_AUTOMAKE, '', TRUE,
-                                     $val, '', INTERNAL);
-       }
 +    define_variable ($var, INTERNAL,
 +                     '$(' . $pvar . '_$(V))');
 +    define_variable ($pvar . '_', INTERNAL,
 +                     '$(' . $pvar . '_$(AM_DEFAULT_VERBOSITY))');
 -                                $silent_val, '', INTERNAL, VAR_ASIS)
+     Automake::Variable::define ($silent_var, VAR_AUTOMAKE, '', TRUE,
 -                                $verbose_val, '', INTERNAL, VAR_ASIS)
++                                $silent_val, '', INTERNAL)
+       if (! vardef ($silent_var, TRUE));
+     Automake::Variable::define ($verbose_var, VAR_AUTOMAKE, '', TRUE,
++                                $verbose_val, '', INTERNAL)
+       if (! vardef ($verbose_var, TRUE));
  }
  
  # Above should not be needed in the general automake code.
index 558ad0a529b550f550a7af49a39c4d6144548da2,0ed2bfec0e2bf47112f949d2b71e18576ae1dfa8..d0132104354610f2fcc9fed08ca8bf0dddcc781c
@@@ -10743,9 -10811,26 +10752,10 @@@ at @command{configure} time and at @com
  @vindex @code{AM_V_GEN}
  @vindex @code{AM_V_at}
  @vindex @code{AM_DEFAULT_VERBOSITY}
- To extend the silent mode to your own rules, you have two choices:
 -@vindex @code{AM_V}
 -@vindex @code{AM_DEFAULT_V}
+ To extend the silent mode to your own rules, you have few choices:
  
  @itemize @bullet
  @item
  You can use the predefined variable @code{AM_V_GEN} as a prefix to
  commands that should output a status line in silent mode, and
diff --cc lib/am/data.am
Simple merge
diff --cc lib/am/lisp.am
Simple merge
Simple merge
Simple merge
diff --cc lib/py-compile
Simple merge
Simple merge
diff --cc t/silent6.sh
index a493e3ef0b0a38444926a0e8273d671ed14c2394,c7e7819f1c122f209a98bae91328d41a4877732a..0fc36650968d8f28ea06715b0a887a31bef8df0d
@@@ -22,12 -23,30 +23,29 @@@ AC_CONFIG_FILES([sub/Makefile]
  AC_OUTPUT
  EOF
  
- cat > Makefile.am <<'EOF'
+ # We delegate all the work to the subdir makefile.  This is done
+ # to ensure any command-line setting of $(V) gets correctly passed
+ # down to recursive make invocations.
+ echo SUBDIRS = sub > Makefile.am
+ mkdir sub
+ cat > sub/Makefile.am <<'EOF'
 -AUTOMAKE_OPTIONS = -Wno-portability-recursive
  my_verbose = $(my_verbose_$(V))
  my_verbose_ = $(my_verbose_$(AM_DEFAULT_VERBOSITY))
- my_verbose_0 = @echo GEN $@;
+ my_verbose_0 = @echo " XGEN    $@";
+ all-local: foo gen-headers
  
- all-local: foo
+ list = 0 1 2
+ .PHONY: gen-headers
+ gen-headers:
+       @headers=`for i in $(list); do echo sub/$$i.h; done`; \
+       if $(AM_V_P); then set -x; else \
+         echo " GEN     [headers]"; \
+       fi; \
+       rm -f $$headers || exit 1; \
+ ## Only fake header generation.
+       : generate-header --flags $$headers
  
  foo: foo.in
        $(my_verbose)cp $(srcdir)/foo.in $@