comparison vext @ 1718:434be2f0509e output-type-uri

Update vext
author Chris Cannam
date Mon, 26 Jun 2017 11:54:23 +0100
parents d60b30ea9b80
children bf8a5ce8fb62
comparison
equal deleted inserted replaced
1717:1db385567add 1718:434be2f0509e
14 # We need one of Poly/ML, SML/NJ, or MLton. Since we're running a 14 # We need one of Poly/ML, SML/NJ, or MLton. Since we're running a
15 # single-file SML program as if it were a script, our order of 15 # single-file SML program as if it were a script, our order of
16 # preference is based on startup speed. 16 # preference is based on startup speed.
17 17
18 if [ -z "$sml" ]; then 18 if [ -z "$sml" ]; then
19 if sml -h 2>&1 | grep -q 'Standard ML of New Jersey'; then
20 sml="smlnj"
19 # I think there may be a race condition in the poly interpreter's 21 # I think there may be a race condition in the poly interpreter's
20 # tests for open or closed I/O streams - without the "echo" here, 22 # tests for open or closed I/O streams - without the "echo" here,
21 # or with stderr redirection, this pipeline will sometimes hang 23 # or with stderr redirection, this pipeline will sometimes hang
22 if echo | poly -v 2>/dev/null | grep -q 'Poly/ML'; then 24 elif echo | poly -v 2>/dev/null | grep -q 'Poly/ML'; then
23 sml="poly" 25 sml="poly"
24 elif sml -h 2>&1 | grep -q 'Standard ML of New Jersey'; then
25 sml="smlnj"
26 elif mlton 2>&1 | grep -q 'MLton'; then 26 elif mlton 2>&1 | grep -q 'MLton'; then
27 sml="mlton" 27 sml="mlton"
28 else cat 1>&2 <<EOF 28 else cat 1>&2 <<EOF
29 29
30 ERROR: No supported SML compiler or interpreter found 30 ERROR: No supported SML compiler or interpreter found
33 33
34 The Vext external source code manager needs a Standard ML (SML) 34 The Vext external source code manager needs a Standard ML (SML)
35 compiler or interpreter to run. 35 compiler or interpreter to run.
36 36
37 Please ensure you have one of the following SML implementations 37 Please ensure you have one of the following SML implementations
38 installed and present in your PATH, and try again. These are listed 38 installed and present in your PATH, and try again.
39 approximately in order of preference for this task.
40 39
41 1. Poly/ML 40 1. Standard ML of New Jersey
41 - often found in a distribution package called: smlnj
42 - executable name: sml
43
44 2. Poly/ML
42 - often found in a distribution package called: polyml 45 - often found in a distribution package called: polyml
43 - executable name: poly 46 - executable name: poly
44
45 2. Standard ML of New Jersey
46 - often found in a distribution package called: smlnj
47 - executable name: sml
48 47
49 3. MLton 48 3. MLton
50 - often found in a distribution package called: mlton 49 - often found in a distribution package called: mlton
51 - executable name: mlton 50 - executable name: mlton
52 51