Boils down to eval error propogation or lack thereof.
Unified · Split
| @@ -149,7 +149,7 @@ bocaml2() { · 148 unmodified lines | ||
| 149 | 149 | local cmd="ocamlc -depend -bytecode -one-line $(oincs $o) $s" |
| 150 | 150 | local keycmd="digest $o $s $o.depl" |
| 151 | 151 | isfresh "$o.depl" "$overs$cmd$(eval $keycmd)" || { |
| 152 | − eval "$cmd || die '$cmd' failed" | { | |
| 152 | + eval "$cmd" | { | |
| 153 | 153 | read _ _ depl |
| 154 | 154 | :>"$o.depl" |
| 155 | 155 | for d in $depl; do |
| @@ -176,7 +176,7 @@ bocaml2() { · 20 unmodified lines | ||
| 176 | 176 | keycmd="digest $o $s $(< $o.depl)" |
| 177 | 177 | isfresh "$o" "$overs$cmd$(eval $keycmd)" || { |
| 178 | 178 | printf "%*.s%s -> %s\n" $n '' "${s#$srcd/}" "${o#$outd/}" |
| 179 | − eval "$cmd || die '$cmd failed'" | |
| 179 | + eval "$cmd" || die "$cmd failed" | |
| 180 | 180 | echo "$overs$cmd$(eval $keycmd)" >"$o.past" |
| 181 | 181 | } && vecho "fresh '$o'" |
| 182 | 182 | } |
| @@ -220,7 +220,7 @@ bocamlc() { · 37 unmodified lines | ||
| 220 | 220 | local keycmd='digest $o $d' |
| 221 | 221 | isfresh "$o" "$cvers$cmd$(eval $keycmd)" || { |
| 222 | 222 | printf "%s -> %s\n" "${s#$srcd/}" "${o#$outd/}" |
| 223 | − eval "$cmd || die '$cmd failed'" | |
| 223 | + eval "$cmd" || die "$cmd failed" | |
| 224 | 224 | read _ d <$o.dep |
| 225 | 225 | echo "$cvers$cmd$(eval $keycmd)" >"$o.past" |
| 226 | 226 | } && vecho "fresh $o" |
| @@ -234,7 +234,7 @@ bobjc() { · 7 unmodified lines | ||
| 234 | 234 | local keycmd='digest $o $d' |
| 235 | 235 | isfresh "$o" "$cmd$(eval $keycmd)" || { |
| 236 | 236 | printf "%s -> %s\n" "${s#$srcd/}" "${o#$outd/}" |
| 237 | − eval "$cmd || die '$cmd failed'" | |
| 237 | + eval "$cmd" || die "$cmd failed" | |
| 238 | 238 | read _ d <$o.dep |
| 239 | 239 | echo "$cmd$(eval $keycmd)" >"$o.past" |
| 240 | 240 | } && vecho "fresh $o" |
| @@ -246,7 +246,7 @@ cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)" · 5 unmodified lines | ||
| 246 | 246 | keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml" |
| 247 | 247 | isfresh "$outd/confstruct.ml" "$cmd$(eval $keycmd)" || { |
| 248 | 248 | echo "generating $outd/confstruct.ml" |
| 249 | − eval "$cmd || die genconfstr.sh failed" | |
| 249 | + eval "$cmd" || die genconfstr.sh failed | |
| 250 | 250 | echo "$cmd$(eval $keycmd)" > "$outd/confstruct.ml.past" |
| 251 | 251 | } && vecho "fresh $outd/confstruct.ml" |
| 252 | 252 | |
| @@ -264,7 +264,7 @@ for target; do · 11 unmodified lines | ||
| 264 | 264 | cmd="asciidoctor -b manpage -o $out $src" |
| 265 | 265 | isfresh "$out" "$cmd$(eval $keycmd)" || { |
| 266 | 266 | echo "$src -> $out" |
| 267 | − eval "$cmd || die '$cmd failed'" | |
| 267 | + eval "$cmd" || die "$cmd failed" | |
| 268 | 268 | echo "$cmd$(eval $keycmd)" >"$out.past" |
| 269 | 269 | } && vecho "fresh $out" |
| 270 | 270 | done;; |
| @@ -306,7 +306,7 @@ cmd="ocamlc -custom $libs -o $outd/llpp $cobjs $(echo $ord) -cclib \"$clibs\"" · 35 unmodified lines | ||
| 306 | 306 | keycmd="digest $outd/llpp $cobjs $ord $mulibs" |
| 307 | 307 | isfresh "$outd/llpp" "$cmd$(eval $keycmd)" || { |
| 308 | 308 | echo linking $outd/llpp |
| 309 | − eval "$cmd || die '$cmd failed'" | |
| 309 | + eval "$cmd" || die "$cmd failed" | |
| 310 | 310 | echo "$cmd$(eval $keycmd)" >"$outd/llpp.past" |
| 311 | 311 | } && vecho "fresh llpp" |
| 312 | 312 | |
| @@ -9,7 +9,11 @@ · 8 unmodified lines | ||
| 9 | 9 | ** TODO Make isfresh work (properly) with multiple targets |
| 10 | 10 | ** TODO Removing .mlis leads to build errors |
| 11 | 11 | Nuking everything (or just deleting .deps?) solves it though |
| 12 | −** TODO errors in config.ml | |
| 12 | +** DONE errors in config.ml (!) | |
| 13 | + CLOSED: [2020-08-09 Sun 08:53] | |
| 14 | + they do not lead to aborted compilation | |
| 15 | +*** recipe: making a fresh error and compiling | |
| 16 | + (so that both config.ml and stuff that depends on it is being rebuilt by build.bash) | |
| 13 | 17 | * TODO [maybe] inside rect/quad (_Generic) |
| 14 | 18 | * TODO Shift-insert for searches |
| 15 | 19 | * TODO Threaded rendering |