Skip to content
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

Add eager_mode() definition and call in __init__() #61

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

staticfloat
Copy link
Member

New work on BB2 will create a LazyJLLWrappers that has a (slightly) different API, and is lazily-loaded. In order to be compatible with JLLs that still use JLLWrappers, we define an eager_mode() method that eagerly loads all libraries for use in a downstream JLL that still uses JLLWrappers.

This PR adds no-op eager_mode() implementations for all old JLLs, and invokes eager_mode() on all dependencies to pave the way for this interopability.

New work on BB2 will create a `LazyJLLWrappers` that has a (slightly)
different API, and is lazily-loaded.  In order to be compatible with
JLLs that still use `JLLWrappers`, we define an `eager_mode()` method
that eagerly loads all libraries for use in a downstream JLL that still
uses `JLLWrappers`.

This PR adds no-op `eager_mode()` implementations for all old JLLs, and
invokes `eager_mode()` on all dependencies to pave the way for this
interopability.
staticfloat added a commit to JuliaPackaging/BinaryBuilder2.jl that referenced this pull request Mar 27, 2024
We can actually co-exist with JLLWrappers with a little bit of extra
work, adding an `eager_mode()` function [0].  This allows us to have
fully lazy semantics when the entire tree of dependencies is using
`LazyJLLWrappers`, but subtrees that have old `JLLWrappers` JLLs will
all be flipped into eager mode.

X-ref: JuliaPackaging/JLLWrappers.jl#61
@staticfloat
Copy link
Member Author

@giordano FYI. The LazyJLLWrappers implementation is visible here: https://github.com/JuliaPackaging/BB2.jl/tree/main/LazyJLLWrappers.jl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant