comparison vext @ 1719:1f4fb4a0f62a vext

Merge from branch output-type-uri
author Chris Cannam
date Tue, 27 Jun 2017 11:30:50 +0100
parents 434be2f0509e
children bf8a5ce8fb62
comparison
equal deleted inserted replaced
1716:e64981b88943 1719:1f4fb4a0f62a
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