automake-patches
[Top][All Lists]
Advanced

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

[PATCH 6/6] vala tests: building libraries, and more on '.vapi' files


From: Stefano Lattarini
Subject: [PATCH 6/6] vala tests: building libraries, and more on '.vapi' files
Date: Tue, 17 Apr 2012 10:40:21 +0200

* t/vala1.sh: Remove, turned into ...
* t/vala-libs.sh: ... this functional test instead.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <address@hidden>
---
 t/list-of-tests.mk |    2 +-
 t/vala-libs.sh     |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 t/vala1.sh         |   52 ---------------------------
 3 files changed, 101 insertions(+), 53 deletions(-)
 create mode 100755 t/vala-libs.sh
 delete mode 100755 t/vala1.sh

diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 551a04e..ea77bc1 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -1191,13 +1191,13 @@ t/upc.sh \
 t/upc2.sh \
 t/upc3.sh \
 t/vala.sh \
-t/vala1.sh \
 t/vala2.sh \
 t/vala3.sh \
 t/vala4.sh \
 t/vala5.sh \
 t/vala-vapi.sh \
 t/vala-headers.sh \
+t/vala-libs.sh \
 t/vala-vpath.sh \
 t/vala-mix.sh \
 t/vala-mix2.sh \
diff --git a/t/vala-libs.sh b/t/vala-libs.sh
new file mode 100755
index 0000000..fa1d21b
--- /dev/null
+++ b/t/vala-libs.sh
@@ -0,0 +1,100 @@
+#! /bin/sh
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Building libraries (libtool and static) from Vala sources.
+# And use of vapi files to call C code from Vala.
+
+required="valac cc pkg-config libtoolize GNUmake"
+. ./defs || Exit 1
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AM_PROG_CC_C_O
+AM_PROG_AR
+AC_PROG_RANLIB
+AC_PROG_LIBTOOL
+AM_PROG_VALAC([0.7.3])
+PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.4])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lib_LIBRARIES = libmu.a
+lib_LTLIBRARIES = src/libzardoz.la
+libmu_a_SOURCES = mu.vala mu2.c mu.vapi mu2.h
+libmu_a_CPPFLAGS = -DOKOKIMDEFINED=1
+libmu_a_VALAFLAGS = --profile=posix --vapidir=$(srcdir)
+AM_CFLAGS = $(GOBJECT_CFLAGS)
+src_libzardoz_la_LIBADD = $(GOBJECT_LIBS)
+src_libzardoz_la_SOURCES = src/zardoz-foo.vala src/zardoz-bar.vala
+src/zardoz-bar.vala: src/zardoz-foo.vala
+       sed 's/Foo/Bar/g' $< >$@
+END
+
+libtoolize
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure || skip_ "configure failed"
+
+cat > mu2.c << 'END'
+#include "mu2.h"
+int mu2 (void)
+{
+  return OKOKIMDEFINED;
+}
+END
+
+cat > mu2.h << 'END'
+int mu2 (void);
+END
+
+cat > mu.vapi <<'END'
+[CCode (cheader_filename = "mu2.h", cname = "mu2")]
+public int c_mu2 ();
+END
+
+cat > mu.vala << 'END'
+int main ()
+{
+  stdout.printf ("mumumu\n");
+  return c_mu2 ();
+}
+END
+
+mkdir src
+cat > src/zardoz-foo.vala << 'END'
+using GLib;
+public class Foo {
+  public static void zap () {
+    stdout.printf ("FooFooFoo!\n");
+  }
+}
+END
+
+$MAKE
+test -f libmu.a
+test -f src/libzardoz.la
+$FGREP "mumumu" mu.c
+$FGREP "FooFooFoo" src/zardoz-foo.c
+$FGREP "BarBarBar" src/zardoz-bar.c
+test -f libmu_a_vala.stamp
+test -f src_libzardoz_la_vala.stamp
+
+$MAKE distcheck
+
+:
diff --git a/t/vala1.sh b/t/vala1.sh
deleted file mode 100755
index 9aca0fb..0000000
--- a/t/vala1.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test to make sure intermediate .c files are built from vala sources
-# in non-recursive automake mode.
-
-required="libtool"
-. ./defs || Exit 1
-
-cat >> 'configure.ac' << 'END'
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_LIBTOOL
-AM_PROG_VALAC
-AC_OUTPUT
-END
-
-cat > 'Makefile.am' <<'END'
-bin_PROGRAMS = src/zardoz
-src_zardoz_SOURCES = src/zardoz.vala
-
-lib_LTLIBRARIES = src/libzardoz.la
-src_libzardoz_la_SOURCES = src/zardoz-foo.vala src/zardoz-bar.vala
-END
-
-: > ltmain.sh
-: > config.sub
-: > config.guess
-
-$ACLOCAL
-$AUTOMAKE -a
-
-grep 'VALAC' Makefile.in
-grep 'src_zardoz_OBJECTS' Makefile.in
-grep 'src_libzardoz_la_OBJECTS' Makefile.in
-grep 'src_zardoz_vala.stamp' Makefile.in
-grep 'src_libzardoz_la_vala.stamp' Makefile.in
-grep 'zardoz\.c' Makefile.in
-grep 'src/zardoz-foo\.c' Makefile.in
-- 
1.7.9.5




reply via email to

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