#! /usr/bin/awk -f # Generate sorted list of directories. The sorting is stable but with # dependencies between directories resolved by moving dependees in front. # (C) Copyright 1998 Free Software Foundation, Inc. # Written by Ulrich Drepper , 1998. BEGIN { cnt = 0 dnt = 0 } { if ($1 ~ /depend/) { from[dnt] = $2 to[dnt] = $3 ++dnt } else { all[cnt++] = $1 } } END { do { moved = 0 for (i = 0; i < dnt; ++i) { for (j = 0; j < cnt; ++j) { if (all[j] == from[i]) { for (k = j + 1; k < cnt; ++k) { if (all[k] == to[i]) { break; } } if (k < cnt) { for (l = k - 1; l >= j; --l) { all[l + 1] = all[l] } all[j] = to[i] break; } } } if (j < cnt) { moved = 1 break } } } while (moved) printf "sorted-subdirs = " for (i = 0; i < cnt; ++i) { printf "%s ", all[i]; } printf "\n" }