A Lean library -- its package plus its configuration.
- pkg : Lake.Package
The package the library belongs to.
- config : Lake.LeanLibConfig
The library's user-defined configuration.
Instances For
The Lean libraries of the package (as an Array).
Instances For
Try to find a Lean library in the package with the given name.
Equations
- Lake.Package.findLeanLib? name self = Option.map (fun (x : Lake.LeanLibConfig) => { pkg := self, config := x }) (Lake.RBArray.find? self.leanLibConfigs name)
Instances For
The names of the library's root modules
(i.e., the library's roots
configuration).
Instances For
Whether the given module is considered local to the library.
Instances For
Whether the given module is a buildable part of the library.
Instances For
The file name of the library's static binary (i.e., its .a
)
Instances For
The path to the static library in the package's libDir
.
Instances For
The path to the static library (with exported symbols) in the package's libDir
.
Equations
Instances For
The library's extraDepTargets
configuration.
Equations
- self.extraDepTargets = self.config.extraDepTargets
Instances For
Whether to precompile the library's modules.
Is true if either the package or the library have precompileModules
set.
Instances For
Whether to the library's Lean code is platform-independent.
Returns the library's platformIndependent
configuration if non-none
.
Otherwise, falls back to the package's.
Instances For
The library's nativeFacets
configuration.
Instances For
The arguments to pass to lean --server
when running the Lean language server.
serverOptions
is the accumulation of:
- the package's
leanOptions
- the package's
moreServerOptions
- the library's
leanOptions
- the library's
moreServerOptions
Instances For
The arguments to pass to lean
when compiling the library's Lean files.
leanArgs
is the accumulation of:
- the package's
leanOptions
- the package's
moreLeanArgs
- the library's
leanOptions
- the library's
moreLeanArgs
Equations
- self.leanArgs = self.pkg.moreLeanArgs ++ Array.map (fun (x : Lake.LeanOption) => x.asCliArg) self.config.leanOptions ++ self.config.moreLeanArgs
Instances For
The arguments to weakly pass to lean
when compiling the library's Lean files.
That is, the package's weakLeanArgs
plus the library's weakLeanArgs
.
Instances For
The arguments to pass to leanc
when compiling the library's Lean-produced C files.
That is, the build type's leancArgs
, the package's moreLeancArgs
,
and then the library's moreLeancArgs
.
Instances For
The arguments to weakly pass to leanc
when compiling the library's Lean-produced C files.
That is, the package's weakLeancArgs
plus the library's weakLeancArgs
.
Instances For
The arguments to pass to leanc
when linking the shared library.
That is, the package's moreLinkArgs
plus the library's moreLinkArgs
.
Instances For
The arguments to weakly pass to leanc
when linking the shared library.
That is, the package's weakLinkArgs
plus the library's weakLinkArgs
.