TMI: link names and hidden dependencies
Jul. 19th, 2013 07:28 pmDistressingly, Graydon pointed out that rustpkg tests were sporadically failing on the bots, and I realized that it was because some of the tests shell out to call the rustpkg executable -- but the Makefiles don't know about that dependency. So, the rustpkg executable doesn't always exist by the time the tests run. I better fix that.
Mostly I worked on #6407 some more. This is harder than it looks; among other things, I have to change what's expected in the link metadata so that a link name can be a qualified path. That's because if you're referring to things like extern mod foo = github.com/whatever/foo, the metadata loader expects the link name in the metadata in the compiled library to be github.com/whatever/foo. So I have to change the driver. And stuff. This necessitated some refactoring in rustpkg with respect to what paths get passed around and how it figures out where to put output files, which is totally unremarkable except in its annoyingness.
Mostly I worked on #6407 some more. This is harder than it looks; among other things, I have to change what's expected in the link metadata so that a link name can be a qualified path. That's because if you're referring to things like extern mod foo = github.com/whatever/foo, the metadata loader expects the link name in the metadata in the compiled library to be github.com/whatever/foo. So I have to change the driver. And stuff. This necessitated some refactoring in rustpkg with respect to what paths get passed around and how it figures out where to put output files, which is totally unremarkable except in its annoyingness.