-
Notifications
You must be signed in to change notification settings - Fork 195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Emit supplemental outputs for the target variant #1770
base: main
Are you sure you want to change the base?
Conversation
This should have no actual impact on compilation. The idea is that we are grouping the supplementary outputs that are specific to a given target. This will allow us to store two of them, one for the target and one for the target-variant. The end goal being that we can emit the target variant interface bits in the same driver invocation that generates the zippered object files.
This patch wires up emitting the interface information for the target variant in the same swiftc invocation that emits the zippered object file.
This patch adds the api description to the set of supplemental outputs emitted for both the target and target variant.
This adds flags for setting the variant module doc path, source info path, api descriptor path, module interface path, private interface path, and package interface path.
@swift-ci please test |
Now teaching the compiler to emit the ABI JSON file for the target variant module.
ef97232
to
b3c8853
Compare
swiftlang/swift#78336 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a good way to do it.
Have you given any thought to folding moduleOutputPaths
into moduleOutputInfo
?
I did consider it. My reasons for not doing that was 1, size of the patch, and 2, |
This patch teaches the driver how to emit the supplementary outputs for a module build for the target-variant.
These supplementary outputs are:
This means that the driver can emit all of the relevant outputs for a build in a single invocation without needing to be called twice with the same arguments, with one to emit the zippered object and target supplemental outputs, and again for the target-variant outputs.
Patch to add new flags: swiftlang/swift#78336
rdar://141582282