requires BAR and BAR is not set: we can either silently define BAR
(default, recommended) or give an error and abort (mainly useful for
requires BAR and BAR is not set: we can either silently define BAR
(default, recommended) or give an error and abort (mainly useful for