diff --git a/docs/cookbook/c/allconfig.do b/docs/cookbook/c/allconfig.do index 807a1c9..466c175 100644 --- a/docs/cookbook/c/allconfig.do +++ b/docs/cookbook/c/allconfig.do @@ -8,24 +8,35 @@ config() { ( cd "$dir" && ../configure --host="$arch" "$@" && - ( set --; - . ./redoconf.rc && - rc_include rc/CC.rc && - [ -n "$HAVE_CC" ] - ) && echo "$dir" - ) || (echo "Skipping arch '$arch' $*" >&2) + ) } -for d in $(cat arches); do - if [ "$d" = "native" ]; then - arch="" - else - arch="$d" - fi - config "out.$d" "$arch" & - config "out.$d.static" "$arch" "--enable-static" & - config "out.$d.opt" "$arch" "--enable-optimization" & +dirs=$( + for d in $(cat arches); do + if [ "$d" = "native" ]; then + arch="" + else + arch="$d" + fi + config "out.$d" "$arch" + config "out.$d.static" "$arch" "--enable-static" + config "out.$d.opt" "$arch" "--enable-optimization" + done +) + +for dir in $dirs; do + echo "$dir/rc/CC.rc" +done | xargs redo-ifchange + +for dir in $dirs; do + ( cd "$dir" && + set --; + . ./redoconf.rc && + rc_include rc/CC.rc && + [ -n "$HAVE_CC" ] && + echo "$dir" + ) || (echo "Skipping $dir' - no working C compiler." >&2) done >$3 wait