A Lean library's declarative configuration.
- buildType : Lake.BuildType
- leanOptions : Array Lake.LeanOption
- moreServerOptions : Array Lake.LeanOption
- backend : Lake.Backend
- name : Lake.Name
The name of the target.
- srcDir : Lake.FilePath
The subdirectory of the package's source directory containing the library's Lean source files. Defaults simply to said
srcDir.(This will be passed to
leanas the-Roption.) The root module(s) of the library. Submodules of these roots (e.g.,
Lib.FooofLib) are considered part of the library. Defaults to a single root of the target's name.- libName : String
The name of the library. Used as a base for the file names of its static and dynamic binaries. Defaults to the name of the target.
An
Arrayof target names to build before the library's modules.- precompileModules : Bool
Whether to compile each of the library's modules into a native shared library that is loaded whenever the module is imported. This speeds up evaluation of metaprograms and enables the interpreter to run functions marked
@[extern].Defaults to
false. An
Arrayof library facets to build on a barelake buildof the library. For example,#[LeanLib.sharedLib]will build the shared library facet.- nativeFacets : Bool → Array (Lake.ModuleFacet (Lake.BuildJob Lake.FilePath))
The module facets to build and combine into the library's static and shared libraries. If
shouldExportis true, the module facets should export any symbols a user may expect to lookup in the library. For example, the Lean interpreter will use exported symbols in linked libraries.Defaults to a singleton of
Module.oExportFacet(ifshouldExport) orModule.oFacet. That is, the object files compiled from the Lean sources, potentially with exported Lean symbols.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Whether the given module is considered local to the library.
Equations
- Lake.LeanLibConfig.isLocalModule mod self = (self.roots.any (fun (root : Lake.Name) => root.isPrefixOf mod) 0 || self.globs.any (fun (glob : Lake.Glob) => Lake.Glob.matches mod glob) 0)
Instances For
Whether the given module is a buildable part of the library.
Equations
- One or more equations did not get rendered due to their size.