Skip to content
This repository has been archived by the owner on Oct 25, 2023. It is now read-only.

Commit

Permalink
refactor: merge IndexTargets into Index
Browse files Browse the repository at this point in the history
  • Loading branch information
tydeu committed Jul 25, 2022
1 parent dda1afc commit 05e770b
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 52 deletions.
2 changes: 1 addition & 1 deletion Lake/Build.lean
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Authors: Mac Malone
-/
import Lake.Build.Monad
import Lake.Build.Actions
import Lake.Build.IndexTargets
import Lake.Build.Index
import Lake.Build.Module
import Lake.Build.Package
import Lake.Build.Imports
43 changes: 43 additions & 0 deletions Lake/Build/Index.lean
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,46 @@ export BuildInfo (build buildIn)
have : FamilyDef BuildData info.key (ActiveBuildTarget α) :=
⟨h.family_key_eq_type ▸ key_eq_type⟩
info.target

/-! ### Module Facet Targets -/

/-- An opaque target thats build the module facet in a fresh build store. -/
@[inline] def Module.facetTarget (facet : Name) (self : Module)
[FamilyDef ModuleData facet (ActiveBuildTarget α)] : OpaqueTarget :=
self.facet facet |>.target

/-! ### Pure Lean Lib Targets -/

@[inline] protected def LeanLib.leanTarget (self : LeanLib) : OpaqueTarget :=
self.lean.target

@[inline] protected def Package.leanLibTarget (self : Package) : OpaqueTarget :=
self.builtinLib.leanTarget

/-! ### Native Lean Lib Targets -/

@[inline] protected def LeanLib.staticLibTarget (self : LeanLib) : FileTarget :=
self.static.target.withInfo self.sharedLibFile

@[inline] protected def Package.staticLibTarget (self : Package) : FileTarget :=
self.builtinLib.staticLibTarget

@[inline] protected def LeanLib.sharedLibTarget (self : LeanLib) : FileTarget :=
self.shared.target.withInfo self.sharedLibFile

@[inline] protected def Package.sharedLibTarget (self : Package) : FileTarget :=
self.builtinLib.sharedLibTarget

/-! ### Lean Executable Targets -/

@[inline] protected def LeanExe.build (self : LeanExe) : BuildM ActiveFileTarget :=
self.exe.build

@[inline] protected def LeanExe.recBuild (self : LeanExe) : IndexBuildM ActiveFileTarget :=
self.exe.recBuild

@[inline] protected def LeanExe.target (self : LeanExe) : FileTarget :=
self.exe.target.withInfo self.file

@[inline] protected def Package.exeTarget (self : Package) : FileTarget :=
self.builtinExe.target
51 changes: 0 additions & 51 deletions Lake/Build/IndexTargets.lean

This file was deleted.

0 comments on commit 05e770b

Please sign in to comment.