Implement a warning message when building an dynamic library .so, .dll o...

...r a .dylib, which are currently not supported. Closes #2562.
We should not suggest `.a` files here, as they depend on order and people constantly run into confusion there. Let's just mention `.bc`. lgtm with that.

But overall, do you feel this warning is worth it? Have people complained about this confusing them?