Dear Pat,
I'd like to kill the evil that is :weakly-depends-on, and your cl-growl seems to be the only user of it in quicklisp.
:weakly-depends-on is evil because it's non-deterministic, and what code you get depends on which order things were compiled or configured, and you can't fix things after the fact. Could you stop using it?
Alternatives include having a separate system foo+bar that explicitly loads foo and bar before doing the connection, and/or using asdf-system-connections to automatically load foo+bar when both foo and bar have been loaded. I don't personally like this automatic loading, but at least it doesn't break determinism.
As for allowing a system to run with or without another, that's what hooks are call, i.e. runtime configuration variables.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org So that there be reality, there must be an observer. "I am, therefore someone thinks." — Faré