-
Notifications
You must be signed in to change notification settings - Fork 460
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
feat: staged CMake build with Lake as a plugin #6929
base: master
Are you sure you want to change the base?
Conversation
Mathlib CI status (docs):
|
@Kha Due to naming constraints I did not reuse |
I think we should just strip |
@Kha |
Right, I suppose so. I don't see a downside at least, these would be weird prefixes/suffixes for a module name |
This PR passes the previous stages Lake as a plugin to the next stage's Lake in the CMake build. This enables Lake to use its own builtin elaborators / initializers at build time.
The Lake plugin is stored as
lib/lean/Lake.(dll|dynlib|so)
, which is just a copy of the Lake shared library (libLake_shared
). The shared library cannot be used directly because its naming scheme is not compatible with--plugin
(which requires the module name and library name to match exactly).