summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorReuben Thomas <rrt@sc3d.org>2020-10-21 23:31:46 +0100
committerKarl Berry <karl@freefriends.org>2020-10-23 14:19:12 -0700
commitf832992db3490fecd8059b69ce302813bc539f52 (patch)
treeccba84dffa334878aae5627b0ccbdfb307b56dd4 /m4
parent9f83372ba3406587100b043f6d6f266eaaeada4f (diff)
downloadautomake-f832992db3490fecd8059b69ce302813bc539f52.tar.gz
Improve Vala compiler detection: use API version, not compiler version
* m4/vala.m4: check `valac --api-version', not `valac --version'. * doc/automake.texi: update documentation.
Diffstat (limited to 'm4')
-rw-r--r--m4/vala.m428
1 files changed, 15 insertions, 13 deletions
diff --git a/m4/vala.m4 b/m4/vala.m4
index 759061dc0..509904b11 100644
--- a/m4/vala.m4
+++ b/m4/vala.m4
@@ -6,23 +6,25 @@
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# Check whether the Vala compiler exists in $PATH. If it is found, the
-# variable VALAC is set pointing to its absolute path. Otherwise, it is
-# simply set to 'valac'.
-# Optionally a minimum release number of the compiler can be requested.
-# If the ACTION-IF-FOUND parameter is given, it will be run if a proper
-# Vala compiler is found.
-# Similarly, if the ACTION-IF-FOUND is given, it will be run if no proper
-# Vala compiler is found. It defaults to simply print a warning about the
-# situation, but otherwise proceeding with the configuration.
+# Search for a Vala compiler in PATH. If it is found, the variable VALAC is
+# set to point to it. Otherwise, it is simply set to 'valac'. This macro
+# takes three optional arguments. The first argument, if present, is the
+# minimum version of the Vala API required to compile this package. For Vala
+# releases, this is the same as the major and minor release number; e.g., when
+# `valac --version' reports 0.48.7, `valac --api-version' reports 0.48. If a
+# compiler is found and satisfies MINIMUM-VERSION, then ACTION-IF-FOUND is run
+# (this defaults to do nothing). Otherwise, ACTION-IF-NOT-FOUND is run. If
+# ACTION-IF-NOT-FOUND is not specified, the default value is to print a
+# warning in case no compiler is found, or if a too-old version of the
+# compiler is found.
#
# AM_PROG_VALAC([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# --------------------------------------------------------------------------
AC_DEFUN([AM_PROG_VALAC],
[AC_PATH_PROG([VALAC], [valac], [valac])
AS_IF([test "$VALAC" != valac && test -n "$1"],
- [AC_MSG_CHECKING([whether $VALAC is at least version $1])
- am__vala_version=`$VALAC --version | sed 's/Vala *//'`
+ [AC_MSG_CHECKING([whether $VALAC supports at least API version $1])
+ am__vala_version=`$VALAC --api-version`
AS_VERSION_COMPARE([$1], ["$am__vala_version"],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([yes])],
@@ -30,8 +32,8 @@ AC_DEFUN([AM_PROG_VALAC],
VALAC=valac])])
if test "$VALAC" = valac; then
m4_default([$3],
- [AC_MSG_WARN([no proper vala compiler found])
- AC_MSG_WARN([you will not be able to compile vala source files])])
+ [AC_MSG_WARN([Vala compiler not found or too old])
+ AC_MSG_WARN([you will not be able to compile Vala source files])])
else
m4_default([$2], [:])
fi])