Build Info #
This module defines the Lake build info type and related utilities. Build info is what is the data passed to a Lake build function to facilitate the build.
Build Info & Keys #
Build Key Helper Constructors #
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Build Info to Key #
The key that identifies the build in the Lake build store.
Equations
Instances For
Build Info & Facets #
Complex Builtin Facet Declarations #
Additional builtin facets missing from Build.Facets
.
These are defined here because they need configuration definitions
(e.g., Module
), whereas the facets there are needed by the configuration
definitions.
The direct local imports of the Lean module.
Equations
Instances For
The transitive local imports of the Lean module.
Equations
Instances For
The transitive local imports of the Lean module.
Equations
Instances For
Shared library for --load-dynlib
.
Equations
Instances For
A Lean library's Lean modules.
Equations
Instances For
The package's array of dependencies.
Equations
Instances For
The package's complete array of transitive dependencies.
Equations
Instances For
Facet Build Info Helper Constructors #
Definitions to easily construct BuildInfo
values for module, package,
and target facets.
Module Infos #
Build info for applying the specified facet to the module. It is the user's obiligation to ensure the facet in question is a module facet.
Equations
Instances For
Build info for a module facet.
Equations
Instances For
Equations
Instances For
The direct local imports of the Lean module.
Equations
Instances For
The transitive local imports of the Lean module.
Equations
Instances For
The transitive local imports of the Lean module.
Equations
Instances For
The facet which builds all of a module's dependencies
(i.e., transitive local imports and --load-dynlib
shared libraries).
Returns the list of shared libraries to load along with their search path.
Equations
Instances For
The C file built from the Lean file via lean
.
Equations
Instances For
The C file built from the Lean file via lean
.
Equations
Instances For
The object file .c.o.export
built from c
(with -DLEAN_EXPORTING
).
Equations
Instances For
The object file .c.o.noexport
built from c
(without -DLEAN_EXPORTING
).
Equations
Instances For
Shared library for --load-dynlib
.
Equations
Instances For
Package Infos #
Build info for a package target (e.g., a library, executable, or custom target).
Equations
Instances For
Equations
Instances For
Build info for a package facet.
Equations
Instances For
Equations
Instances For
A package's cached build archive (e.g., from Reservoir or GitHub). Will cause the whole build to fail if the archive cannot be fetched.
Equations
Instances For
A package's optional cached build archive (e.g., from Reservoir or GitHub). Will NOT cause the whole build to fail if the archive cannot be fetched.
Equations
Instances For
A package's Reservoir build archive from Reservoir. Will cause the whole build to fail if the barrel cannot be fetched.
Equations
Instances For
A package's optional build archive from Reservoir. Will NOT cause the whole build to fail if the barrel cannot be fetched.
Equations
Instances For
A package's build archive from a GitHub release. Will cause the whole build to fail if the release cannot be fetched.
Equations
Instances For
A package's optional build archive from a GitHub release. Will NOT cause the whole build to fail if the release cannot be fetched.
Equations
Instances For
A package's extraDepTargets
mixed with its transitive dependencies'.
Equations
Instances For
The package's array of dependencies.
Equations
Instances For
The package's complete array of transitive dependencies.
Equations
Instances For
Lean Library Infos #
Equations
Instances For
Build info for a facet of a Lean library.
Equations
Instances For
Equations
Instances For
A Lean library's Lean modules.
Equations
Instances For
A Lean library's static artifact.
Equations
Instances For
A Lean library's static artifact (with exported symbols).
Static libraries with explicit exports are built as thin libraries. Such libraries are usually used as part of the local build process of some shared artifact and not publicly distributed. Standard static libraries are much better for distribution.
Equations
Instances For
A Lean library's extraDepTargets
mixed with its package's.
Equations
Instances For
Lean Executable Infos #
Equations
Instances For
Build info of the Lean executable.
Equations
Instances For
Equations
Instances For
External Library Infos #
Equations
Instances For
Build info of the external library's static binary.
Equations
Instances For
Equations
Instances For
Build info of the external library's dynlib.
Equations
Instances For
Equations
Instances For
Input File & Directory Infos #
Equations
Instances For
Build info of the input file's default facet.
Equations
Instances For
Equations
Instances For
Build info of the input directory's default facet.