blob: 1c5630ed9cc9d150555b184ebd2884aacec365c7 [file] [log] [blame]
Patrick Williamsc0f7c042017-02-23 20:41:17 -06001From 08ca1c48b25c332b75bba2a6b5d757da006e955b Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Fri, 7 Oct 2016 16:27:57 +0300
4Subject: [PATCH] Add m4/vapigen.m4
5
6Building without vala will fail if we don't have a vapigen.m4.
7
8Upstream-Status: Pending
9Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
10---
11 m4/vapigen.m4 | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12 1 file changed, 96 insertions(+)
13 create mode 100644 m4/vapigen.m4
14
15diff --git a/m4/vapigen.m4 b/m4/vapigen.m4
16new file mode 100644
17index 0000000..f2df12f
18--- /dev/null
19+++ b/m4/vapigen.m4
20@@ -0,0 +1,96 @@
21+dnl vapigen.m4
22+dnl
23+dnl Copyright 2012 Evan Nemerson
24+dnl
25+dnl This library is free software; you can redistribute it and/or
26+dnl modify it under the terms of the GNU Lesser General Public
27+dnl License as published by the Free Software Foundation; either
28+dnl version 2.1 of the License, or (at your option) any later version.
29+dnl
30+dnl This library is distributed in the hope that it will be useful,
31+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
32+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
33+dnl Lesser General Public License for more details.
34+dnl
35+dnl You should have received a copy of the GNU Lesser General Public
36+dnl License along with this library; if not, write to the Free Software
37+dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
38+
39+# VAPIGEN_CHECK([VERSION], [API_VERSION], [FOUND-INTROSPECTION], [DEFAULT])
40+# --------------------------------------
41+# Check vapigen existence and version
42+#
43+# See http://live.gnome.org/Vala/UpstreamGuide for detailed documentation
44+AC_DEFUN([VAPIGEN_CHECK],
45+[
46+ AC_BEFORE([GOBJECT_INTROSPECTION_CHECK],[$0])
47+ AC_BEFORE([GOBJECT_INTROSPECTION_REQUIRE],[$0])
48+
49+ AC_ARG_ENABLE([vala],
50+ [AS_HELP_STRING([--enable-vala[=@<:@no/auto/yes@:>@]],[build Vala bindings @<:@default=]ifelse($4,,auto,$4)[@:>@])],,[
51+ AS_IF([test "x$4" = "x"], [
52+ enable_vala=auto
53+ ], [
54+ enable_vala=$4
55+ ])
56+ ])
57+
58+ AS_CASE([$enable_vala], [no], [enable_vala=no],
59+ [yes], [
60+ AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [
61+ AC_MSG_ERROR([Vala bindings require GObject Introspection])
62+ ])
63+ ], [auto], [
64+ AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [
65+ enable_vala=no
66+ ])
67+ ], [
68+ AC_MSG_ERROR([Invalid argument passed to --enable-vala, should be one of @<:@no/auto/yes@:>@])
69+ ])
70+
71+ AS_IF([test "x$2" = "x"], [
72+ vapigen_pkg_name=vapigen
73+ ], [
74+ vapigen_pkg_name=vapigen-$2
75+ ])
76+ AS_IF([test "x$1" = "x"], [
77+ vapigen_pkg="$vapigen_pkg_name"
78+ ], [
79+ vapigen_pkg="$vapigen_pkg_name >= $1"
80+ ])
81+
82+ PKG_PROG_PKG_CONFIG
83+
84+ PKG_CHECK_EXISTS([$vapigen_pkg], [
85+ AS_IF([test "$enable_vala" = "auto"], [
86+ enable_vala=yes
87+ ])
88+ ], [
89+ AS_CASE([$enable_vala], [yes], [
90+ AC_MSG_ERROR([$vapigen_pkg not found])
91+ ], [auto], [
92+ enable_vala=no
93+ ])
94+ ])
95+
96+ AC_MSG_CHECKING([for vala])
97+
98+ AS_CASE([$enable_vala],
99+ [yes], [
100+ VAPIGEN=`$PKG_CONFIG --variable=vapigen vapigen`
101+ VAPIGEN_MAKEFILE=`$PKG_CONFIG --variable=datadir vapigen`/vala/Makefile.vapigen
102+ AS_IF([test "x$2" = "x"], [
103+ VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir vapigen`
104+ ], [
105+ VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir_versioned vapigen`
106+ ])
107+ ])
108+
109+ AC_MSG_RESULT([$enable_vala])
110+
111+ AC_SUBST([VAPIGEN])
112+ AC_SUBST([VAPIGEN_VAPIDIR])
113+ AC_SUBST([VAPIGEN_MAKEFILE])
114+
115+ AM_CONDITIONAL(ENABLE_VAPIGEN, test "x$enable_vala" = "xyes")
116+])
117--
1182.1.4
119