On May 6, 2018, at 15:34, Joshua Root wrote: > On 2018-5-6 20:37 , Ryan Schmidt wrote: >> >> On May 5, 2018, at 20:54, Joshua Root wrote: >> >>> We record what stdlib it was *asked* >>> to build with in the registry. The stdlib it actually was built with is >>> determined by inspecting the binaries. >> >> Which is precisely why it is more or less required that the author of the >> Portfile correctly specify in the Portfile the stdlib that the binaries were >> built with, right? So that it gets recorded correctly in the registry? So >> that rev-upgrade won't claim there is a mismatch? > > If you specify one it needs to be correct, yes. But rev-upgrade won't > claim there's a mismatch if you clear configure.cxx_stdlib. You didn't > ask for it to be built with any stdlib in particular, so whatever it > uses is OK.
I expected this to be used for dependencies too. (If it isn't used that way now, maybe it can be in the future.) For example, the libxl port uses a binary built with libstdc++, so it uses "configure.cxx_stdlib libstdc++" to inform MacPorts base of that. If I now make another port that uses C++ and libxl, it too must use libstdc++. If I forget to write "configure.cxx_stdlib libstdc++" in that new port, MacPorts base could notify me that there is a C++ stdlib mismatch between this port and its dependency. If libxl hadn't indicated which stdlib it uses, that would not be possible.
