|
Packit Service |
963350 |
AC_DEFUN([AG_GST_BISON_CHECK],
|
|
Packit Service |
963350 |
[
|
|
Packit Service |
963350 |
dnl FIXME: check if AC_PROG_YACC is suitable here
|
|
Packit Service |
963350 |
dnl FIXME: make precious
|
|
Packit Service |
963350 |
AC_PATH_PROG(BISON_PATH, bison, no)
|
|
Packit Service |
963350 |
if test x$BISON_PATH = xno; then
|
|
Packit Service |
963350 |
AC_MSG_ERROR(Could not find bison)
|
|
Packit Service |
963350 |
fi
|
|
Packit Service |
963350 |
|
|
Packit Service |
963350 |
dnl check bison version
|
|
Packit Service |
963350 |
dnl we need version >= 2.4 for the '<>' support
|
|
Packit Service |
963350 |
dnl in the parser.
|
|
Packit Service |
963350 |
dnl First lines observed: 'bison (GNU Bison) 2.3' or 'GNU Bison version 1.28'
|
|
Packit Service |
963350 |
bison_min_version=2.4
|
|
Packit Service |
963350 |
bison_version=`$BISON_PATH --version | head -n 1 | sed 's/^[[^0-9]]*//' | sed 's/[[^0-9]]*$//' | cut -d' ' -f1`
|
|
Packit Service |
963350 |
AC_MSG_CHECKING([bison version $bison_version >= $bison_min_version])
|
|
Packit Service |
963350 |
|
|
Packit Service |
963350 |
if perl -we "exit (('v$bison_version' ge 'v$bison_min_version') ? 0 : 1)"; then
|
|
Packit Service |
963350 |
AC_MSG_RESULT([yes])
|
|
Packit Service |
963350 |
else
|
|
Packit Service |
963350 |
AC_MSG_ERROR([no])
|
|
Packit Service |
963350 |
fi
|
|
Packit Service |
963350 |
])
|
|
Packit Service |
963350 |
|
|
Packit Service |
963350 |
AC_DEFUN([AG_GST_FLEX_CHECK],
|
|
Packit Service |
963350 |
[
|
|
Packit Service |
963350 |
dnl we require flex for building the parser
|
|
Packit Service |
963350 |
AC_PATH_PROG(FLEX_PATH, flex, no)
|
|
Packit Service |
963350 |
if test x$FLEX_PATH = xno; then
|
|
Packit Service |
963350 |
AC_MSG_ERROR(Could not find flex)
|
|
Packit Service |
963350 |
fi
|
|
Packit Service |
963350 |
|
|
Packit Service |
963350 |
dnl check flex version
|
|
Packit Service |
963350 |
dnl we need version >= 2.5.31 for the reentrancy support
|
|
Packit Service |
963350 |
dnl in the parser.
|
|
Packit Service |
963350 |
flex_min_version=2.5.31
|
|
Packit Service |
963350 |
flex_version=`$FLEX_PATH --version | head -n 1 | awk '{print $2}'`
|
|
Packit Service |
963350 |
AC_MSG_CHECKING([flex version $flex_version >= $flex_min_version])
|
|
Packit Service |
963350 |
if perl -w <
|
|
Packit Service |
963350 |
(\$min_version_major, \$min_version_minor, \$min_version_micro ) = "$flex_min_version" =~ /(\d+)\.(\d+)\.(\d+)/;
|
|
Packit Service |
963350 |
(\$flex_version_major, \$flex_version_minor, \$flex_version_micro ) = "$flex_version" =~ /(\d+)\.(\d+)\.(\d+)/;
|
|
Packit Service |
963350 |
exit (((\$flex_version_major > \$min_version_major) ||
|
|
Packit Service |
963350 |
((\$flex_version_major == \$min_version_major) &&
|
|
Packit Service |
963350 |
(\$flex_version_minor > \$min_version_minor)) ||
|
|
Packit Service |
963350 |
((\$flex_version_major == \$min_version_major) &&
|
|
Packit Service |
963350 |
(\$flex_version_minor == \$min_version_minor) &&
|
|
Packit Service |
963350 |
(\$flex_version_micro >= \$min_version_micro)))
|
|
Packit Service |
963350 |
? 0 : 1);
|
|
Packit Service |
963350 |
EOF
|
|
Packit Service |
963350 |
then
|
|
Packit Service |
963350 |
AC_MSG_RESULT(yes)
|
|
Packit Service |
963350 |
else
|
|
Packit Service |
963350 |
AC_MSG_ERROR([no])
|
|
Packit Service |
963350 |
fi
|
|
Packit Service |
963350 |
])
|