File: .lake/packages/lean4/src/lean/lake/Lake/Build/Info.lean

full_name: Lake.BuildInfo.sharedExternLib
code: /-- The type of Lake's build info. -/
inductive BuildInfo
| moduleFacet (module : Module) (facet : Name)
| packageFacet (package : Package) (facet : Name)
| libraryFacet (lib : LeanLib) (facet : Name)
| leanExe (exe : LeanExe)
| staticExternLib (lib : ExternLib)
| sharedExternLib (lib : ExternLib)
| dynlibExternLib (lib : ExternLib)
| target (package : Package) (target : Name)
goal: Lake.BuildInfo

full_name: Lake.BuildInfo
code: /-- The type of Lake's build info. -/
inductive BuildInfo
| moduleFacet (module : Module) (facet : Name)
| packageFacet (package : Package) (facet : Name)
| libraryFacet (lib : LeanLib) (facet : Name)
| leanExe (exe : LeanExe)
| staticExternLib (lib : ExternLib)
| sharedExternLib (lib : ExternLib)
| dynlibExternLib (lib : ExternLib)
| target (package : Package) (target : Name)
goal: Type

full_name: Lake.BuildInfo.moduleFacet
code: /-- The type of Lake's build info. -/
inductive BuildInfo
| moduleFacet (module : Module) (facet : Name)
| packageFacet (package : Package) (facet : Name)
| libraryFacet (lib : LeanLib) (facet : Name)
| leanExe (exe : LeanExe)
| staticExternLib (lib : ExternLib)
| sharedExternLib (lib : ExternLib)
| dynlibExternLib (lib : ExternLib)
| target (package : Package) (target : Name)
goal: Lake.BuildInfo

full_name: Lake.BuildInfo.dynlibExternLib
code: /-- The type of Lake's build info. -/
inductive BuildInfo
| moduleFacet (module : Module) (facet : Name)
| packageFacet (package : Package) (facet : Name)
| libraryFacet (lib : LeanLib) (facet : Name)
| leanExe (exe : LeanExe)
| staticExternLib (lib : ExternLib)
| sharedExternLib (lib : ExternLib)
| dynlibExternLib (lib : ExternLib)
| target (package : Package) (target : Name)
goal: Lake.BuildInfo

full_name: Lake.BuildInfo.leanExe
code: /-- The type of Lake's build info. -/
inductive BuildInfo
| moduleFacet (module : Module) (facet : Name)
| packageFacet (package : Package) (facet : Name)
| libraryFacet (lib : LeanLib) (facet : Name)
| leanExe (exe : LeanExe)
| staticExternLib (lib : ExternLib)
| sharedExternLib (lib : ExternLib)
| dynlibExternLib (lib : ExternLib)
| target (package : Package) (target : Name)
goal: Lake.BuildInfo

full_name: Lake.BuildInfo.libraryFacet
code: /-- The type of Lake's build info. -/
inductive BuildInfo
| moduleFacet (module : Module) (facet : Name)
| packageFacet (package : Package) (facet : Name)
| libraryFacet (lib : LeanLib) (facet : Name)
| leanExe (exe : LeanExe)
| staticExternLib (lib : ExternLib)
| sharedExternLib (lib : ExternLib)
| dynlibExternLib (lib : ExternLib)
| target (package : Package) (target : Name)
goal: Lake.BuildInfo

full_name: Lake.BuildInfo.packageFacet
code: /-- The type of Lake's build info. -/
inductive BuildInfo
| moduleFacet (module : Module) (facet : Name)
| packageFacet (package : Package) (facet : Name)
| libraryFacet (lib : LeanLib) (facet : Name)
| leanExe (exe : LeanExe)
| staticExternLib (lib : ExternLib)
| sharedExternLib (lib : ExternLib)
| dynlibExternLib (lib : ExternLib)
| target (package : Package) (target : Name)
goal: Lake.BuildInfo

full_name: Lake.BuildInfo.target
code: /-- The type of Lake's build info. -/
inductive BuildInfo
| moduleFacet (module : Module) (facet : Name)
| packageFacet (package : Package) (facet : Name)
| libraryFacet (lib : LeanLib) (facet : Name)
| leanExe (exe : LeanExe)
| staticExternLib (lib : ExternLib)
| sharedExternLib (lib : ExternLib)
| dynlibExternLib (lib : ExternLib)
| target (package : Package) (target : Name)
goal: Lake.BuildInfo

full_name: Lake.BuildInfo.staticExternLib
code: /-- The type of Lake's build info. -/
inductive BuildInfo
| moduleFacet (module : Module) (facet : Name)
| packageFacet (package : Package) (facet : Name)
| libraryFacet (lib : LeanLib) (facet : Name)
| leanExe (exe : LeanExe)
| staticExternLib (lib : ExternLib)
| sharedExternLib (lib : ExternLib)
| dynlibExternLib (lib : ExternLib)
| target (package : Package) (target : Name)
goal: Lake.BuildInfo

full_name: Lake.Module.facetBuildKey
code: abbrev Module.facetBuildKey (facet : Name) (self : Module) : BuildKey 
goal: Lake.BuildKey

full_name: Lake.Package.facetBuildKey
code: abbrev Package.facetBuildKey (facet : Name) (self : Package) : BuildKey 
goal: Lake.BuildKey

full_name: Lake.Package.targetBuildKey
code: abbrev Package.targetBuildKey (target : Name) (self : Package) : BuildKey 
goal: Lake.BuildKey

full_name: Lake.LeanLib.facetBuildKey
code: abbrev LeanLib.facetBuildKey (self : LeanLib) (facet : Name) : BuildKey 
goal: Lake.BuildKey

full_name: Lake.LeanExe.buildKey
code: abbrev LeanExe.buildKey (self : LeanExe) : BuildKey 
goal: Lake.BuildKey

full_name: Lake.ExternLib.staticBuildKey
code: abbrev ExternLib.staticBuildKey (self : ExternLib) : BuildKey 
goal: Lake.BuildKey

full_name: Lake.ExternLib.sharedBuildKey
code: abbrev ExternLib.sharedBuildKey (self : ExternLib) : BuildKey 
goal: Lake.BuildKey

full_name: Lake.ExternLib.dynlibBuildKey
code: abbrev ExternLib.dynlibBuildKey (self : ExternLib) : BuildKey 
goal: Lake.BuildKey

full_name: Lake.BuildInfo.key
code: /-- The key that identifies the build in the Lake build store. -/
@[reducible] def BuildInfo.key : (self : BuildInfo) → BuildKey

goal: Lake.BuildKey

full_name: Lake.instFamilyDefBuildKeyBuildDataKeyModuleFacetOfFamilyOutNameModuleData
code: instance [FamilyOut ModuleData f α]
: FamilyDef BuildData (BuildInfo.key (.moduleFacet m f)) α 
goal: Lake.FamilyDef Lake.BuildData (Lake.BuildInfo.moduleFacet m f).key α

full_name: Lake.instFamilyDefBuildKeyBuildDataKeyPackageFacetOfFamilyOutNamePackageData
code: instance [FamilyOut PackageData f α]
: FamilyDef BuildData (BuildInfo.key (.packageFacet p f)) α 
goal: Lake.FamilyDef Lake.BuildData (Lake.BuildInfo.packageFacet p f).key α

full_name: Lake.«instFamilyDefBuildKeyBuildDataCustomTargetNameCustomDataMkName_.lake»
code: instance (priority := low) {p : NPackage n} : FamilyDef BuildData
  (.customTarget p.toPackage.name t) (CustomData (n,t)) 
goal: Lake.FamilyDef Lake.BuildData (Lake.BuildKey.customTarget p.name t) (Lake.CustomData (n, t))

full_name: Lake.instFamilyDefBuildKeyBuildDataKeyTargetOfFamilyOutProdNameCustomDataMk
code: instance {p : NPackage n} [FamilyOut CustomData (n, t) α]
: FamilyDef BuildData (BuildInfo.key (.target p.toPackage t)) α 
goal: Lake.FamilyDef Lake.BuildData (Lake.BuildInfo.target p.toPackage t).key α

full_name: Lake.instFamilyDefBuildKeyBuildDataKeyLibraryFacetOfFamilyOutNameTargetDataHAppendMkStr1
code: instance [FamilyOut TargetData (`leanLib ++ f) α]
: FamilyDef BuildData (BuildInfo.key (.libraryFacet l f)) α 
goal: Lake.FamilyDef Lake.BuildData (Lake.BuildInfo.libraryFacet l f).key α

full_name: Lake.instFamilyDefBuildKeyBuildDataKeyLeanExeOfFamilyOutNameTargetDataExeFacet
code: instance [FamilyOut TargetData LeanExe.exeFacet α]
: FamilyDef BuildData (BuildInfo.key (.leanExe x)) α 
goal: Lake.FamilyDef Lake.BuildData (Lake.BuildInfo.leanExe x).key α

full_name: Lake.instFamilyDefBuildKeyBuildDataKeyStaticExternLibOfFamilyOutNameTargetDataStaticFacet
code: instance [FamilyOut TargetData ExternLib.staticFacet α]
: FamilyDef BuildData (BuildInfo.key (.staticExternLib l)) α 
goal: Lake.FamilyDef Lake.BuildData (Lake.BuildInfo.staticExternLib l).key α

full_name: Lake.instFamilyDefBuildKeyBuildDataKeySharedExternLibOfFamilyOutNameTargetDataSharedFacet
code: instance [FamilyOut TargetData ExternLib.sharedFacet α]
: FamilyDef BuildData (BuildInfo.key (.sharedExternLib l)) α 
goal: Lake.FamilyDef Lake.BuildData (Lake.BuildInfo.sharedExternLib l).key α

full_name: Lake.instFamilyDefBuildKeyBuildDataKeyDynlibExternLibOfFamilyOutNameTargetDataDynlibFacet
code: instance [FamilyOut TargetData ExternLib.dynlibFacet α]
: FamilyDef BuildData (BuildInfo.key (.dynlibExternLib l)) α 
goal: Lake.FamilyDef Lake.BuildData (Lake.BuildInfo.dynlibExternLib l).key α

full_name: Lake.Module.importsFacet
code: /-- The direct local imports of the Lean module. -/
abbrev Module.importsFacet 
goal: Lake.Name

full_name: Lake.ModuleData.lean.imports
code: module_data lean.imports : Array Module
goal: Lake.ModuleData `lean.imports = Array Lake.Module

full_name: Lake.«instFamilyDefNameModuleDataMkStr2ArrayModule_.lake»
code: module_data lean.imports : Array Module
goal: Lake.FamilyDef Lake.ModuleData `lean.imports (Array Lake.Module)

full_name: Lake.Module.transImportsFacet
code: /-- The transitive local imports of the Lean module. -/
abbrev Module.transImportsFacet 
goal: Lake.Name

full_name: Lake.«instFamilyDefNameModuleDataMkStr2ArrayModule_.lake_1»
code: module_data lean.transImports : Array Module
goal: Lake.FamilyDef Lake.ModuleData `lean.transImports (Array Lake.Module)

full_name: Lake.ModuleData.lean.transImports
code: module_data lean.transImports : Array Module
goal: Lake.ModuleData `lean.transImports = Array Lake.Module

full_name: Lake.Module.precompileImportsFacet
code: /-- The transitive local imports of the Lean module. -/
abbrev Module.precompileImportsFacet 
goal: Lake.Name

full_name: Lake.«instFamilyDefNameModuleDataMkStr2ArrayModule_.lake_2»
code: module_data lean.precompileImports : Array Module
goal: Lake.FamilyDef Lake.ModuleData `lean.precompileImports (Array Lake.Module)

full_name: Lake.ModuleData.lean.precompileImports
code: module_data lean.precompileImports : Array Module
goal: Lake.ModuleData `lean.precompileImports = Array Lake.Module

full_name: Lake.Module.dynlibFacet
code: /-- Shared library for `--load-dynlib`. -/
abbrev Module.dynlibFacet 
goal: Lake.Name

full_name: Lake.«instFamilyDefNameModuleDataMkStr1BuildJobDynlib_.lake»
code: module_data dynlib : BuildJob Dynlib
goal: Lake.FamilyDef Lake.ModuleData `dynlib (Lake.BuildJob Lake.Dynlib)

full_name: Lake.ModuleData.dynlib
code: module_data dynlib : BuildJob Dynlib
goal: Lake.ModuleData `dynlib = Lake.BuildJob Lake.Dynlib

full_name: Lake.LeanLib.modulesFacet
code: /-- A Lean library's Lean modules. -/
abbrev LeanLib.modulesFacet 
goal: Lake.Name

full_name: Lake.«instFamilyDefNameTargetDataHAppendMkStr1ArrayModule_.lake»
code: library_data modules : Array Module
goal: Lake.FamilyDef Lake.TargetData (`leanLib ++ `modules) (Array Lake.Module)

full_name: Lake.TargetData.leanLib.modules
code: library_data modules : Array Module
goal: Lake.TargetData (`leanLib ++ `modules) = Array Lake.Module

full_name: Lake.Package.depsFacet
code: /-- The package's complete array of transitive dependencies. -/
abbrev Package.depsFacet 
goal: Lake.Name

full_name: Lake.«instFamilyDefNamePackageDataMkStr1ArrayPackage_.lake»
code: package_data deps : Array Package
goal: Lake.FamilyDef Lake.PackageData `deps (Array Lake.Package)

full_name: Lake.PackageData.deps
code: package_data deps : Array Package
goal: Lake.PackageData `deps = Array Lake.Package

full_name: Lake.Module.facet
code: /-- Build info for the module's specified facet. -/
abbrev facet (facet : Name) (self : Module) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.Module.imports
code: @[inherit_doc importsFacet] abbrev imports (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.transImports
code: @[inherit_doc transImportsFacet] abbrev transImports (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.precompileImports
code: @[inherit_doc precompileImportsFacet] abbrev precompileImports (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.deps
code: @[inherit_doc depsFacet] abbrev deps  (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.leanArts
code: @[inherit_doc leanArtsFacet] abbrev leanArts  (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.olean
code: @[inherit_doc oleanFacet] abbrev olean (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.ilean
code: @[inherit_doc ileanFacet] abbrev ilean (self : Module)  
goal: Lake.BuildInfo

full_name: Lake.Module.c
code: @[inherit_doc cFacet] abbrev c (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.bc
code: @[inherit_doc cFacet] abbrev bc (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.o
code: @[inherit_doc oFacet] abbrev o (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.oExport
code: @[inherit_doc oExportFacet] abbrev oExport (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.oNoExport
code: @[inherit_doc oNoExportFacet] abbrev oNoExport (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.co
code: @[inherit_doc coFacet] abbrev co (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.coExport
code: @[inherit_doc coExportFacet] abbrev coExport (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.coNoExport
code: @[inherit_doc coNoExportFacet] abbrev coNoExport (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.bco
code: @[inherit_doc bcoFacet] abbrev bco (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Module.dynlib
code: @[inherit_doc dynlibFacet] abbrev dynlib (self : Module) 
goal: Lake.BuildInfo

full_name: Lake.Package.facet
code: /-- Build info for the package's specified facet. -/
abbrev Package.facet (facet : Name) (self : Package) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.Package.release
code: @[inherit_doc releaseFacet]
abbrev Package.release (self : Package) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.Package.optRelease
code: @[inherit_doc optReleaseFacet]
abbrev Package.optRelease (self : Package) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.Package.extraDep
code: @[inherit_doc extraDepFacet]
abbrev Package.extraDep (self : Package) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.Package.target
code: /-- Build info for a custom package target. -/
abbrev Package.target (target : Name) (self : Package) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.LeanLib.facet
code: /-- Build info of the Lean library's Lean binaries. -/
abbrev LeanLib.facet (self : LeanLib) (facet : Name) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.LeanLib.modules
code: @[inherit_doc modulesFacet]
abbrev LeanLib.modules (self : LeanLib) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.LeanLib.leanArts
code: @[inherit_doc leanArtsFacet]
abbrev LeanLib.leanArts (self : LeanLib) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.LeanLib.static
code: @[inherit_doc staticFacet]
abbrev LeanLib.static (self : LeanLib) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.LeanLib.staticExport
code: @[inherit_doc staticExportFacet]
abbrev LeanLib.staticExport (self : LeanLib) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.LeanLib.shared
code: @[inherit_doc sharedFacet]
abbrev LeanLib.shared (self : LeanLib) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.LeanLib.extraDep
code: @[inherit_doc extraDepFacet]
abbrev LeanLib.extraDep (self : LeanLib) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.LeanExe.exe
code: /-- Build info of the Lean executable. -/
abbrev LeanExe.exe (self : LeanExe) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.ExternLib.static
code: /-- Build info of the external library's static binary. -/
abbrev ExternLib.static (self : ExternLib) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.ExternLib.shared
code: /-- Build info of the external library's shared binary. -/
abbrev ExternLib.shared (self : ExternLib) : BuildInfo 
goal: Lake.BuildInfo

full_name: Lake.ExternLib.dynlib
code: /-- Build info of the external library's dynlib. -/
abbrev ExternLib.dynlib (self : ExternLib) : BuildInfo 
goal: Lake.BuildInfo