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

feat: System.Platform.target #3207

Merged
merged 4 commits into from
Jan 24, 2024
Merged

feat: System.Platform.target #3207

merged 4 commits into from
Jan 24, 2024

Conversation

Kha
Copy link
Member

@Kha Kha commented Jan 22, 2024

Makes the LLVM triple of the current platform available to Lean code towards a solution for #2754.

Defaults to the empty string if the compiler is not clang, which can introduce some divergence between CI and local builds but should not be noticeable in most cases and is not really possible to avoid.

@Kha Kha requested review from leodemoura and kim-em as code owners January 22, 2024 15:55
@Kha Kha force-pushed the platform-target branch from 3e95388 to e2137e5 Compare January 22, 2024 15:58
@github-actions github-actions bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label Jan 24, 2024
@Kha Kha added the full-ci label Jan 24, 2024
@Kha Kha enabled auto-merge January 24, 2024 11:15
@Kha Kha added this pull request to the merge queue Jan 24, 2024
Merged via the queue into leanprover:master with commit 2beb948 Jan 24, 2024
18 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Feb 1, 2024
This combines a few platform-related changes:

* Add a ternary `platformIndependent` Lean configuration option to
assert whether Lake should assume Lean code is platform-independent. If
`true`, Lake will exclude platform-independent objects like external
libraries or dynlibs created through `precompileModules` from module
traces. If `false`, Lake will add the platform to module traces. If
`none` (the default), Lake will retain the current behavior (modules are
platform-dependent if and only if it depends on native objects).
* Use `System.Platform.target` from #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).
* Do not add the platform descriptor into custom build archive names
(i.e., a user-set `buildArchive` configuration). This allows users to
create cross-platform / platform-independent archives via a name
override should they so desire.

Closes #2754.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant