[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-2036
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-2036-g9b81d15 |
Date: |
Wed, 29 Feb 2012 18:53:54 +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=9b81d15f529aa5a67455d5e56f8e562540f4dba8
The branch, master has been updated
via 9b81d15f529aa5a67455d5e56f8e562540f4dba8 (commit)
via 51f61dfb1e861062aaa1d73fab71278c85fe0594 (commit)
via 7d335efe6f874af817c2f29ef85a803d8db8a43a (commit)
from 7828edbe2c2a4a7952d0a4932979eb193c724b14 (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 9b81d15f529aa5a67455d5e56f8e562540f4dba8
Merge: 7828edb 51f61df
Author: Stefano Lattarini <address@hidden>
Date: Wed Feb 29 19:50:18 2012 +0100
Merge branch 'maint'
* maint:
vala: fix 'valac' calls for projects with mixed Vala/C
vala: expose automake bug#10894
commit 51f61dfb1e861062aaa1d73fab71278c85fe0594
Author: Stefano Lattarini <address@hidden>
Date: Mon Feb 27 21:48:03 2012 +0100
vala: fix 'valac' calls for projects with mixed Vala/C
Fixes automake bug#10894.
* automake.in (lang_vala_finish_target): Strip non-vala files
from the dependencies of vala stamps, and from the invocation
of valac compiler. Related refactorings.
* tests/Makefile.am (XFAIL_TESTS): Remove 'vala-mix2.test'.
commit 7d335efe6f874af817c2f29ef85a803d8db8a43a
Author: Stefano Lattarini <address@hidden>
Date: Mon Feb 27 21:16:22 2012 +0100
vala: expose automake bug#10894
* tests/vala-mix2.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
* THANKS: Update.
-----------------------------------------------------------------------
Summary of changes:
THANKS | 1 +
automake.in | 27 +++++-----
tests/list-of-tests.mk | 1 +
tests/{vala-mix.test => vala-mix2.test} | 82 ++++++++++++++++--------------
4 files changed, 59 insertions(+), 52 deletions(-)
copy tests/{vala-mix.test => vala-mix2.test} (62%)
diff --git a/THANKS b/THANKS
index 9d3c32c..d6080e3 100644
--- a/THANKS
+++ b/THANKS
@@ -299,6 +299,7 @@ Phil Nelson address@hidden
Philip Fong address@hidden
Philip S Tellis address@hidden
ÐÑÑ
алÑÑкий ЮÑий ÐндÑÐµÐµÐ²Ð¸Ñ address@hidden
+Quentin Glidic address@hidden
Rainer Orth address@hidden
Rafael Laboissiere address@hidden
Rainer Tammer address@hidden
diff --git a/automake.in b/automake.in
index 8530d6a..8ea1587 100644
--- a/automake.in
+++ b/automake.in
@@ -5816,20 +5816,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
@@ -5879,7 +5878,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
@@ -5887,7 +5886,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 28a6b2a..b36d76c 100644
--- a/tests/list-of-tests.mk
+++ b/tests/list-of-tests.mk
@@ -1158,6 +1158,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 62%
copy from tests/vala-mix.test
copy to tests/vala-mix2.test
index acf47d9..88d2818 100755
--- a/tests/vala-mix.test
+++ b/tests/vala-mix2.test
@@ -14,38 +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
-cat >> configure.ac <<'END'
+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
-END
-
-if cross_compiling; then :; else
- unindent >> Makefile.am <<'END'
- check-local:
- ./zardoz
- ./mu
- ./zardoz | grep "foo is alive"
- ./mu | grep "Howdy, World!"
+zardoz_SOURCES = zardoz.vala foo.h bar.c baz.c zen.hh master.cxx
END
-fi
-cat > foo.vala <<'END'
+cat > zardoz.vala <<'END'
int main ()
{
stdout.printf ("foo is alive\n");
@@ -53,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
@@ -80,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
@@ -98,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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-2036-g9b81d15,
Stefano Lattarini <=