Mercurial > hg > sonic-annotator
comparison vext @ 315:9ebb9ac79bdf
Update vext
author | Chris Cannam |
---|---|
date | Fri, 06 Oct 2017 13:28:21 +0100 |
parents | d741e2c90eab |
children |
comparison
equal
deleted
inserted
replaced
314:d741e2c90eab | 315:9ebb9ac79bdf |
---|---|
60 sml="mlton" | 60 sml="mlton" |
61 else cat 1>&2 <<EOF | 61 else cat 1>&2 <<EOF |
62 | 62 |
63 ERROR: No supported SML compiler or interpreter found | 63 ERROR: No supported SML compiler or interpreter found |
64 EOF | 64 EOF |
65 cat <<EOF | 65 cat 1>&2 <<EOF |
66 | 66 |
67 The Vext external source code manager needs a Standard ML (SML) | 67 The Vext external source code manager needs a Standard ML (SML) |
68 compiler or interpreter to run. | 68 compiler or interpreter to run. |
69 | 69 |
70 Please ensure you have one of the following SML implementations | 70 Please ensure you have one of the following SML implementations |
88 fi | 88 fi |
89 | 89 |
90 arglist="" | 90 arglist="" |
91 for arg in "$@"; do | 91 for arg in "$@"; do |
92 if [ -n "$arglist" ]; then arglist="$arglist,"; fi | 92 if [ -n "$arglist" ]; then arglist="$arglist,"; fi |
93 if echo "$arg" | grep -q '[^a-z]' ; then | 93 if echo "$arg" | grep -q '["'"'"']' ; then |
94 arglist="$arglist\"usage\"" | 94 arglist="$arglist\"usage\"" |
95 else | 95 else |
96 arglist="$arglist\"$arg\"" | 96 arglist="$arglist\"$arg\"" |
97 fi | 97 fi |
98 done | 98 done |
108 echo 'use "'"$program"'"; vext ['"$arglist"'];' | | 108 echo 'use "'"$program"'"; vext ['"$arglist"'];' | |
109 poly -q --error-exit | 109 poly -q --error-exit |
110 fi ;; | 110 fi ;; |
111 mlton) | 111 mlton) |
112 if [ ! -x "$gen_out" ]; then | 112 if [ ! -x "$gen_out" ]; then |
113 echo "[Precompiling Vext binary...]" 1>&2 | |
113 echo "val _ = main ()" | cat "$program" - > "$gen_sml" | 114 echo "val _ = main ()" | cat "$program" - > "$gen_sml" |
114 mlton -output "$gen_out" "$gen_sml" | 115 mlton -output "$gen_out" "$gen_sml" |
115 fi | 116 fi |
116 "$gen_out" "$@" ;; | 117 "$gen_out" "$@" ;; |
117 smlnj) | 118 smlnj) |
139 val _ = OS.Process.exit (OS.Process.success); | 140 val _ = OS.Process.exit (OS.Process.success); |
140 EOF | 141 EOF |
141 ) > "$gen_sml" | 142 ) > "$gen_sml" |
142 CM_VERBOSE=false sml "$gen_sml" ;; | 143 CM_VERBOSE=false sml "$gen_sml" ;; |
143 *) | 144 *) |
144 echo "Unknown SML implementation name: $sml"; | 145 echo "ERROR: Unknown SML implementation name: $sml" 1>&2; |
145 exit 2 ;; | 146 exit 2 ;; |
146 esac | 147 esac |
147 | 148 |