[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.10b-59-
From: |
Ralf Wildenhues |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.10b-59-g0619d40 |
Date: |
Sun, 17 May 2009 08:56: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=0619d4094ad8f5e6d3da97fcc34ff3970b7b0870
The branch, master has been updated
via 0619d4094ad8f5e6d3da97fcc34ff3970b7b0870 (commit)
via 1776fe3959a09838250a69c8a15fd0dd4fcb3504 (commit)
via b9d837379de93389244d75dfbcb6d33ed66d4f9f (commit)
via b629ff7b3ed15c44147ebe87e1afb554f22e83a9 (commit)
from 27f63d48b2cbf9a8a0af1185821929fade57298f (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 0619d4094ad8f5e6d3da97fcc34ff3970b7b0870
Author: Ralf Wildenhues <address@hidden>
Date: Sun May 17 10:26:15 2009 +0200
Vala: for now, require GNU make.
* doc/automake.texi (Vala Support): GNU make is currently
required for Vala sources.
* tests/vala2.test, tests/vala3.test, tests/vala5.test: Require
GNU make.
Signed-off-by: Ralf Wildenhues <address@hidden>
commit 1776fe3959a09838250a69c8a15fd0dd4fcb3504
Author: Jürg Billeter <address@hidden>
Date: Fri May 15 15:51:03 2009 +0200
Vala: Use $(srcdir) in rebuild rules.
valac is always run in srcdir as the generated files are distributed.
So srcdir needs to be taken into account in the rebuild rules to not
wrongly trigger a rebuild in the wrong directory.
* automake.in (lang_vala_finish_target): Rebuild files in
$(srcdir).
* tests/vala2.test: Test rebuild rules from VPATH build.
Signed-off-by: Jürg Billeter <address@hidden>
Signed-off-by: Ralf Wildenhues <address@hidden>
commit b9d837379de93389244d75dfbcb6d33ed66d4f9f
Author: Jürg Billeter <address@hidden>
Date: Fri May 15 15:50:59 2009 +0200
Vala: Add and test rebuild rules for generated header and vapi files.
valac will generate additional files when using, for example, -H in
VALAFLAGS. We need to recognize these options and add appropriate
rebuild rules to fix parallel build.
* automake.in (lang_vala_finish_target): Recognize -H, -h,
--header, --internal-header, --vapi, --internal-api, --gir flags
to valac and rebuild rules for generated headers; distribute
and maintainer-clean them.
* tests/vala2.test: Test rebuild rules.
Signed-off-by: Jürg Billeter <address@hidden>
Signed-off-by: Ralf Wildenhues <address@hidden>
commit b629ff7b3ed15c44147ebe87e1afb554f22e83a9
Author: Jürg Billeter <address@hidden>
Date: Sun May 17 10:14:13 2009 +0200
Vala: Fix build when using per-target VALAFLAGS.
This does not yet implement full per-target support for VALAFLAGS,
however, this change at least fixes building when there is only one
target per source file, which is the most common situation.
* automake.in: Remove `VALAFLAGS' from `flags' in language struct.
(lang_vala_finish_target): Handle `*_VALAFLAGS rewriting' manually
here; check `VALAFLAGS' user variables.
* tests/Makefile.am (XFAIL_TESTS): Remove vala5.test.
* doc/automake.texi (Vala Support): Document per-target flag
limitations.
Signed-off-by: Jürg Billeter <address@hidden>
Signed-off-by: Ralf Wildenhues <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 42 ++++++++++++++++++++++++++++++++++++++++++
automake.in | 51 +++++++++++++++++++++++++++++++++++++++------------
doc/automake.texi | 7 ++++++-
tests/Makefile.am | 3 +--
tests/Makefile.in | 3 +--
tests/vala2.test | 12 +++++++++++-
tests/vala3.test | 2 +-
tests/vala5.test | 2 +-
8 files changed, 102 insertions(+), 20 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 329879c..7bdeae6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,45 @@
+2009-05-17 Ralf Wildenhues <address@hidden>
+
+ Vala: for now, require GNU make.
+ * doc/automake.texi (Vala Support): GNU make is currently
+ required for Vala sources.
+ * tests/vala2.test, tests/vala3.test, tests/vala5.test: Require
+ GNU make.
+
+2009-05-17 Jürg Billeter <address@hidden>
+
+ Vala: Use $(srcdir) in rebuild rules.
+ valac is always run in srcdir as the generated files are distributed.
+ So srcdir needs to be taken into account in the rebuild rules to not
+ wrongly trigger a rebuild in the wrong directory.
+ * automake.in (lang_vala_finish_target): Rebuild files in
+ $(srcdir).
+ * tests/vala2.test: Test rebuild rules from VPATH build.
+
+ Vala: Add and test rebuild rules for generated header and vapi files.
+ valac will generate additional files when using, for example, -H in
+ VALAFLAGS. We need to recognize these options and add appropriate
+ rebuild rules to fix parallel build.
+ * automake.in (lang_vala_finish_target): Recognize -H, -h,
+ --header, --internal-header, --vapi, --internal-api, --gir flags
+ to valac and rebuild rules for generated headers; distribute
+ and maintainer-clean them.
+ * tests/vala2.test: Test rebuild rules.
+
+2009-05-17 Jürg Billeter <address@hidden>
+ Ralf Wildenhues <address@hidden>
+
+ Vala: Fix build when using per-target VALAFLAGS.
+ This does not yet implement full per-target support for VALAFLAGS,
+ however, this change at least fixes building when there is only one
+ target per source file, which is the most common situation.
+ * automake.in: Remove `VALAFLAGS' from `flags' in language struct.
+ (lang_vala_finish_target): Handle `*_VALAFLAGS rewriting' manually
+ here; check `VALAFLAGS' user variables.
+ * tests/Makefile.am (XFAIL_TESTS): Remove vala5.test.
+ * doc/automake.texi (Vala Support): Document per-target flag
+ limitations.
+
2009-05-11 Ralf Wildenhues <address@hidden>
For PR automake/540:
diff --git a/automake.in b/automake.in
index 20ef3bd..13dd79b 100755
--- a/automake.in
+++ b/automake.in
@@ -815,7 +815,7 @@ register_language ('name' => 'header',
register_language ('name' => 'vala',
'Name' => 'Vala',
'config_vars' => ['VALAC'],
- 'flags' => ['VALAFLAGS'],
+ 'flags' => [],
'compile' => '$(VALAC) $(AM_VALAFLAGS) $(VALAFLAGS)',
'ccer' => 'VALAC',
'compiler' => 'VALACOMPILE',
@@ -5942,26 +5942,53 @@ sub lang_vala_finish_target ($$)
{
foreach my $file ($var->value_as_list_recursive)
{
- $output_rules .= "$file: ${derived}_vala.stamp\n".
+ $output_rules .= "\$(srcdir)/$file:
\$(srcdir)/${derived}_vala.stamp\n".
"address@hidden test -f \$@; then :; else \\\n".
- "\t rm -f ${derived}_vala.stamp; \\\n".
- "\t \$(MAKE) \$(AM_MAKEFLAGS) ${derived}_vala.stamp; \\\n".
+ "\t rm -f \$(srcdir)/${derived}_vala.stamp; \\\n".
+ "\t cd \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS)
${derived}_vala.stamp; \\\n".
"\tfi\n"
if $file =~ s/(.*)\.vala$/$1.c/;
}
}
- my $compile = $self->compile;
-
- # Rewrite each occurrence of `AM_$flag' in the compile
- # rule into `${derived}_$flag' if it exists.
- for my $flag (@{$self->flags})
+ # Add rebuild rules for generated header and vapi files
+ my $flags = var ($derived . '_VALAFLAGS');
+ if ($flags)
{
- my $val = "${derived}_$flag";
- $compile =~ s/\(AM_$flag\)/\($val\)/
- if set_seen ($val);
+ my $lastflag = '';
+ foreach my $flag ($flags->value_as_list_recursive)
+ {
+ if (grep (/$lastflag/, ('-H', '-h', '--header', '--internal-header',
+ '--vapi', '--internal-vapi', '--gir')))
+ {
+ my $headerfile = $flag;
+ $output_rules .= "\$(srcdir)/$headerfile:
\$(srcdir)/${derived}_vala.stamp\n".
+ "address@hidden test -f \$@; then :; else \\\n".
+ "\t rm -f \$(srcdir)/${derived}_vala.stamp; \\\n".
+ "\t cd \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS)
${derived}_vala.stamp; \\\n".
+ "\tfi\n";
+
+ # valac is not used when building from dist tarballs
+ # distribute the generated files
+ push_dist_common ($headerfile);
+ $clean_files{$headerfile} = MAINTAINER_CLEAN;
+ }
+ $lastflag = $flag;
+ }
}
+ my $compile = $self->compile;
+
+ # Rewrite each occurrence of `AM_VALAFLAGS' in the compile
+ # rule into `${derived}_VALAFLAGS' if it exists.
+ my $val = "${derived}_VALAFLAGS";
+ $compile =~ s/\(AM_VALAFLAGS\)/\($val\)/
+ if set_seen ($val);
+
+ # VALAFLAGS is a user variable (per GNU Standards),
+ # it should not be overridden in the Makefile...
+ check_user_variables ['VALAFLAGS'];
+
my $dirname = dirname ($name);
# Only generate C code, do not run C compiler
diff --git a/doc/automake.texi b/doc/automake.texi
index e877942..877e808 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -6611,7 +6611,8 @@ the @code{_LDFLAGS} variable for the program.
Automake provides initial support for Vala
(@uref{http://www.vala-project.org/}).
-This requires valac version 0.7.0 or later.
+This requires valac version 0.7.0 or later, and currently requires
+the user to use GNU @command{make}.
@example
foo_SOURCES = foo.vala bar.vala zardoc.c
@@ -6653,6 +6654,10 @@ libfoo_la_SOURCES = foo.vala
@end example
@end vtable
+Note that currently, you cannot use per-target @code{*_VALAFLAGS}
+(@pxref{Renamed Objects}) to produce different C files from one Vala
+source file.
+
@node Support for Other Languages
@comment node-name, next, previous, up
diff --git a/tests/Makefile.am b/tests/Makefile.am
index afcfda8..d700608 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -4,8 +4,7 @@ XFAIL_TESTS = \
all.test \
auxdir2.test \
cond17.test \
-txinfo5.test \
-vala5.test
+txinfo5.test
include $(srcdir)/parallel-tests.am
diff --git a/tests/Makefile.in b/tests/Makefile.in
index ce8e779..bc77d23 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -229,8 +229,7 @@ XFAIL_TESTS = \
all.test \
auxdir2.test \
cond17.test \
-txinfo5.test \
-vala5.test
+txinfo5.test
parallel_tests = \
check-p.test \
diff --git a/tests/vala2.test b/tests/vala2.test
index a6efba9..1a2e4a5 100755
--- a/tests/vala2.test
+++ b/tests/vala2.test
@@ -21,7 +21,7 @@
# Test to make sure compiling Vala code really works with recursive make.
-required="libtool libtoolize pkg-config valac gcc"
+required="libtool libtoolize pkg-config valac gcc GNUmake"
. ./defs || Exit 1
set -e
@@ -44,6 +44,7 @@ END
cat > 'src/Makefile.am' <<'END'
bin_PROGRAMS = zardoz
+zardoz_VALAFLAGS = -H zardoz.h
zardoz_CFLAGS = $(GOBJECT_CFLAGS)
zardoz_LDADD = $(GOBJECT_LIBS)
zardoz_SOURCES = zardoz.vala
@@ -67,6 +68,11 @@ $AUTOMAKE -a
./configure || Exit 77
$MAKE
+
+# test rebuild rules
+rm src/zardoz.h
+$MAKE -C src zardoz.h
+
$MAKE distcheck
$MAKE distclean
mkdir build
@@ -75,3 +81,7 @@ cd build
$MAKE
$MAKE distcheck
+# test rebuild rules from builddir
+touch ../src/zardoz.vala
+$MAKE
+
diff --git a/tests/vala3.test b/tests/vala3.test
index 7815393..2092cdf 100755
--- a/tests/vala3.test
+++ b/tests/vala3.test
@@ -21,7 +21,7 @@
# Test to make sure compiling Vala code really works with non-recursive make.
-required="libtool libtoolize pkg-config valac gcc"
+required="libtool libtoolize pkg-config valac gcc GNUmake"
. ./defs || Exit 1
set -e
diff --git a/tests/vala5.test b/tests/vala5.test
index 7369186..161fa8d 100755
--- a/tests/vala5.test
+++ b/tests/vala5.test
@@ -21,7 +21,7 @@
# Test per-target flags, expected to fail.
-required="libtool libtoolize pkg-config valac gcc"
+required="libtool libtoolize pkg-config valac gcc GNUmake"
. ./defs || Exit 1
set -e
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.10b-59-g0619d40,
Ralf Wildenhues <=