History

Fix subtle build.bash issue

Boils down to eval error propogation or lack thereof.

malc committed 6 years ago

Commit 8a7fb4e1 parent b18f2c72 files · +12 −8Browse files

Unified · Split

2 files
  1. build.bash +7 −7
  2. todo.org +5 −1
build.bash+7−7
@@ -149,7 +149,7 @@ bocaml2() { · 148 unmodified lines
149 local cmd="ocamlc -depend -bytecode -one-line $(oincs $o) $s"149 local cmd="ocamlc -depend -bytecode -one-line $(oincs $o) $s"
150 local keycmd="digest $o $s $o.depl"150 local keycmd="digest $o $s $o.depl"
151 isfresh "$o.depl" "$overs$cmd$(eval $keycmd)" || {151 isfresh "$o.depl" "$overs$cmd$(eval $keycmd)" || {
152 eval "$cmd || die '$cmd' failed" | {152 eval "$cmd" | {
153 read _ _ depl153 read _ _ depl
154 :>"$o.depl"154 :>"$o.depl"
155 for d in $depl; do155 for d in $depl; do
@@ -176,7 +176,7 @@ bocaml2() { · 20 unmodified lines
176 keycmd="digest $o $s $(< $o.depl)"176 keycmd="digest $o $s $(< $o.depl)"
177 isfresh "$o" "$overs$cmd$(eval $keycmd)" || {177 isfresh "$o" "$overs$cmd$(eval $keycmd)" || {
178 printf "%*.s%s -> %s\n" $n '' "${s#$srcd/}" "${o#$outd/}"178 printf "%*.s%s -> %s\n" $n '' "${s#$srcd/}" "${o#$outd/}"
179 eval "$cmd || die '$cmd failed'"179 eval "$cmd" || die "$cmd failed"
180 echo "$overs$cmd$(eval $keycmd)" >"$o.past"180 echo "$overs$cmd$(eval $keycmd)" >"$o.past"
181 } && vecho "fresh '$o'"181 } && vecho "fresh '$o'"
182}182}
@@ -220,7 +220,7 @@ bocamlc() { · 37 unmodified lines
220 local keycmd='digest $o $d'220 local keycmd='digest $o $d'
221 isfresh "$o" "$cvers$cmd$(eval $keycmd)" || {221 isfresh "$o" "$cvers$cmd$(eval $keycmd)" || {
222 printf "%s -> %s\n" "${s#$srcd/}" "${o#$outd/}"222 printf "%s -> %s\n" "${s#$srcd/}" "${o#$outd/}"
223 eval "$cmd || die '$cmd failed'"223 eval "$cmd" || die "$cmd failed"
224 read _ d <$o.dep224 read _ d <$o.dep
225 echo "$cvers$cmd$(eval $keycmd)" >"$o.past"225 echo "$cvers$cmd$(eval $keycmd)" >"$o.past"
226 } && vecho "fresh $o"226 } && vecho "fresh $o"
@@ -234,7 +234,7 @@ bobjc() { · 7 unmodified lines
234 local keycmd='digest $o $d'234 local keycmd='digest $o $d'
235 isfresh "$o" "$cmd$(eval $keycmd)" || {235 isfresh "$o" "$cmd$(eval $keycmd)" || {
236 printf "%s -> %s\n" "${s#$srcd/}" "${o#$outd/}"236 printf "%s -> %s\n" "${s#$srcd/}" "${o#$outd/}"
237 eval "$cmd || die '$cmd failed'"237 eval "$cmd" || die "$cmd failed"
238 read _ d <$o.dep238 read _ d <$o.dep
239 echo "$cmd$(eval $keycmd)" >"$o.past"239 echo "$cmd$(eval $keycmd)" >"$o.past"
240 } && vecho "fresh $o"240 } && vecho "fresh $o"
@@ -246,7 +246,7 @@ cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)" · 5 unmodified lines
246keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml"246keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml"
247isfresh "$outd/confstruct.ml" "$cmd$(eval $keycmd)" || {247isfresh "$outd/confstruct.ml" "$cmd$(eval $keycmd)" || {
248 echo "generating $outd/confstruct.ml"248 echo "generating $outd/confstruct.ml"
249 eval "$cmd || die genconfstr.sh failed"249 eval "$cmd" || die genconfstr.sh failed
250 echo "$cmd$(eval $keycmd)" > "$outd/confstruct.ml.past"250 echo "$cmd$(eval $keycmd)" > "$outd/confstruct.ml.past"
251} && vecho "fresh $outd/confstruct.ml"251} && vecho "fresh $outd/confstruct.ml"
252 252
@@ -264,7 +264,7 @@ for target; do · 11 unmodified lines
264 cmd="asciidoctor -b manpage -o $out $src"264 cmd="asciidoctor -b manpage -o $out $src"
265 isfresh "$out" "$cmd$(eval $keycmd)" || {265 isfresh "$out" "$cmd$(eval $keycmd)" || {
266 echo "$src -> $out"266 echo "$src -> $out"
267 eval "$cmd || die '$cmd failed'"267 eval "$cmd" || die "$cmd failed"
268 echo "$cmd$(eval $keycmd)" >"$out.past"268 echo "$cmd$(eval $keycmd)" >"$out.past"
269 } && vecho "fresh $out"269 } && vecho "fresh $out"
270 done;;270 done;;
@@ -306,7 +306,7 @@ cmd="ocamlc -custom $libs -o $outd/llpp $cobjs $(echo $ord) -cclib \"$clibs\"" · 35 unmodified lines
306keycmd="digest $outd/llpp $cobjs $ord $mulibs"306keycmd="digest $outd/llpp $cobjs $ord $mulibs"
307isfresh "$outd/llpp" "$cmd$(eval $keycmd)" || {307isfresh "$outd/llpp" "$cmd$(eval $keycmd)" || {
308 echo linking $outd/llpp308 echo linking $outd/llpp
309 eval "$cmd || die '$cmd failed'"309 eval "$cmd" || die "$cmd failed"
310 echo "$cmd$(eval $keycmd)" >"$outd/llpp.past"310 echo "$cmd$(eval $keycmd)" >"$outd/llpp.past"
311} && vecho "fresh llpp"311} && vecho "fresh llpp"
312 312
todo.org+5−1
@@ -9,7 +9,11 @@ · 8 unmodified lines
9** TODO Make isfresh work (properly) with multiple targets9** TODO Make isfresh work (properly) with multiple targets
10** TODO Removing .mlis leads to build errors10** TODO Removing .mlis leads to build errors
11 Nuking everything (or just deleting .deps?) solves it though11 Nuking everything (or just deleting .deps?) solves it though
12** TODO errors in config.ml12** 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* TODO [maybe] inside rect/quad (_Generic)17* TODO [maybe] inside rect/quad (_Generic)
14* TODO Shift-insert for searches18* TODO Shift-insert for searches
15* TODO Threaded rendering19* TODO Threaded rendering

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t