File: .lake/packages/lean4/src/lean/lake/Lake/Config/LeanLib.lean

full_name: Lake.LeanLib
code: /-- A Lean library -- its package plus its configuration. -/
structure LeanLib where
  /-- The package the library belongs to. -/
  pkg : Package
   /-- The library's user-defined configuration. -/
  config : LeanLibConfig
goal: Type

full_name: Lake.LeanLib.pkg
code: /-- A Lean library -- its package plus its configuration. -/
structure LeanLib where
  /-- The package the library belongs to. -/
  pkg : Package
   /-- The library's user-defined configuration. -/
  config : LeanLibConfig
goal: Lake.Package

full_name: Lake.LeanLib.config
code: /-- A Lean library -- its package plus its configuration. -/
structure LeanLib where
  /-- The package the library belongs to. -/
  pkg : Package
   /-- The library's user-defined configuration. -/
  config : LeanLibConfig
goal: Lake.LeanLibConfig

full_name: Lake.Package.leanLibs
code: /-- The Lean libraries of the package (as an Array). -/
@[inline] def Package.leanLibs (self : Package) : Array LeanLib 
goal: Array Lake.LeanLib

full_name: Lake.Package.findLeanLib?
code: /-- Try to find a Lean library in the package with the given name. -/
@[inline] def Package.findLeanLib? (name : Name) (self : Package) : Option LeanLib 
goal: Option Lake.LeanLib

full_name: Lake.LeanLib.name
code: /-- The library's well-formed name. -/
@[inline] def name (self : LeanLib) : Name 
goal: Lake.Name

full_name: Lake.LeanLib.srcDir
code: /-- The package's `srcDir` joined with the library's `srcDir`. -/
@[inline] def srcDir (self : LeanLib) : FilePath 
goal: Lake.FilePath

full_name: Lake.LeanLib.rootDir
code: /-- The library's root directory for `lean` (i.e., `srcDir`). -/
@[inline] def rootDir (self : LeanLib) : FilePath 
goal: Lake.FilePath

full_name: Lake.LeanLib.roots
code: /--
The names of the library's root modules
(i.e., the library's `roots` configuration).
-/
@[inline] def roots (self : LeanLib) : Array Name 
goal: Array Lake.Name

full_name: Lake.LeanLib.isLocalModule
code: /-- Whether the given module is considered local to the library. -/
@[inline] def isLocalModule (mod : Name) (self : LeanLib) : Bool 
goal: Bool

full_name: Lake.LeanLib.isBuildableModule
code: /-- Whether the given module is a buildable part of the library. -/
@[inline] def isBuildableModule (mod : Name) (self : LeanLib) : Bool 
goal: Bool

full_name: Lake.LeanLib.staticLibFileName
code: /-- The file name of the library's static binary (i.e., its `.a`) -/
@[inline] def staticLibFileName (self : LeanLib) : FilePath 
goal: Lake.FilePath

full_name: Lake.LeanLib.staticLibFile
code: /-- The path to the static library in the package's `libDir`. -/
@[inline] def staticLibFile (self : LeanLib) : FilePath 
goal: Lake.FilePath

full_name: Lake.LeanLib.staticExportLibFile
code: /-- The path to the static library (with exported symbols) in the package's `libDir`. -/
@[inline] def staticExportLibFile (self : LeanLib) : FilePath 
goal: Lake.FilePath

full_name: Lake.LeanLib.sharedLibFileName
code: /-- The file name of the library's shared binary (i.e., its `dll`, `dylib`, or `so`) . -/
@[inline] def sharedLibFileName (self : LeanLib) : FilePath 
goal: Lake.FilePath

full_name: Lake.LeanLib.sharedLibFile
code: /-- The path to the shared library in the package's `libDir`. -/
@[inline] def sharedLibFile (self : LeanLib) : FilePath 
goal: Lake.FilePath

full_name: Lake.LeanLib.extraDepTargets
code: /-- The library's `extraDepTargets` configuration. -/
@[inline] def extraDepTargets (self : LeanLib) 
goal: Array Lake.Name

full_name: Lake.LeanLib.precompileModules
code: /--
Whether to precompile the library's modules.
Is true if either the package or the library have `precompileModules` set.
-/
@[inline] def precompileModules (self : LeanLib) : Bool 
goal: Bool

full_name: Lake.LeanLib.platformIndependent
code: /--
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.
-/
@[inline] def platformIndependent (self : LeanLib) : Option Bool 
goal: Option Bool

full_name: Lake.LeanLib.defaultFacets
code: /-- The library's `defaultFacets` configuration. -/
@[inline] def defaultFacets (self : LeanLib) : Array Name 
goal: Array Lake.Name

full_name: Lake.LeanLib.nativeFacets
code: /-- The library's `nativeFacets` configuration. -/
@[inline] def nativeFacets (self : LeanLib) (shouldExport : Bool) : Array (ModuleFacet (BuildJob FilePath)) 
goal: Array (Lake.ModuleFacet (Lake.BuildJob Lake.FilePath))

full_name: Lake.LeanLib.serverOptions
code: /--
The arguments to pass to `lean --server` when running the Lean language server.
`serverOptions` is the the accumulation of:
- the package's `leanOptions`
- the package's `moreServerOptions`
- the library's `leanOptions`
- the library's `moreServerOptions`
-/
@[inline] def serverOptions (self : LeanLib) : Array LeanOption 
goal: Array Lake.LeanOption

full_name: Lake.LeanLib.buildType
code: /--
The build type for modules of this library.
That is, the minimum of package's `buildType` and the library's  `buildType`.
-/
@[inline] def buildType (self : LeanLib) : BuildType 
goal: Lake.BuildType

full_name: Lake.LeanLib.backend
code: /--
The backend type for modules of this library.
Prefer the library's `backend` configuration, then the package's,
then the default (which is C for now).
-/
@[inline] def backend (self : LeanLib) : Backend 
goal: Lake.Backend

full_name: Lake.LeanLib.leanArgs
code: /--
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`
-/
@[inline] def leanArgs (self : LeanLib) : Array String 
goal: Array String

full_name: Lake.LeanLib.weakLeanArgs
code: /--
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`.
-/
@[inline] def weakLeanArgs (self : LeanLib) : Array String 
goal: Array String

full_name: Lake.LeanLib.leancArgs
code: /--
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`.
-/
@[inline] def leancArgs (self : LeanLib) : Array String 
goal: Array String

full_name: Lake.LeanLib.weakLeancArgs
code: /--
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`.
-/
@[inline] def weakLeancArgs (self : LeanLib) : Array String 
goal: Array String

full_name: Lake.LeanLib.linkArgs
code: /--
The arguments to pass to `leanc` when linking the shared library.
That is, the package's `moreLinkArgs` plus the library's  `moreLinkArgs`.
-/
@[inline] def linkArgs (self : LeanLib) : Array String 
goal: Array String

full_name: Lake.LeanLib.weakLinkArgs
code: /--
The arguments to weakly pass to `leanc` when linking the shared library.
That is, the package's `weakLinkArgs` plus the library's  `weakLinkArgs`.
-/
@[inline] def weakLinkArgs (self : LeanLib) : Array String 
goal: Array String