[swift-dev] Why are we re-linking?
rintaro ishizaki
fs.output at gmail.com
Thu May 5 23:08:59 CDT 2016
Hi all,
getSwiftFullVersion output must take account stdlib revsion?
How about get the revision hash from the Swift repository
*excluding* stdlib/, test/ and validation-test/ directories.
git log -1 --pretty=format:%H -- \
. \
:(exclude)stdlib \
:(exclude)test \
:(exclude)validation-test
Instead of,
git log -1 --pretty=format:%H
Or more specifically, just include only "compiler" related directories:
git log -1 --pretty=format:%H -- include/ lib/ tools/
I've wrote PoC code
2016-04-12 2:22 GMT+09:00 Jordan Rose via swift-dev <swift-dev at swift.org>:
>
> On Apr 7, 2016, at 14:01, Chris Lattner <clattner at apple.com> wrote:
>
>
> On Apr 6, 2016, at 11:08 AM, Jordan Rose via swift-dev <
> swift-dev at swift.org> wrote:
>
> I imagine it's because your git hash has changed, which is used in the
> --version output for swiftc. I'm not sure how to avoid that cost entirely,
> but we could add a CMake option to not do it (which you could set locally),
> and we could probably move it to a library that isn't used by most of those
> tools (so that we're only re-linking swiftc).
>
>
> Could we move the hash to be a text file stored next to the executables in
> the installdir? That way the text file gets updated, but not the binaries?
>
>
> Oh, that's clever. Maybe that's good enough for local builds. I'd want to
> be careful about it for the binary we ship (to not waste an fstat).
>
> FWIW this isn't *quite* just --version output; we also stamp it into
> swiftmodule files. But any build with an actual submission tag will use
> that instead.
>
> Jordan
>
>
> _______________________________________________
> swift-dev mailing list
> swift-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160506/2815bb73/attachment.html>
More information about the swift-dev
mailing list