-
Notifications
You must be signed in to change notification settings - Fork 207
Respect -driver-use-frontend-path throughout job creation #50
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
Respect -driver-use-frontend-path throughout job creation #50
Conversation
@swift-ci please test |
Allows overridden Swift compiler frontend paths to work.
@swift-ci please test |
@swift-ci please test |
@swift-ci please test |
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.
One optional suggestion about the factoring, but otherwise LGTM.
@@ -17,6 +17,7 @@ extension Toolchain { | |||
func computeResourceDirPath( | |||
for triple: Triple, | |||
parsedOptions: inout ParsedOptions, | |||
swiftCompiler: AbsolutePath, |
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.
Should these Toolchain
extension methods still be on Toolchain
? They used to call getToolPath(.swiftCompiler)
, but now that they’re taking swiftCompiler
as an input, I don’t think they’re using any requirements. But I could be missing something, and even if I’m not, it’s reasonable to wait for a different PR.
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.
It seems plausible that different toolchains could have different locations for the resource directory, so I feel like Toolchain
needs to be involved here... but I don't have a good sense for how this should be architected. Perhaps all tools should be overridable in some generalized manner and we either register that with the toolchain or pass through some dictionary of overrides?
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'd like to tackle the fix-the-architecture question a bit later, because this unblocks more testing.
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.
Overridable tools make sense to me, but what you've got here is severable from that!
@swift-ci please test |
1 similar comment
@swift-ci please test |
@swift-ci please test platform macOS |
1 similar comment
@swift-ci please test platform macOS |
@swift-ci please test |
@swift-ci please test macOS |
A number of job-creation functions were asking the toolchain for the frontend path, rather than using the frontend path computed by the
Driver
instance. Fix them, and thread the Driver-computed Swift frontend path everywhere. We might want to change the way things are layered here in the future.