Someone correct me if this is a mistaken observation.
The stock toolsets/generators use "actions link" to build a program and "actions link.dll" to build a shared library (and "actions archive" to build a static archive). The inheritance relationship between link and link.dll to me is unfortunate because there may be some flags that apply to building a program that you don't want to be inherited (by link.dll) when building a library. It seems to me to make more sense to employ say "actions link.exe" for building EXE type - thus providing a hook to discriminate EXE flags from LIB flags - if that makes any sense. BB2 gives me the freedom to do just this but I thought it was worth mentioning for the benefit of other toolset implementers that come along.
Does this make any sense to the experts?