
Yes you remember correctly. The reasons are rather simple: if one directly refers to another library in the test, with <dll>* or <lib>*, then the library is linked to directly and hence there is no need for auto-linking. And auto-linking in that case would be redundant, and may even cause errors and warnings from the linker. But the reason one *must* refer to other libraries directly for tests is that auto-linking is not available on all platforms. Hence since they are mutually exclusive and tests need to be cross-platform auto-linking needs to be disabled for regression testing.
They're not mutually exclusive as long as the toolsets are consistently named so that the auto-link code can always generate the same name as the toolset for the library. Unfortunately the toolsets (mainly the Intel ones) aren't consistently named - we have the main toolset with no version number, for which the autolink code does the right thing, and a bunch of other versioned toolsets for which it does not :-( John.