Simple Builtin Facet Declarations #
This module contains the definitions of most of the builtin facets.
The others are defined Build.Info
. The facets there require configuration
definitions (e.g., Module
), and some of the facets here are used in said
definitions.
Module Facets #
Equations
- Lake.instReprModuleFacet = { reprPrec := Lake.reprModuleFacet✝ }
The module's Lean source file.
Equations
- Lake.Module.leanFacet = `module.lean
Instances For
The parsed module header of the module's source file.
Equations
- Lake.Module.headerFacet = `module.header
Instances For
The computed configuration of a module for Lean.
In the process, this facet will build all of a module's dependencies,
including transitive imports, plugins, and those specified by needs
.
Equations
- Lake.Module.setupFacet = `module.setup
Instances For
This facet builds all of a module's dependencies,
including transitive imports, plugins, and those specified by needs
.
Equations
- Lake.Module.depsFacet = `module.deps
Instances For
Information about the imports of a module.
- directArts : Lean.NameMap Lean.ImportArtifacts
Artifacts directly needed for the imports of the module.
- trace : BuildTrace
The trace produced by mixing the traces of
directArts
with their transitive imports. - transTrace : BuildTrace
Transitive import trace for an
import
of the module with the module system enabled. - metaTransTrace : BuildTrace
Transitive import trace for a
meta import
of the module. - allTransTrace : BuildTrace
Transitive import trace for an
import all
of the module. - legacyTransTrace : BuildTrace
Transitive import trace for an
import
of the module without the module system enabled.
Instances For
For internal use only. Information about the imports of this module.
Equations
- Lake.Module.importInfoFacet = `module.importInfo
Instances For
Information useful to importers of a module.
- arts : Lean.ImportArtifacts
Artifacts directly needed for an
import
of the module with the module system enabled. - artsTrace : BuildTrace
The trace of the module's public olean.
- metaArtsTrace : BuildTrace
The trace of the module's public olean and IR.
- allArts : Lean.ImportArtifacts
Artifacts directly needed for an
import
of the module from a module without the module system enabled orimport all
of the module from a module with it enabled. - allArtsTrace : BuildTrace
The trace produced by mixing the traces of
allArts
. - transTrace : BuildTrace
Transitive import trace for an
import
of the module with the module system enabled. - metaTransTrace : BuildTrace
Transitive import trace for a
meta import
of the module. - allTransTrace : BuildTrace
Transitive import trace for an
import all
of the module. - legacyTransTrace : BuildTrace
Transitive import trace for an
import
of the module without the module system enabled.
Instances For
For internal use only. Information useful to importers of this module.
Equations
- Lake.Module.exportInfoFacet = `module.exportInfo
Instances For
Artifacts directly needed for an import
of this module with the module system enabled.
Equations
- Lake.Module.importArtsFacet = `module.importArts
Instances For
Artifacts directly needed for an import
of this module from a module without the module
system enabled or import all
of this module from a module with it enabled.
Equations
- Lake.Module.importAllArtsFacet = `module.importAllArts
Instances For
The olean
file produced by lean
.
Equations
- Lake.Module.oleanFacet = `module.olean
Instances For
The olean.server
file produced by lean
(with the module system enabled).
Equations
- Lake.Module.oleanServerFacet = `module.olean.server
Instances For
The olean.private
file produced by lean
(with the module system enabled).
Equations
- Lake.Module.oleanPrivateFacet = `module.olean.private
Instances For
The ilean
file produced by lean
.
Equations
- Lake.Module.ileanFacet = `module.ilean
Instances For
The ir
file produced by lean
(with the module system enabled).
Equations
- Lake.Module.irFacet = `module.ir
Instances For
The LLVM bitcode (bc
) file produced by lean
.
Equations
- Lake.Module.bcFacet = `module.bc
Instances For
The object file .c.o
built from c
.
On Windows, this is c.o.noexport
, on other systems it is c.o.export
).
Equations
- Lake.Module.coFacet = `module.c.o
Instances For
The object file .c.o.export
built from c
(with -DLEAN_EXPORTING
).
Equations
- Lake.Module.coExportFacet = `module.c.o.export
Instances For
The object file .c.o.noexport
built from c
(without -DLEAN_EXPORTING
).
Equations
- Lake.Module.coNoExportFacet = `module.c.o.noexport
Instances For
The object file .bc.o
built from bc
.
Equations
- Lake.Module.bcoFacet = `module.bc.o
Instances For
The object file built from c
/bc
.
On Windows with the C backend, no Lean symbols are exported.
On every other configuration, symbols are exported.
Equations
- Lake.Module.oFacet = `module.o
Instances For
The object file built from c
/bc
(with Lean symbols exported).
Equations
- Lake.Module.oExportFacet = `module.o.export
Instances For
The object file built from c
/bc
(without Lean symbols exported).
Equations
- Lake.Module.oNoExportFacet = `module.o.noexport
Instances For
Package Facets #
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
- Lake.Package.optBuildCacheFacet = `package.optCache
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
- Lake.Package.buildCacheFacet = `package.cache
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
- Lake.Package.optReservoirBarrelFacet = `package.optBarrel
Instances For
A package's Reservoir build archive from Reservoir. Will cause the whole build to fail if the barrel cannot be fetched.
Equations
- Lake.Package.reservoirBarrelFacet = `package.barrel
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
- Lake.Package.optGitHubReleaseFacet = `package.optRelease
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
- Lake.Package.gitHubReleaseFacet = `package.release
Instances For
A package's extraDepTargets
mixed with its transitive dependencies'.
Equations
- Lake.Package.extraDepFacet = `package.extraDep
Instances For
Target Facets #
The library's default facets (as specified by its defaultFacets
configuration). .
Equations
- Lake.LeanLib.defaultFacet = `lean_lib.default
Instances For
A Lean library's Lean artifacts (e.g., olean
, ilean
, c
).
Equations
- Lake.LeanLib.leanArtsFacet = `lean_lib.leanArts
Instances For
A Lean library's static artifact.
Equations
- Lake.LeanLib.staticFacet = `lean_lib.static
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
- Lake.LeanLib.staticExportFacet = `lean_lib.static.export
Instances For
A Lean library's extraDepTargets
mixed with its package's.
Equations
- Lake.LeanLib.extraDepFacet = `lean_lib.extraDep
Instances For
The executable's default facet (i.e., an alias for exe
)
Equations
- Lake.LeanExe.defaultFacet = `lean_exe.default
Instances For
The external library's default facet (i.e., an alias for static
)
Equations
- Lake.ExternLib.defaultFacet = `extern_lib.default
Instances For
A external library's static binary.
Equations
- Lake.ExternLib.staticFacet = `extern_lib.static
Instances For
A external library's dynlib.
Equations
- Lake.ExternLib.dynlibFacet = `extern_lib.dynlib
Instances For
The default facet for an input file. Produces the file path.
Equations
- Lake.InputFile.defaultFacet = `input_file.default
Instances For
The default facet for an input directory. Produces the matching files in the directory.
Equations
- Lake.InputDir.defaultFacet = `input_dir.default