[lttng-dev] [PATCH babeltrace] Buid: add version check on flex

Jérémie Galarneau jeremie.galarneau at efficios.com
Fri Jul 3 17:57:20 EDT 2015


Merged in master and stable-1.2 with typo fix (Buid -> Build).

Thanks,
Jérémie

On Thu, Jul 2, 2015 at 6:20 PM, Jonathan Rajotte <
jonathan.rajotte-julien at efficios.com> wrote:

> This new m4 macro is valid starting from [1].
>
> [1]
> http://sourceforge.net/p/flex/flex/ci/712c03b38fb35f9d7f16e0fdd27441c3efda0071/tree/
>
> Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien at efficios.com>
> ---
>  configure.ac               |  4 +++
>  m4/ax_prog_flex_version.m4 | 64
> ++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 68 insertions(+)
>  create mode 100644 m4/ax_prog_flex_version.m4
>
> diff --git a/configure.ac b/configure.ac
> index 3421cbd..ef2db73 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -46,6 +46,10 @@ if test ! -f
> "$srcdir/formats/ctf/metadata/ctf-lexer.c"; then
>                  AC_MSG_ERROR([[flex not found and is required when
> building from git.
>                  Please install flex]])
>          fi
> +        AC_PATH_PROG([FLEX],[flex])
> +        AX_PROG_FLEX_VERSION([2.5.35], [],[
> +                AC_MSG_ERROR([[Flex >= 2.5.35 is required when building
> from git]])
> +        ])
>  fi
>
>
> diff --git a/m4/ax_prog_flex_version.m4 b/m4/ax_prog_flex_version.m4
> new file mode 100644
> index 0000000..f1ad9ef
> --- /dev/null
> +++ b/m4/ax_prog_flex_version.m4
> @@ -0,0 +1,64 @@
> +# SYNOPSIS
> +#
> +#   AX_PROG_FLEX_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE])
> +#
> +# DESCRIPTION
> +#
> +#   Makes sure that flex version is greater or equal to the version
> indicated.
> +#   If true the shell commands in ACTION-IF-TRUE are executed. If not the
> shell
> +#   commands in commands in ACTION-IF-TRUE are executed. If not the shell
> +#   commands in ACTION-IF-FALSE are run. Note if $FLEX is not set (for
> example
> +#   by running AC_CHECK_PROG or AC_PATH_PROG) the macro will fail.
> +#
> +#   Example:
> +#
> +#     AC_PATH_PROG([FLEX],[flex])
> +#     AX_PROG_FLEX_VERSION([2.5.39],[ ... ],[ ... ])
> +#
> +#   This will check to make sure that the flex you have is at least
> +#   version 2.5.39 or greater.
> +#
> +#   NOTE: This macro uses the $FLEX variable to perform the check.
> +#
> +# LICENSE
> +#
> +#   Copyright (c) 2015 Jonathan Rajotte-Julien <
> jonathan.rajotte-julien at efficios.com>
> +#
> +#   Copying and distribution of this file, with or without modification,
> are
> +#   permitted in any medium without royalty provided the copyright notice
> +#   and this notice are preserved. This file is offered as-is, without any
> +#   warranty.
> +
> +#serial 1
> +
> +AC_DEFUN([AX_PROG_FLEX_VERSION],[
> +    AC_REQUIRE([AC_PROG_SED])
> +    AC_REQUIRE([AC_PROG_GREP])
> +
> +    AS_IF([test -n "$FLEX"],[
> +        ax_flex_version="$1"
> +
> +        AC_MSG_CHECKING([for flex version])
> +        changequote(<<,>>)
> +        flex_version=`$FLEX --version 2>&1 \
> +          | $SED -n -e '/flex /b inspect
> +b
> +: inspect
> +s/.* (\{0,1\}\([0-9]*\.[0-9]*\.[0-9]*\))\{0,1\}.*/\1/;p'`
> +        changequote([,])
> +        AC_MSG_RESULT($flex_version)
> +
> +       AC_SUBST([FLEX_VERSION],[$flex_version])
> +
> +        AX_COMPARE_VERSION([$flex_version],[ge],[$ax_flex_version],[
> +           :
> +            $2
> +        ],[
> +           :
> +            $3
> +        ])
> +    ],[
> +        AC_MSG_WARN([could not find flex])
> +        $3
> +    ])
> +])
> --
> 2.1.4
>
>


-- 
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20150703/3c57691e/attachment-0001.html>


More information about the lttng-dev mailing list