[gnome-boxes/3.3.4.x: 3/6] build: improve the build from vala



commit 1e4ab0f351e5c90741da69b82098f3b75c05b1be
Author: Stefano Facchini <stefano facchini gmail com>
Date:   Thu Jan 19 13:15:15 2012 +0100

    build: improve the build from vala
    
    https://bugzilla.gnome.org/show_bug.cgi?id=668104
    
    https://bugzilla.gnome.org/show_bug.cgi?id=668653

 Makefile.am  |    5 ++++-
 configure.ac |    7 +++++--
 m4/boxes.m4  |   43 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+), 3 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index b61f58e..cccf884 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,6 +22,7 @@ EXTRA_DIST =					\
 	CodingStyle.txt				\
 	THANKS					\
 	build-aux/git-version-gen		\
+	m4/boxes.m4				\
 	.version				\
 	$(INTLTOOL_FILES)			\
 	$(NULL)
@@ -30,7 +31,6 @@ MAINTAINERCLEANFILES =				\
 	ABOUT-NLS				\
 	aclocal.m4				\
 	config.h.in				\
-	m4/*.m4					\
 	build-aux/compile			\
 	build-aux/config.guess			\
 	build-aux/config.rpath			\
@@ -64,4 +64,7 @@ all: version.h
 version.h: $(top_srcdir)/.version
 	echo '#define BUILD_VERSION "'`cat $(top_srcdir)/.version`'"' > $ -t && mv $ -t $@
 
+vala-clean:
+	rm -f `find . -name "*.stamp"`
+
 -include $(top_srcdir)/git.mk
diff --git a/configure.ac b/configure.ac
index 775021e..2e3fad8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,7 +19,6 @@ AM_SILENT_RULES([yes])
 AC_PROG_CC
 AM_PROG_CC_C_O
 AC_PROG_CXX
-AM_PROG_VALAC([0.14.0])
 
 # Initialize libtool
 LT_PREREQ([2.2])
@@ -70,7 +69,10 @@ PKG_CHECK_MODULES(BOXES, [
   libosinfo-1.0 >= $OSINFO_MIN_VERSION
 ])
 
-VALA_CHECK_PACKAGES([
+
+VALA_ADD_STAMP([src/gnome_boxes_vala.stamp])
+
+VALA_CHECK([0.14.0], [
   clutter-gtk-1.0
   cogl-1.0
   gdk-pixbuf-2.0
@@ -114,4 +116,5 @@ AC_MSG_NOTICE([
 
         prefix:                   ${prefix}
         c compiler:               ${CC} ${CFLAGS}
+        build from vala sources:  $enable_vala
 ])
diff --git a/m4/boxes.m4 b/m4/boxes.m4
new file mode 100644
index 0000000..7d0ffaa
--- /dev/null
+++ b/m4/boxes.m4
@@ -0,0 +1,43 @@
+AC_DEFUN([VALA_ADD_STAMP],
+[
+    vala_stamp_files="$vala_stamp_files $srcdir/$1"
+])
+
+AC_DEFUN([VALA_ADD_VALAFLAGS],
+[
+    VALAFLAGS="${VALAFLAGS:+$VALAFLAGS }$1"
+])
+
+AC_DEFUN([VALA_CHECK],
+[
+    AC_ARG_ENABLE([vala],
+        [AS_HELP_STRING([--enable-vala],[enable checks for vala])],,
+            [enable_vala=no])
+    AC_ARG_ENABLE([vala-fatal-warnings],
+        [AS_HELP_STRING([--enabla-vala-fatal-warnings],[Treat vala warnings as fatal])],,
+            [enable_vala_fatal_warnings=no])
+    AS_IF([test "x$enable_vala_fatal_warnings" = "xyes"],
+          [VALA_ADD_VALAFLAGS([--fatal-warnings])])
+    AC_SUBST([VALAFLAGS])
+    dnl Enable check for Vala even if not asked to do so if stamp files are absent.
+    for stamp in $vala_stamp_files
+    do
+        AS_IF([test ! -e "$stamp"],
+              [AC_MSG_WARN([Missing stamp file $[]stamp. Forcing vala mode])
+               enable_vala=yes
+              ])
+    done
+
+    dnl Vala
+    AS_IF([test x$enable_vala = xyes],
+          [dnl check for vala
+           AM_PROG_VALAC([$1])
+
+           AS_IF([test x$VALAC = "x"],
+                 [AC_MSG_ERROR([Cannot find the "valac" compiler in your PATH])],
+                 [VALA_CHECK_PACKAGES([$2])])
+           ],
+           []
+    )
+])
+



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