[folks] Support Vala-free builds (for release tarballs).
- From: Travis Reitter <treitter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [folks] Support Vala-free builds (for release tarballs).
- Date: Thu, 11 Nov 2010 02:46:44 +0000 (UTC)
commit 4a2e4807e7b4ae4fe69f076498ac526c816a6458
Author: Travis Reitter <travis reitter collabora co uk>
Date: Mon Nov 8 23:08:02 2010 -0800
Support Vala-free builds (for release tarballs).
Fixes bgo#633718.
Makefile.am | 5 ++-
NEWS | 2 +
configure.ac | 105 +++++++++++++++++++++++++++++++++++++++++++++-------------
3 files changed, 88 insertions(+), 24 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 786b4f1..e5bbc18 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,10 @@ if HAVE_VALADOC
SUBDIRS += docs
endif
-DISTCHECK_CONFIGURE_FLAGS = --enable-docs
+DISTCHECK_CONFIGURE_FLAGS = \
+ --enable-docs \
+ --disable-vala \
+ $(NULL)
EXTRA_DIST = \
ABOUT-NLS \
diff --git a/NEWS b/NEWS
index fa2a1fd..502dd00 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,8 @@ Bugs fixed:
* Bug 629081 â?? Add API to allow specific backends to be disabled
* Bug 629862 â?? Add tests for the key-file backend
* Bug 628883 â?? Add localisation support
+* Bug 633718 â?? Make the Folks releases buildable without vala, valadoc, or
+ g-i
Overview of changes from libfolks 0.3.0 to libfolks 0.3.1
==========================================================
diff --git a/configure.ac b/configure.ac
index d1e2b94..7f986cc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -74,20 +74,6 @@ GLIB_REQUIRED=2.24.0
TP_GLIB_REQUIRED=0.13.1
VALA_REQUIRED=0.10.0
-AM_PROG_VALAC([$VALA_REQUIRED])
-
-# require GLib >= 2.24 so GLib.Array, etc. reffing is handled automatically
-VALAFLAGS="$VALAFLAGS --target-glib=2.24"
-AC_SUBST([VALAFLAGS])
-AC_SUBST([VAPIGENFLAGS])
-AC_SUBST([VAPIDIR])
-
-AC_PATH_PROG([VAPIGEN], [vapigen], [vapigen])
-AS_IF([test "$VAPIGEN" = ""],
- [AC_MSG_ERROR([Vala must be built with --enable-vapigen])])
-
-GOBJECT_INTROSPECTION_REQUIRE([0.9.12])
-
PKG_CHECK_MODULES([GLIB],
[glib-2.0 >= $GLIB_REQUIRED
gobject-2.0 >= $GLIB_REQUIRED])
@@ -98,10 +84,74 @@ PKG_CHECK_MODULES([DBUS_GLIB], [dbus-glib-1])
# FIXME: We depend on libgee < 0.7 because 0.7 breaks API. bgo#627746
PKG_CHECK_MODULES([GEE], [gee-1.0 < 0.7])
PKG_CHECK_MODULES([TP_GLIB], [telepathy-glib >= $TP_GLIB_REQUIRED])
-VALA_CHECK_PACKAGES([telepathy-glib
- dbus-glib-1
- gio-2.0
- gee-1.0])
+
+#
+# Vala building options -- allows tarball builds without installing Vala
+#
+AC_ARG_ENABLE([vala],
+ AS_HELP_STRING([--enable-vala],
+ [Enable building from the Vala sources]),
+ [enable_vala=$enableval],
+ [enable_vala=no])
+
+# will be re-set as necessary below
+AM_CONDITIONAL([HAVE_INTROSPECTION], [test "x$enable_vala" = "xyes"])
+sd=${srcdir}/
+# Force Vala if generated source is missing or outdated
+if test \
+ ! -e ${sd}tools/folks_import_vala.stamp -o \
+ ! -e ${sd}tests/key-file/individual_retrieval_vala.stamp -o \
+ ! -e ${sd}tests/lib/folks-test.vapi -o \
+ ! -e ${sd}tests/lib/key-file/kf-test.vapi -o \
+ ! -e ${sd}tests/lib/key-file/libkf_test_la_vala.stamp -o \
+ ! -e ${sd}tests/lib/telepathy/contactlist/tp-test-contactlist.gir -o \
+ ! -e ${sd}tests/lib/telepathy/contactlist/tp-test-contactlist.vapi -o \
+ ! -e ${sd}tests/lib/libfolks_test_la_vala.stamp -o \
+ ! -e ${sd}tests/telepathy/persona_store_capabilities_vala.stamp -o \
+ ! -e ${sd}tests/telepathy/individual_retrieval_vala.stamp -o \
+ ! -e ${sd}tests/telepathy/individual_properties_vala.stamp -o \
+ ! -e ${sd}tests/folks/backend_loading_vala.stamp -o \
+ ! -e ${sd}backends/key-file/libfolks_backend_key_file_la_vala.stamp -o \
+ ! -e ${sd}backends/telepathy/libfolks_backend_telepathy_la_vala.stamp \
+ -o \
+ ! -e ${sd}backends/telepathy/lib/folks-telepathy.vapi -o \
+ ! -e ${sd}backends/telepathy/lib/tp-lowlevel.gir -o \
+ ! -e ${sd}backends/telepathy/lib/tp-lowlevel.vapi -o \
+ ! -e ${sd}backends/telepathy/lib/libfolks_telepathy_la_vala.stamp -o \
+ ! -e ${sd}folks/folks.vapi -o \
+ ! -e ${sd}folks/libfolks_la_vala.stamp ; then
+ enable_vala=yes
+ echo "Vala source needs to be re-compiled; requiring Vala..."
+fi
+
+if test "x$enable_vala" = "xyes" ; then
+ AM_PROG_VALAC([$VALA_REQUIRED])
+ if test "x$VALAC" = "x"; then
+ AC_MSG_ERROR([Vala requested but valac is not installed])
+ fi
+
+ AC_PATH_PROG([VAPIGEN], [vapigen], [])
+ if test "x$VAPIGEN" = "x"; then
+ AC_MSG_ERROR([Vala must be built with --enable-vapigen])
+ fi
+
+ # require GLib >= 2.24 so GLib.Array, etc. reffing is handled
+ # automatically
+ VALAFLAGS="$VALAFLAGS --target-glib=2.24"
+ AC_SUBST([VALAFLAGS])
+ AC_SUBST([VAPIGENFLAGS])
+ AC_SUBST([VAPIDIR])
+
+ VALA_CHECK_PACKAGES([telepathy-glib
+ dbus-glib-1
+ gio-2.0
+ gee-1.0])
+
+ # this will set HAVE_INTROSPECTION
+ GOBJECT_INTROSPECTION_REQUIRE([0.9.12])
+fi
+
+AM_CONDITIONAL([HAVE_VALA], [test "x$enable_vala" = "xyes"])
# Various functions that we need (used in C code generated from Vala)
AC_CHECK_FUNCS([memset])
@@ -197,7 +247,6 @@ m4_if(folks_released, [1], [],
[
ERROR_INTROSPECTION_SCANNER_ARGS="$ERROR_INTROSPECTION_SCANNER_ARGS \
--warn-error"
- ERROR_VALAFLAGS="$ERROR_VALAFLAGS --fatal-warnings"
if test x$werror = xyes; then
ERROR_CFLAGS="$ERROR_CFLAGS -Werror"
fi
@@ -219,10 +268,19 @@ AS_COMPILER_FLAG([-Wmissing-declarations], [ERROR_CFLAGS="$ERROR_CFLAGS \
AS_COMPILER_FLAG([-Wstrict-prototypes], [ERROR_CFLAGS="$ERROR_CFLAGS \
-Wstrict-prototypes"])
-AC_SUBST([ERROR_INTROSPECTION_SCANNER_ARGS])
-AC_SUBST([ERROR_VALAFLAGS])
AC_SUBST([ERROR_CFLAGS])
+# Vala-related flags
+if test "x$enable_vala" = "xyes" ; then
+ m4_if(folks_released, [1], [],
+ [
+ ERROR_VALAFLAGS="$ERROR_VALAFLAGS --fatal-warnings"
+ ])
+
+ AC_SUBST([ERROR_INTROSPECTION_SCANNER_ARGS])
+ AC_SUBST([ERROR_VALAFLAGS])
+fi
+
# -----------------------------------------------------------
# Final output
# -----------------------------------------------------------
@@ -259,8 +317,9 @@ AC_OUTPUT
echo "
Configure summary:
- Compiler....................: ${VALAC}
- Compiler Flags..............: ${CFLAGS} ${ERROR_CFLAGS}
+ Vala........................: ${enable_vala}
+ Vala Compiler...............: ${VALAC}
+ C Compiler Flags............: ${CFLAGS} ${ERROR_CFLAGS}
Prefix......................: ${prefix}
Bugreporting URL............: ${PACKAGE_BUGREPORT}
Documentation...............: ${HAVE_VALADOC}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]