When entries in links are specified with an extension we treat them
like frameworks for the most part. They are placed into the
Frameworks group and added to the Frameworks build phase. We do have
separate logic for the file reference, only because we never want to
resolve a .dylib link to the /System/Frameworks directory. Instead
we assume a .dylib link that is just a file name, e.g. 'libA.dylib',
is relative to the project the same way as if it were prefixed with
'./'.
Without this, files are added to the exclude list on all configurations,
which disables autocompletion on Xcode. If a file is just excluded in
some configurations it's handled the old way.
As discussed numerous times, get rid of the submodule approach for core modules and just included the sources directly in the main repository.
I have no idea how this will play with existing working copies. It might be necessary to [manually clear out the existing submodules](http://stackoverflow.com/questions/1260748) first.