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.
- path : Lake.FilePath
Library file path.
- name : String
Library name without platform-specific prefix/suffix (for
-l).
A dynamic/shared library for linking.
Instances For
Optional library directory (for -L).
Equations
- Lake.Dynlib.dir? self = System.FilePath.parent self.path
Instances For
Module Facets #
- name : Lake.Name
The name of the module facet.
- data_eq : Lake.ModuleData s.name = α
Proof that module's facet build result is of type α.
A module facet name along with proof of its data type.
Instances For
Equations
- Lake.instReprModuleFacet = { reprPrec := Lake.reprModuleFacet✝ }
Equations
- Lake.instCoeDepNameModuleFacet = { coe := { name := facet, data_eq := (_ : Lake.ModuleData facet = α) } }
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
- Lake.Module.depsFacet = `deps
Instances For
The core build facet of a Lean file.
Elaborates the Lean file via lean and produces all the Lean artifacts
of the module (i.e., olean, ilean, c).
Its trace just includes its dependencies.
Equations
- Lake.Module.leanArtsFacet = `leanArts
Instances For
The olean file produced by lean.
Equations
- Lake.Module.oleanFacet = `olean
Instances For
The ilean file produced by lean.
Equations
- Lake.Module.ileanFacet = `ilean
Instances For
The C file built from the Lean file via lean.
Equations
Instances For
Package Facets #
A package's cloud build release.
Equations
- Lake.Package.releaseFacet = `release
Instances For
A package's extraDepTargets mixed with its transitive dependencies'.
Equations
- Lake.Package.extraDepFacet = `extraDep
Instances For
Target Facets #
A Lean library's Lean artifacts (i.e., olean, ilean, c).
Equations
- Lake.LeanLib.leanArtsFacet = `leanArts
Instances For
Equations
- One or more equations did not get rendered due to their size.
A Lean library's static artifact.
Equations
- Lake.LeanLib.staticFacet = `static
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
A Lean library's extraDepTargets mixed with its package's.
Equations
- Lake.LeanLib.extraDepFacet = `extraDep
Instances For
Equations
- One or more equations did not get rendered due to their size.
A Lean binary executable.
Equations
- Lake.LeanExe.exeFacet = `leanExe
Instances For
A external library's static binary.
Equations
- Lake.ExternLib.staticFacet = `externLib.static
Instances For
A external library's dynlib.
Equations
- Lake.ExternLib.dynlibFacet = `externLib.dynlib