@@ -55,11 +55,18 @@ import Distribution.Simple.Configure
55
55
import Distribution.Simple.ShowBuildInfo
56
56
import Distribution.Utils.Json
57
57
58
- import Distribution.Simple.BuildTarget (readTargetInfos )
59
- import Distribution.Types.LocalBuildInfo (neededTargetsInBuildOrder' )
60
- import Distribution.Compat.Graph (IsNode (nodeKey ))
61
- import Distribution.Simple.Setup (BuildFlags (buildArgs ))
62
- import Distribution.Types.TargetInfo (TargetInfo (targetCLBI ))
58
+ import Distribution.Simple.BuildTarget
59
+ ( readTargetInfos )
60
+ import Distribution.Types.LocalBuildInfo
61
+ ( neededTargetsInBuildOrder' )
62
+ import Distribution.Compat.Graph
63
+ ( IsNode (nodeKey ) )
64
+ import Distribution.Simple.Setup
65
+ ( BuildFlags (.. ) )
66
+ import Distribution.Types.TargetInfo
67
+ ( TargetInfo (.. ) )
68
+ import Distribution.Simple.Build
69
+ ( componentInitialBuildSteps )
63
70
64
71
showBuildInfoCommand :: CommandUI (NixStyleFlags ShowBuildInfoFlags )
65
72
showBuildInfoCommand = CommandUI {
@@ -225,6 +232,12 @@ getComponentInfo verbosity baseCtx buildCtx lock pkgs targetUnitId =
225
232
let pkgDesc = elabPkgDescription pkg
226
233
targets <- readTargetInfos verbosity pkgDesc lbi (buildArgs flags)
227
234
let targetsToBuild = neededTargetsInBuildOrder' pkgDesc lbi (map nodeKey targets)
235
+
236
+ -- generate autogen files which will be needed by tooling
237
+ flip mapM_ targetsToBuild $ \ target ->
238
+ componentInitialBuildSteps (Cabal. fromFlag (buildDistPref flags))
239
+ pkgDesc lbi (targetCLBI target) verbosity
240
+
228
241
return $ map (mkComponentInfo pkgDesc lbi . targetCLBI) targetsToBuild
229
242
230
243
where
0 commit comments