aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2018-06-06 17:49:27 +0200
committerXavier Leroy <xavier.leroy@inria.fr>2018-06-06 17:50:28 +0200
commit4d4e82ae48d34c4930a4e176db8ee54ac5ca2fab (patch)
treea4fd7700c7211d66b87dd0d9199db0e3ed913576
parentb8552c55a3c65a3f598d155aeb764e68841ba501 (diff)
downloadcompcert-4d4e82ae48d34c4930a4e176db8ee54ac5ca2fab.tar.gz
compcert-4d4e82ae48d34c4930a4e176db8ee54ac5ca2fab.zip
Ensure compatibility with Menhir before and after version 20180530
Inspired by and adapted from pull request #235 by BenoƮt Viguier.
-rw-r--r--Makefile2
-rwxr-xr-xconfigure12
2 files changed, 10 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 2001656f..64658255 100644
--- a/Makefile
+++ b/Makefile
@@ -227,7 +227,7 @@ driver/Version.ml: VERSION
>driver/Version.ml
cparser/Parser.v: cparser/Parser.vy
- $(MENHIR) --coq-lib-path compcert.cparser.MenhirLib --coq cparser/Parser.vy
+ $(MENHIR) $(MENHIR_FLAGS) --coq cparser/Parser.vy
depend: $(GENERATED) depend1
diff --git a/configure b/configure
index 5b51ce9e..e85d964c 100755
--- a/configure
+++ b/configure
@@ -539,7 +539,9 @@ else
ocaml_opt_comp=false
fi
-MENHIR_REQUIRED=20180530
+MENHIR_REQUIRED=20161201
+MENHIR_NEW_API=20180530
+menhir_flags=''
echo "Testing Menhir... " | tr -d '\n'
menhir_ver=`menhir --version 2>/dev/null | sed -n -e 's/^.*version \([0-9]*\).*$/\1/p'`
case "$menhir_ver" in
@@ -547,11 +549,14 @@ case "$menhir_ver" in
if test "$menhir_ver" -ge $MENHIR_REQUIRED; then
echo "version $menhir_ver -- good!"
menhir_includes="-I `menhir --suggest-menhirLib`"
- else
+ if test "$menhir_ver" -ge $MENHIR_NEW_API; then
+ menhir_flags="--coq-lib-path compcert.cparser.MenhirLib"
+ fi
+ else
echo "version $menhir_ver -- UNSUPPORTED"
echo "Error: CompCert requires Menhir version $MENHIR_REQUIRED or later."
missingtools=true
- fi;;
+ fi;;
*)
echo "NOT FOUND"
echo "Error: make sure Menhir version $MENHIR_REQUIRED or later is installed."
@@ -635,6 +640,7 @@ SHAREDIR=$sharedir
COQDEVDIR=$coqdevdir
OCAML_OPT_COMP=$ocaml_opt_comp
MENHIR_INCLUDES=$menhir_includes
+MENHIR_FLAGS=$menhir_flags
COMPFLAGS=-bin-annot
EOF