On Jul 15, 2017, at 11:50 PM, Nick Coghlan <ncoghlan@gmail.com> wrote:
The exact norms around what's acceptable behaviour for out-of-tree wheel builds (and just how hard backends should try to match the build_sdist -> in-place build_wheel path in that case) is then something that will evolve over time, and I'm OK with that.
My expectation is that build backends are going to do the same amount of effort for trying to match the “via sdist” case in both the out of place and the in-place builds. I may be wrong, but that’s my general expectation because I don’t think it really makes sense for a build backend to go through a whole lot of extra effort in the out of place build case and then.. just not do that in the in-place build case. So I think that option is largely satisfying the “don’t crap up the current directory” desire and a desire to put the build artifacts in a certain location for subsequent caching. I don’t think it’s going to be generally useful for trying to match a sdist. I don’t however think this is a bad thing, honestly trying to do something different in terms of matching in-place vs out-of-place builds in terms of what files get installed sounds like a recipe for adding *another* variant of way something gets installed which means it makes the possible problem worse not better. I think that if you want a guarantee of parity with the via sdist case, then you have to go via sdist or you’re just introducing another case, but we should document that build tools should generally strive to be as consistent as they can in both the via sdist and the direct to wheel case. — Donald Stufft