-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
Possible strategy to resolve the neverending CoreFoundation purity woes on Darwin #24693
Comments
I've started work on this, but it's a little tricky |
Thanks 🙏 for working on this! |
Here's the strategy, since I'm having free time issues:
This means that any time you pull in Another way of describing the strategy is to use the Does that make sense? |
After some thinking i cannot think of any linking issues and why this shouldn't work. Since every part of our compile/link toolchain is a wrapper we can instruct it to do what we want. The only issue i would like to point is, what is the impact if some builds with our older pure CF headers but the newer linked CF has different symbols. Do you known any list of BC breaks in the apple docs for CF? |
A complete proposal of a design should reference Apple documentation for every assertion made. So, a strategy I would recommend is:
I think some split of these tasks would be good, in order to avoid a two year long issue. |
Another strategy I was thinking was with to exploit the cross compilation stuff so that build-time dependencies (normally executables to be run) might be Now, code gen for build time, runtime executable dependencies, etc etc complicate things. But extra conditions can get around all that. Forgive me if this solves a non-problem, but this this or a variation would allow transitive library deps that ultimately need the impure one to not necessitate an impure build process. |
Implemented in #27598 |
❤️ |
This is a placeholder until I finish writing more details, but I want to refer to it from code.
The short answer is some rpath hackery in the pure CoreFoundation and some careful hooks.
The text was updated successfully, but these errors were encountered: