This is an automated email from the git hooks/post-receive script. treinen pushed a commit to branch master in repository menhir.
commit efdf87d096e09ad0fa5e63f9b4c4675c3c22d297 Author: Ralf Treinen <trei...@free.fr> Date: Thu Nov 23 08:05:19 2017 +0100 New upstream version 20171013 --- CHANGES.md | 13 +++++ Makefile | 14 ++++-- doc/version.tex | 2 +- manual.pdf | Bin 433418 -> 433419 bytes menhir.1 | 2 +- src/META | 2 +- src/Makefile | 23 ++------- src/StaticVersion.ml | 2 +- src/StaticVersion.mli | 2 +- src/_tags | 4 -- src/checkOCamlVersion.ml | 123 ----------------------------------------------- src/version.ml | 2 +- 12 files changed, 34 insertions(+), 155 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 5b92d1c..b7183be 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,18 @@ # Changes +## 2017/10/13 + +* Remove the OCaml version check at installation time, for greater simplicity, + and because for some reason it did not work properly under Cygwin. + (Reported by Andrew Appel.) + +## 2017/09/26 + +* `Makefile` fix: when determining whether the suffix `.exe` should be used, + one should test whether the OS is Windows, + not whether the compiler is MSVC. + (Suggested by Jonathan Protzenko.) + ## 2017/07/12 * Include the LaTeX sources of the manual in the official `.tar.gz` archive. diff --git a/Makefile b/Makefile index 5ebdbc6..088a014 100644 --- a/Makefile +++ b/Makefile @@ -57,19 +57,25 @@ MLYLIB := src/standard.mly # A few settings differ on Windows versus Unix. -# If the compiler is MSVC, then the name of the executable file ends in .exe, -# and object file names end in .obj instead of .o. +# If the compiler is MSVC, then object file names end in .obj instead of .o. ifneq (,$(shell ocamlc -config | grep -E "ccomp_type: msvc")) - MENHIREXE := menhir.exe OBJ := obj # LIBSUFFIX := lib else - MENHIREXE := menhir OBJ := o # LIBSUFFIX := a endif +# If we are under Windows (regardless of whether we are using MSVC or mingw) +# then the name of the executable file ends in .exe. + +ifeq ($(OS),Windows_NT) + MENHIREXE := menhir.exe +else + MENHIREXE := menhir +endif + # The path $(installation_libdir), which is recorded in src/installation.ml (see # below), must sometimes be translated using cygpath. diff --git a/doc/version.tex b/doc/version.tex index 003034e..f4e0958 100644 --- a/doc/version.tex +++ b/doc/version.tex @@ -1 +1 @@ -\gdef\menhirversion{20170712} +\gdef\menhirversion{20171013} diff --git a/manual.pdf b/manual.pdf index c4a96f5..53a92fd 100644 Binary files a/manual.pdf and b/manual.pdf differ diff --git a/menhir.1 b/menhir.1 index e241b91..ac2940c 100644 --- a/menhir.1 +++ b/menhir.1 @@ -134,7 +134,7 @@ Synonymous with .SH AUTHOR .B menhir -was written by Fran�ois Pottier and Yann R�gis-Gianas. +was written by Fran\(,cois Pottier and Yann R\('egis-Gianas. .PP This manual page was written by Samuel Mimram <smim...@debian.org>, for the Debian project (but may be used by others). diff --git a/src/META b/src/META index 1dec03d..2f570ce 100644 --- a/src/META +++ b/src/META @@ -1 +1 @@ -version = "20170712" +version = "20171013" diff --git a/src/Makefile b/src/Makefile index 73ebc4c..9b42b41 100644 --- a/src/Makefile +++ b/src/Makefile @@ -11,6 +11,9 @@ endif # Ocamlbuild tool and settings. OCAMLBUILD := ocamlbuild -classic-display -j 0 +ifeq ($(TARGET),byte) + OCAMLBUILD := $(OCAMLBUILD) -byte-plugin +endif # ---------------------------------------------------------------------------- # For everyday development. @@ -22,28 +25,12 @@ everyday: installation.ml stage1 # ---------------------------------------------------------------------------- # Building Menhir from scratch (a.k.a. bootstrapping). -bootstrap: .versioncheck +bootstrap: @ $(MAKE) stage1 @ $(MAKE) stage2 @ $(MAKE) stage3 # ---------------------------------------------------------------------------- -# Checking the version of the OCaml compiler. - -# We explicitly build checkOCamlVersion as an OCaml binary program, -# instead of running it as a script, because that would require -# #loading str.cma, which is not supported on (some versions of?) -# Windows. - -.versioncheck: - @ echo Checking that OCaml is recent enough... - @ rm -rf _versioncheck - @ $(OCAMLBUILD) -build-dir _versioncheck checkOCamlVersion.byte - @ _versioncheck/checkOCamlVersion.byte --verbose --gt "4.02" - @ rm -rf _versioncheck - @ touch $@ - -# ---------------------------------------------------------------------------- # Stage 1. # Build Menhir using ocamlyacc. @@ -106,4 +93,4 @@ sdk: # Cleaning up. clean:: - rm -rf .versioncheck _stage1 _stage2 _stage3 _sdk + rm -rf _stage1 _stage2 _stage3 _sdk diff --git a/src/StaticVersion.ml b/src/StaticVersion.ml index 007a9ba..43b32b2 100644 --- a/src/StaticVersion.ml +++ b/src/StaticVersion.ml @@ -1 +1 @@ -let require_20170712 = () +let require_20171013 = () diff --git a/src/StaticVersion.mli b/src/StaticVersion.mli index 0a39d0b..776d2fb 100644 --- a/src/StaticVersion.mli +++ b/src/StaticVersion.mli @@ -1 +1 @@ -val require_20170712 : unit +val require_20171013 : unit diff --git a/src/_tags b/src/_tags index cb9dbdf..075cffb 100644 --- a/src/_tags +++ b/src/_tags @@ -8,9 +8,6 @@ true: \ # Menhir needs the Unix library. <menhir.{byte,native}>: use_unix -# checkOCamlVersion needs the Str library. -<checkOCamlVersion.byte>: use_str - # Turn off assertions in some modules, where they are useful when debugging, but costly. <LRijkstra.*>: noassert @@ -19,4 +16,3 @@ true: \ # these build directories violate its hygiene rules. <_sdk>: -traverse <_stage*>: -traverse -<_versioncheck>: -traverse diff --git a/src/checkOCamlVersion.ml b/src/checkOCamlVersion.ml deleted file mode 100644 index fdcf406..0000000 --- a/src/checkOCamlVersion.ml +++ /dev/null @@ -1,123 +0,0 @@ -(******************************************************************************) -(* *) -(* Menhir *) -(* *) -(* François Pottier, Inria Paris *) -(* Yann Régis-Gianas, PPS, Université Paris Diderot *) -(* *) -(* Copyright Inria. All rights reserved. This file is distributed under the *) -(* terms of the GNU General Public License version 2, as described in the *) -(* file LICENSE. *) -(* *) -(******************************************************************************) - -(* This module parses ocaml version and confronts it with a user-provided - version. *) - -(* According to OCaml's manual, the Sys.ocaml_version value follows the - regexp [version_regexp]. -*) -let mnum = "\\([0-9]+\\)" - -(* version = major.minor[.patchlevel][+additional-info]. *) -let version_regexp = - Str.regexp - (Printf.sprintf "%s\\.%s\\(\\.%s\\)?\\(\\+\\(.+\\)\\)?" mnum mnum mnum) - -let must field = function - | None -> failwith (Printf.sprintf "\"%s\" field is undefined." field) - | Some s -> s - -let as_int s = - try - int_of_string s - with Failure _ -> - Printf.eprintf "Invalid number '%s'\n" s; - exit 1 - -let parse_version version = - let get i = - try - Some (Str.matched_group i version) - with Not_found -> - None - in - if Str.string_match version_regexp version 0 then ( - as_int (must "major" (get 1)), - as_int (must "minor" (get 2)), - get 4, get 6 - ) else - begin - Printf.eprintf "Failed to retrieve ocaml version.\n"; - exit 1 - end - -(* The user can compare its version with three different orderings: - - eq means major and minor numbers are equal ; - - eq-strict means that even the patchlevel and the additional information - are equal ; - - lt means that ocaml version is older that the user-provided version ; - - gt means that ocaml version is newer that the user-provided version. *) -let eq, eq_strict, gt, lt = ref false, ref false, ref false, ref false - -let verbose = ref false - -let options = Arg.align - [ - "--eq", Arg.Set eq, " Is the version equal to <version> ?"; - "--eq-strict", Arg.Set eq_strict, - " Is the version strictly equal to <version> ? \ - (taking into account patchlevel and additional information)"; - "--gt", Arg.Set gt, " Is the version newer than <version> ? (default)"; - "--lt", Arg.Set lt, " Is the version older than <version> ?"; - "--verbose", Arg.Set verbose, " Show version." - ] - -let usage = "check-ocaml-version [options] <version>\n" - -let version = ref None - -let set_version s = - version := Some s - -let _ = - Arg.parse options set_version usage - -let compare, compare_str, strict = - match !eq, !gt, !lt with - | true, false, false -> ( = ) , "", !eq_strict - | false, true, false -> ( >= ), "or greater ", false - | false, false, true -> ( <= ), "or lesser ", false - | false, false, false -> (Printf.printf "%s\n%!" Sys.ocaml_version; exit 1) - | _ -> failwith "(eq|gt|lt) flags must be used independently" - -let compare_version (major, minor, p, a) (major', minor', p', a') = - if major = major' then - if minor = minor' then - if strict then - (p = p') && (a = a') - else true - else compare minor minor' - else - compare major major' - -let _ = - - match !version with - | None -> - Printf.printf "%s\n%!" Sys.ocaml_version - - | Some version -> - let ov = parse_version Sys.ocaml_version - and uv = parse_version version in - if compare_version ov uv then begin - if !verbose then - Printf.printf "Version %s is OK.\n%!" Sys.ocaml_version; - exit 0 - end - else begin - if !verbose then - Printf.printf "%s is NOT OK: version %s %swas required.%!\n" Sys.ocaml_version version compare_str; - exit 1 - end - diff --git a/src/version.ml b/src/version.ml index 4f02fe5..c382095 100644 --- a/src/version.ml +++ b/src/version.ml @@ -1 +1 @@ -let version = "20170712" +let version = "20171013" -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/menhir.git _______________________________________________ Pkg-ocaml-maint-commits mailing list Pkg-ocaml-maint-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits