[gnome-builder] vala: add workaround for vala API/ABI break
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] vala: add workaround for vala API/ABI break
- Date: Mon, 22 Feb 2016 06:04:27 +0000 (UTC)
commit f507a9294c214a170a3efa8e3ca5d91abb4a017c
Author: Christian Hergert <chergert redhat com>
Date: Sun Feb 21 22:04:11 2016 -0800
vala: add workaround for vala API/ABI break
This checks to see if vala_symbol_get_deprecated() is available. If so,
we use the old version. Otherwise, we use the new style (which is currently
only available in git).
This still doesn't fix the issue with `make distcheck` released tarballs,
since we are still using _SOURCES for *.vala.
plugins/vala-pack/Makefile.am | 4 ++++
plugins/vala-pack/configure.ac | 18 ++++++++++++++++++
plugins/vala-pack/ide-vala-symbol-resolver.vala | 4 ++++
3 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/plugins/vala-pack/Makefile.am b/plugins/vala-pack/Makefile.am
index f50b9be..552df78 100644
--- a/plugins/vala-pack/Makefile.am
+++ b/plugins/vala-pack/Makefile.am
@@ -38,6 +38,10 @@ libvala_pack_plugin_la_VALAFLAGS = \
--pkg template-glib-1.0 \
$(NULL)
+if ENABLE_VALA_SYMBOL_GET_DEPRECATED
+libvala_pack_plugin_la_VALAFLAGS += -D ENABLE_VALA_SYMBOL_GET_DEPRECATED
+endif
+
libvala_pack_plugin_la_CFLAGS = \
-DPACKAGE_DATADIR=\""$(datadir)/gnome-builder"\" \
-DG_LOG_DOMAIN=\"vala-pack-plugin\" \
diff --git a/plugins/vala-pack/configure.ac b/plugins/vala-pack/configure.ac
index 16ac4b6..13907af 100644
--- a/plugins/vala-pack/configure.ac
+++ b/plugins/vala-pack/configure.ac
@@ -24,6 +24,24 @@ AS_IF([test x$enable_vala_pack_plugin = xyes],[
AS_IF([test x$enable_vala != xyes || test x$have_libvala != xyes],[
AC_MSG_ERROR([Please install both the vala compiler and vapigen. vapigen may be part of your
systems vala-tools package.])
])
+
+ AS_IF([test x$have_libvala = xyes],[
+ cflags_save="${CFLAGS}"
+ libs_save="${LIBS}"
+ CFLAGS="${CFLAGS} ${VALA_CFLAGS}"
+ LIBS="${LIBS} ${VALA_LIBS}"
+ AC_MSG_CHECKING([if vala uses old-style symbol deprecations])
+ AC_TRY_LINK([#include <vala.h>],[
+ vala_symbol_get_deprecated (NULL);
+ ],
+ [have_vala_symbol_get_deprecated=yes],
+ [have_vala_symbol_get_deprecated=no])
+ CFLAGS="${cflags_save}"
+ LIBS="${libs_save}"
+ ])
+ AC_MSG_RESULT([$have_vala_symbol_get_deprecated])
+
+ AM_CONDITIONAL(ENABLE_VALA_SYMBOL_GET_DEPRECATED, test x$have_vala_symbol_get_deprecated = xyes)
])
# for if ENABLE_VALA_PACK_PLUGIN in Makefile.am
diff --git a/plugins/vala-pack/ide-vala-symbol-resolver.vala b/plugins/vala-pack/ide-vala-symbol-resolver.vala
index 3cc4a20..9d29d93 100644
--- a/plugins/vala-pack/ide-vala-symbol-resolver.vala
+++ b/plugins/vala-pack/ide-vala-symbol-resolver.vala
@@ -72,7 +72,11 @@ namespace Ide
if (binding != null && binding == Vala.MemberBinding.STATIC)
flags |= Ide.SymbolFlags.IS_STATIC;
+#if ENABLE_VALA_SYMBOL_GET_DEPRECATED
+ if (symbol.deprecated)
+#else
if (symbol.version.deprecated)
+#endif
flags |= Ide.SymbolFlags.IS_DEPRECATED;
var source_reference = symbol.source_reference;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]