-
Notifications
You must be signed in to change notification settings - Fork 451
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: lake: improved platform information & control #3226
Conversation
c6be1e0
to
0a3a5ff
Compare
Mathlib CI status (docs):
|
2649c6c
to
2e3b4aa
Compare
2e3b4aa
to
f876f9a
Compare
f876f9a
to
c49da9a
Compare
Can we verify that
works in Mathlib before merging this? It seems to not retrieve any oleans at present. |
@semorrison I am confused, how would this prevent cache from downloading oleans? It is my understanding the cache uses it own custom traces for oleans. If this broke anything, I would think it would be |
I suspect it is just that you force pushed just recently, so no update to date oleans are available right now anyway. So not an indication of a problem, just a request that we run this check successfully at least once before merging! (I don't want to have something hit |
@semorrison I just tested (now the cache is uploaded) and |
feat: adaptations for leanprover/lean4#3226
!bench |
Here are the benchmark results for commit c49da9a. |
This combines a few platform-related changes:
platformIndependent
Lean configuration option to assert whether Lake should assume Lean code is platform-independent. Iftrue
, Lake will exclude platform-independent objects like external libraries or dynlibs created throughprecompileModules
from module traces. Iffalse
, Lake will add the platform to module traces. Ifnone
(the default), Lake will retain the current behavior (modules are platform-dependent if and only if it depends on native objects).System.Platform.target
from feat: System.Platform.target #3207 as the platform descriptor in Lake for the configuration file trace, the cloud release archive, and as the platform trace in Lean modules and native artifacts (e.g., object files, and static and shared libraries).buildArchive
configuration). This allows users to create cross-platform / platform-independent archives via a name override should they so desire.Closes #2754.