-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Fix issue in find_package in cross-compilation for no OS #7282
Conversation
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.
My comments are a bit mixed, but I wanted to keep my whole thought process around.
What I'm not sure about is whether the lack of threads must be fixed upon package export (i.e. does it constitute a package variant?) or if it can truly be set by the loader of the package.
In the latter case, we should move targets that depend on threads to a separate export set, so they aren't even created in the user's build when Halide_NO_THREADS
is set.
In #7297 we removed the dependency on |
4632bcf
to
b1c4109
Compare
The latest commit no longer uses Alternative approach where user explicitly declares is to add the option argument |
Where does this PR stand? |
Ping for status |
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.
Simple change for less-noisy UX. Please see my comment below
Overall, I'm a little bit concerned about how this PR determines whether or not a runtime will get a dependency on The "real" problem as I understand it is that, currently, pipeline libraries that don't actually use threads in their schedules get a spurious dependency on Thus, it seems like the most correct solution would be to only add So we're electing to use a proxy instead. In this PR, that proxy is "whether or not the Better would be to take a two step approach:
This is pretty similar to your prior implementation, with the major difference being the function argument qualification so that invocations of |
(1) .... or |
D'oh. Yes.
Maybe this means that whether or not threads are required can be accurately computed from the target string? |
When using toolchain where Threads libs are not available, which is the case in baremetal target cross-compilation, we were not able to load even HalideHelpers pacakge.
b1c4109
to
cfceda3
Compare
I have updated the patch accordingly. I appreciate your efforts in your busy time! |
Looks like some breakage from top-of-tree LLVM changes, fixes underway |
So is this ready to land? |
Yep, merged. |
When using toolchain where Threads libs are not available, which is the case in baremetal target cross-compilation, we were not able to load even HalideHelpers pacakge. Co-authored-by: Alex Reinking <[email protected]>
When using toolchain where Threads libs are not available, which is the case in baremetal target cross-compilation, we were not able to load even HalideHelpers pacakge.