automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-696-g


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-696-g51f61df
Date: Wed, 29 Feb 2012 19:44:02 +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=51f61dfb1e861062aaa1d73fab71278c85fe0594

The branch, maint has been updated
       via  51f61dfb1e861062aaa1d73fab71278c85fe0594 (commit)
       via  7d335efe6f874af817c2f29ef85a803d8db8a43a (commit)
      from  4df475a2d5ee114d1709884ec57698d34c5493cb (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 -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 THANKS                                  |    1 +
 automake.in                             |   27 +++++------
 tests/list-of-tests.mk                  |    1 +
 tests/{vala-mix.test => vala-mix2.test} |   78 ++++++++++++++++---------------
 4 files changed, 56 insertions(+), 51 deletions(-)
 copy tests/{vala-mix.test => vala-mix2.test} (64%)

diff --git a/THANKS b/THANKS
index b512b6b..d54e9d4 100644
--- a/THANKS
+++ b/THANKS
@@ -264,6 +264,7 @@ Olivier Louchart-Fletcher address@hidden
 Olly Betts             address@hidden
 Oren Ben-Kiki          address@hidden
 Owen Taylor            address@hidden
+Quentin Glidic         address@hidden
 Patrick Welche         address@hidden
 Patrik Weiskircher     address@hidden
 Paul Berrevoets                address@hidden
diff --git a/automake.in b/automake.in
index cdbb820..5ae151b 100644
--- a/automake.in
+++ b/automake.in
@@ -6014,20 +6014,19 @@ sub lang_vala_finish_target ($$)
   my ($self, $name) = @_;
 
   my $derived = canonicalize ($name);
-  my $varname = $derived . '_SOURCES';
-  my $var = var ($varname);
+  my $var = var "${derived}_SOURCES";
+  return unless $var;
 
-  if ($var)
+  my @vala_sources = grep { /\.vala$/ } ($var->value_as_list_recursive);
+
+  foreach my $vala_file (@vala_sources)
     {
-      foreach my $file ($var->value_as_list_recursive)
-        {
-          $output_rules .= "\$(srcdir)/$file: 
\$(srcdir)/${derived}_vala.stamp\n"
-            . "address@hidden test -f \$@; then :; else rm -f 
\$(srcdir)/${derived}_vala.stamp; fi\n"
-            . "address@hidden test -f \$@; then :; else \\\n"
-            . "\t  \$(MAKE) \$(AM_MAKEFLAGS) \$(srcdir)/${derived}_vala.stamp; 
\\\n"
-           . "\tfi\n"
-            if $file =~ s/(.*)\.vala$/$1.c/;
-        }
+      (my $c_file = $vala_file) =~ s/(.*)\.vala$/$1.c/;
+      $output_rules .= "\$(srcdir)/$c_file: \$(srcdir)/${derived}_vala.stamp\n"
+        . "address@hidden test -f \$@; then :; else rm -f 
\$(srcdir)/${derived}_vala.stamp; fi\n"
+        . "address@hidden test -f \$@; then :; else \\\n"
+        . "\t  \$(MAKE) \$(AM_MAKEFLAGS) \$(srcdir)/${derived}_vala.stamp; 
\\\n"
+        . "\tfi\n"
     }
 
   # Add rebuild rules for generated header and vapi files
@@ -6077,7 +6076,7 @@ sub lang_vala_finish_target ($$)
   my $silent = silent_flag ();
 
   $output_rules .=
-    "\$(srcdir)/${derived}_vala.stamp: \$(${derived}_SOURCES)\n".
+    "\$(srcdir)/${derived}_vala.stamp: @vala_sources\n".
 # Since the C files generated from the vala sources depend on the
 # ${derived}_vala.stamp file, we must ensure its timestamp is older than
 # those of the C files generated by the valac invocation below (this is
@@ -6085,7 +6084,7 @@ sub lang_vala_finish_target ($$)
 # Thus we need to create the stamp file *before* invoking valac, and to
 # move it to its final location only after valac has been invoked.
     "\t${silent}rm -f \$\@ && echo stamp > address@hidden".
-    "\t${verbose}\$(am__cd) \$(srcdir) && ${compile} \$(${derived}_SOURCES)\n".
+    "\t${verbose}\$(am__cd) \$(srcdir) && $compile @vala_sources\n".
     "\t${silent}mv -f address@hidden address@hidden";
 
   push_dist_common ("${derived}_vala.stamp");
diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk
index bc64d61..2b73de2 100644
--- a/tests/list-of-tests.mk
+++ b/tests/list-of-tests.mk
@@ -885,6 +885,7 @@ vala4.test \
 vala5.test \
 vala-vpath.test \
 vala-mix.test \
+vala-mix2.test \
 vars.test \
 vars3.test \
 vartar.test \
diff --git a/tests/vala-mix.test b/tests/vala-mix2.test
similarity index 64%
copy from tests/vala-mix.test
copy to tests/vala-mix2.test
index 73a07d9..88d2818 100755
--- a/tests/vala-mix.test
+++ b/tests/vala-mix2.test
@@ -14,40 +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/>.
 
-# Vala sources and C sources in the same program.  Functional test.
+# Vala sources, C and C++ sources and C and C++ headers in the same
+# program.  Functional test.  See automake bug#10894.
 
-required='valac cc GNUmake'
+required='valac cc c++ GNUmake'
 . ./defs || Exit 1
 
 set -e
 
 cat >> configure.in <<'END'
 AC_PROG_CC
-AM_PROG_CC_C_O
+AC_PROG_CXX
 AM_PROG_VALAC
 AC_OUTPUT
 END
 
 cat > Makefile.am <<'END'
-bin_PROGRAMS = zardoz mu
+bin_PROGRAMS = zardoz
 AM_VALAFLAGS = --profile=posix
-zardoz_SOURCES = foo.vala bar.c
-mu_SOURCES = 1.vala 2.c
-mu_VALAFLAGS = $(AM_VALAFLAGS) --main=run
-mu_CFLAGS = -DHAVE_MU
+zardoz_SOURCES = zardoz.vala foo.h bar.c baz.c zen.hh master.cxx
 END
 
-if cross_compiling; then :; else
-  unindent >> Makefile.am <<'END'
-    check-local:
-       ./zardoz
-       ./mu
-       ./zardoz | grep "foo is alive"
-       ./mu | grep "Howdy, World!"
-END
-fi
-
-cat > foo.vala <<'END'
+cat > zardoz.vala <<'END'
 int main ()
 {
   stdout.printf ("foo is alive\n");
@@ -55,23 +43,30 @@ int main ()
 }
 END
 
-echo 'extern int i = 0;' > bar.c
+cat > foo.h <<'END'
+int foo;
+int bar (void);
+int baz (void);
+END
 
-cat > 1.vala <<'END'
-int run ()
-{
-  stdout.printf ("Howdy, World!\n");
-  return 0;
-}
+cat > bar.c <<'END'
+#include "foo.h"
+int bar (void) { return foo + baz (); }
 END
 
-cat > 2.c <<'END'
-#ifdef HAVE_MU
-int all_is_ok = 1;
-#else
-#error "HAVE_MU no defined"
-chocke me
-#endif
+cat > baz.c <<'END'
+#include "foo.h"
+extern int foo = 0;
+int baz (void) { return 0; }
+END
+
+cat > zen.hh <<'END'
+#include <iostream>
+END
+
+cat > master.cxx <<'END'
+#include "zen.hh"
+void chatty (void) { std::cout << "Hello, stranger!\n"; }
 END
 
 $ACLOCAL
@@ -82,14 +77,11 @@ $AUTOCONF
 
 $MAKE all
 ls -l # For debugging.
-$MAKE check
 
 have_generated_files ()
 {
-  test -f mu_vala.stamp
   test -f zardoz_vala.stamp
-  test -f foo.c
-  test -f 1.c
+  test -f zardoz.c
 }
 
 # Our vala-related rules must create stamp files and intermediate
@@ -100,12 +92,24 @@ have_generated_files
 $MAKE -q
 $MAKE -n | $FGREP vala.stamp && Exit 1
 
+# But are triggered when they should.
+for file in zardoz.vala foo.h bar.c baz.c zen.hh master.cxx; do
+  $sleep
+  echo '& choke me !' >> $file
+  $MAKE && Exit 1
+  $sleep
+  sed '$d' $file > t
+  mv -f t $file
+  $MAKE
+done
+
 # Check the distribution.
 $MAKE distcheck
 
 # Stamp files and intermediate C files should *not* be removed
 # by "make clean".
 $MAKE clean
+ls -l # For debugging.
 have_generated_files
 
 # But stamp files should be removed by "maintainer-clean" (the


hooks/post-receive
-- 
GNU Automake



reply via email to

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