#!/bin/sh # Some systems have broken linkers that don't return a failure exit # status when there are unresolved symbols in the link. This script # attempts to recognize errors by scanning stderr. ( $* 3>&1 1>&2 2>&3 | \ awk '/[Ee]rror|ERROR|[Uu]nresolved|[Ff]atal/ {err=1} /File .* cannot be found/ {err=1} /Unsatisfied external references/ {err=1} {print} END {exit err}' ) 3>&1 1>&2 2>&3