Build: add Flex version check
[deliverable/lttng-tools.git] / config / ax_prog_flex_version.m4
CommitLineData
ea70e634
JR
1# ===========================================================================
2# http://www.gnu.org/software/autoconf-archive/ax_prog_flex_version.html
3# ===========================================================================
4#
5# SYNOPSIS
6#
7# AX_PROG_FLEX_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE])
8#
9# DESCRIPTION
10#
11# Makes sure that flex version is greater or equal to the version
12# indicated. If true the shell commands in ACTION-IF-TRUE are executed. If
13# not the shell commands in commands in ACTION-IF-TRUE are executed. If
14# not the shell commands in ACTION-IF-FALSE are run. Note if $FLEX is not
15# set (for example by running AC_CHECK_PROG or AC_PATH_PROG) the macro
16# will fail.
17#
18# Example:
19#
20# AC_PATH_PROG([FLEX],[flex])
21# AX_PROG_FLEX_VERSION([2.5.39],[ ... ],[ ... ])
22#
23# This will check to make sure that the flex you have is at least version
24# 2.5.39 or greater.
25#
26# NOTE: This macro uses the $FLEX variable to perform the check.
27#
28# LICENSE
29#
30# Copyright (c) 2015 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
31#
32# Copying and distribution of this file, with or without modification, are
33# permitted in any medium without royalty provided the copyright notice
34# and this notice are preserved. This file is offered as-is, without any
35# warranty.
36
37#serial 1
38
39AC_DEFUN([AX_PROG_FLEX_VERSION],[
40 AC_REQUIRE([AC_PROG_SED])
41 AC_REQUIRE([AC_PROG_GREP])
42
43 AS_IF([test -n "$FLEX"],[
44 ax_flex_version="$1"
45
46 AC_MSG_CHECKING([for flex version])
47 changequote(<<,>>)
48 flex_version=`$FLEX --version 2>&1 \
49 | $SED -n -e '/flex /b inspect
50b
51: inspect
52s/.* (\{0,1\}\([0-9]*\.[0-9]*\.[0-9]*\))\{0,1\}.*/\1/;p'`
53 changequote([,])
54 AC_MSG_RESULT($flex_version)
55
56 AC_SUBST([FLEX_VERSION],[$flex_version])
57
58 AX_COMPARE_VERSION([$flex_version],[ge],[$ax_flex_version],[
59 :
60 $2
61 ],[
62 :
63 $3
64 ])
65 ],[
66 AC_MSG_WARN([could not find flex])
67 $3
68 ])
69])
This page took 0.032566 seconds and 5 git commands to generate.