@@ -124,10 +124,10 @@ def OleanAndCTarget.activate (self : OleanAndCTarget) : SchedulerM ActiveOleanAn
124
124
def moduleTarget
125
125
[CheckExists i] [GetMTime i] [ComputeHash i m] [MonadLiftT m BuildM] (info : i)
126
126
(leanFile traceFile : FilePath) (contents : String) (depTarget : BuildTarget x)
127
- (build : BuildM PUnit) : BuildTarget i :=
127
+ (argTrace : BuildTrace) ( build : BuildM PUnit) : BuildTarget i :=
128
128
Target.mk info <| depTarget.bindOpaqueSync fun depTrace => do
129
129
let srcTrace : BuildTrace := ⟨Hash.ofString contents, ← getMTime leanFile⟩
130
- let fullTrace := (← getLeanTrace).mix <| srcTrace.mix depTrace
130
+ let fullTrace := (← getLeanTrace).mix <| argTrace.mix <| srcTrace.mix depTrace
131
131
let upToDate ← fullTrace.checkAgainstFile info traceFile
132
132
unless upToDate do
133
133
build
@@ -138,16 +138,17 @@ def moduleOleanAndCTarget
138
138
(leanFile cFile oleanFile traceFile : FilePath)
139
139
(contents : String) (depTarget : BuildTarget x)
140
140
(rootDir : FilePath := "." ) (leanArgs : Array String := #[]) : OleanAndCTarget :=
141
+ let info := OleanAndC.mk oleanFile cFile
141
142
let ileanFile := oleanFile.withExtension "ilean"
142
- moduleTarget (OleanAndC.mk oleanFile cFile) leanFile traceFile contents depTarget do
143
+ moduleTarget info leanFile traceFile contents depTarget (pureHash leanArgs) do
143
144
compileLeanModule leanFile oleanFile ileanFile cFile (← getOleanPath) rootDir leanArgs (← getLean)
144
145
145
146
def moduleOleanTarget
146
147
(leanFile oleanFile traceFile : FilePath)
147
148
(contents : String) (depTarget : BuildTarget x)
148
149
(rootDir : FilePath := "." ) (leanArgs : Array String := #[]) : FileTarget :=
149
150
let ileanFile := oleanFile.withExtension "ilean"
150
- let target := moduleTarget oleanFile leanFile traceFile contents depTarget do
151
+ let target := moduleTarget oleanFile leanFile traceFile contents depTarget (pureHash leanArgs) do
151
152
compileLeanModule leanFile oleanFile ileanFile none (← getOleanPath) rootDir leanArgs (← getLean)
152
153
target.withTask do target.bindSync fun oleanFile depTrace => do
153
154
return mixTrace (← computeTrace oleanFile) depTrace
0 commit comments