diff --git a/bin/automake.in b/bin/automake.in index 3abee49..046848b 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -704,7 +704,7 @@ register_language ('name' => 'vala', 'compile' => '$(VALAC) $(AM_VALAFLAGS) $(VALAFLAGS)', 'ccer' => 'VALAC', 'compiler' => 'VALACOMPILE', - 'extensions' => ['.vala', '.vapi'], + 'extensions' => ['.vala', '.gs', '.vapi'], # Vala compilation must be handled in a special way, so # nothing to do or return here. 'output_extensions' => sub { }, @@ -5361,6 +5361,7 @@ sub lang_vala_rewrite { my ($directory, $base, $ext) = @_; $ext =~ s/vala$/c/; + $ext =~ s/gs$/c/; return $ext; } @@ -5395,7 +5396,7 @@ sub lang_vala_finish_target my $var = var "${derived}_SOURCES"; return unless $var; - my @vala_sources = grep { /\.(vala|vapi)$/ } ($var->value_as_list_recursive); + my @vala_sources = grep { /\.(vala|vapi|gs)$/ } ($var->value_as_list_recursive); # For automake bug#11229. return unless @vala_sources; @@ -5403,7 +5404,7 @@ sub lang_vala_finish_target foreach my $vala_file (@vala_sources) { my $c_file = $vala_file; - if ($c_file =~ s/(.*)\.vala$/$1.c/) + if ($c_file =~ s/(.*)\.vala$/$1.c/ or $c_file =~ s/(.*)\.gs$/$1.c/) { $c_file = "\$(srcdir)/$c_file"; $output_rules .= "$c_file: \$(srcdir)/${derived}_vala.stamp\n" diff --git a/t/vala-grepping.sh b/t/vala-grepping.sh index dc84b3c..a84ae8c 100644 --- a/t/vala-grepping.sh +++ b/t/vala-grepping.sh @@ -42,14 +42,14 @@ zardoz_SOURCES = zardoz.vala zardoz_VALAFLAGS = --debug lib_LTLIBRARIES = libzardoz.la -libzardoz_la_SOURCES = zardoz-foo.vala zardoz-bar.vala +libzardoz_la_SOURCES = zardoz-foo.vala zardoz-bar.gs END mkdir sub cat > sub/Makefile.am <<'END' bin_PROGRAMS = foo -foo_SOURCES = bar.vala baz.vala mu.c zap.cxx +foo_SOURCES = bar.vala baz.gs mu.c zap.cxx END : > ltmain.sh diff --git a/t/vala-mix.sh b/t/vala-mix.sh index 7786108..98a764d 100644 --- a/t/vala-mix.sh +++ b/t/vala-mix.sh @@ -31,7 +31,7 @@ bin_PROGRAMS = zardoz mu baz AM_CFLAGS = $(GOBJECT_CFLAGS) LDADD = $(GOBJECT_LIBS) zardoz_SOURCES = foo.vala bar.c -mu_SOURCES = 1.vala 2.c +mu_SOURCES = 1.vala 2.c 3.gs mu_VALAFLAGS = --main=run mu_CFLAGS = -DHAVE_MU $(AM_CFLAGS) baz_SOURCES = baz.c @@ -74,6 +74,12 @@ chocke me #endif END +cat > 3.gs <<'END' +[indent=4] +def stop(): void + stdout.printf ("Goodbye World!\n"); +END + # For automake bug#11229. cat > baz.c <<'END' int main (void) @@ -98,6 +104,7 @@ have_generated_files () test -f zardoz_vala.stamp test -f foo.c test -f 1.c + test -f 3.c } # Our vala-related rules must create stamp files and intermediate diff --git a/t/vala-parallel.sh b/t/vala-parallel.sh index 079bd95..7a98b9f 100644 --- a/t/vala-parallel.sh +++ b/t/vala-parallel.sh @@ -31,7 +31,7 @@ cat > Makefile.am <<'END' bin_PROGRAMS = zardoz AM_CFLAGS = $(GOBJECT_CFLAGS) LDADD = $(GOBJECT_LIBS) -zardoz_SOURCES = main.vala 1.vala 2.vala 3.vala 4.vala 5.vala 6.vala +zardoz_SOURCES = main.vala 1.vala 2.vala 3.vala 4.vala 5.vala 6.vala 7.gs END echo 'int main () {' > main.vala @@ -39,6 +39,10 @@ for i in 1 2 3 4 5 6; do echo "void foo$i () { stdout.printf (\"ok $i\\n\"); }" > $i.vala echo "foo$i ();" >> main.vala done +echo "[indent=4]" > 7.gs +echo "def foo7():void" >> 7.gs +echo " stdout.printf (\"ok 7\\n\")" >> 7.gs +echo "foo7 ();" >> main.vala echo 'return 0; }' >> main.vala cat main.vala # For debugging. @@ -51,12 +55,12 @@ $AUTOCONF $MAKE -j3 ls -l # For debugging. -for x in main 1 2 3 4 5 6; do test -f $x.c; done +for x in main 1 2 3 4 5 6 7; do test -f $x.c; done test -f zardoz_vala.stamp $MAKE maintainer-clean -j4 ls -l # For debugging. -for x in main 1 2 3 4 5 6; do test ! -e $x.c; done +for x in main 1 2 3 4 5 6 7; do test ! -e $x.c; done test ! -e zardoz_vala.stamp mkdir build @@ -64,13 +68,13 @@ cd build ../configure $MAKE -j6 ls -l . .. # For debugging. -for x in main 1 2 3 4 5 6; do test -f ../$x.c; done +for x in main 1 2 3 4 5 6 7; do test -f ../$x.c; done test -f ../zardoz_vala.stamp $MAKE distcheck -j4 $MAKE maintainer-clean -j2 -for x in main 1 2 3 4 5 6; do test ! -e ../$x.c; done +for x in main 1 2 3 4 5 6 7; do test ! -e ../$x.c; done test ! -e ../zardoz_vala.stamp : diff --git a/t/vala-vpath.sh b/t/vala-vpath.sh index fdb802f..eb59fe1 100644 --- a/t/vala-vpath.sh +++ b/t/vala-vpath.sh @@ -34,7 +34,7 @@ AM_CFLAGS = $(GOBJECT_CFLAGS) LDADD = $(GOBJECT_LIBS) foo_SOURCES = hello.vala bar_VALAFLAGS = -H zardoz.h -bar_SOURCES = goodbye.vala +bar_SOURCES = goodbye.gs END cat > hello.vala <<'END' @@ -43,7 +43,13 @@ void main () stdout.printf ("foofoofoo\n"); } END -cp hello.vala goodbye.vala + +cat > goodbye.gs <<'END' +[indent=2] +init + stdout.printf ("foofoofoo\n") + +END $ACLOCAL $AUTOCONF