Well the idea come up to have negative requirements, something like:
Unit A is only allowed to build when there is no Unit B
maybe in the code with something like this:
<unit-requirements>
<unit name="B" value="false"/>
</unit-requirements>
What do you think of this? Is this useful, needed , nonsens?