@@ -22,16 +22,18 @@ import CabalDocspec.Trace
2222phase1
2323 :: TracerPeu r Tr
2424 -> GhcInfo
25- -> Version -- ^ package version
26- -> Path Absolute -- ^ package directory
27- -> Bool -- ^ cpp extension
28- -> [Path Absolute ] -- ^ additional include directories
29- -> [PackageIdentifier ] -- ^ dependencies
25+ -> Maybe (Path Absolute ) -- ^ builddir
26+ -> PackageName -- ^ package name
27+ -> Version -- ^ package version
28+ -> Path Absolute -- ^ package directory
29+ -> Bool -- ^ cpp extension
30+ -> [Path Absolute ] -- ^ additional include directories
31+ -> [PackageIdentifier ] -- ^ dependencies
3032 -> C. BuildInfo
3133 -> C. ModuleName
3234 -> Path Absolute
3335 -> Peu r (Module (Located String ))
34- phase1 tracer ghcInfo pkgVer pkgDir cppEnabled cppDirs pkgIds bi modname modpath = do
36+ phase1 tracer ghcInfo mbuildDir pkgName_ pkgVer pkgDir cppEnabled cppDirs pkgIds bi modname modpath = do
3537 traceApp tracer $ TracePhase1 modname modpath
3638
3739 contents <- fromUTF8BS <$> readByteString modpath
@@ -59,7 +61,16 @@ phase1 tracer ghcInfo pkgVer pkgDir cppEnabled cppDirs pkgIds bi modname modpath
5961 -- so may break
6062 [ pkgDir </> fromUnrootedFilePath dir
6163 | dir <- C. includeDirs bi
62- ] ++ cppDirs
64+ ] ++
65+ [ buildDir </>
66+ fromUnrootedFilePath " build" </>
67+ componentDir ghcInfo (PackageIdentifier pkgName_ pkgVer) </>
68+ fromUnrootedFilePath " build" </>
69+ fromUnrootedFilePath dir
70+ | buildDir <- toList mbuildDir
71+ , dir <- C. includeDirs bi
72+ ] ++
73+ cppDirs
6374
6475 cppDefines :: [(String , String )]
6576 cppDefines =
@@ -70,6 +81,13 @@ phase1 tracer ghcInfo pkgVer pkgDir cppEnabled cppDirs pkgIds bi modname modpath
7081 , Just d' <- return (parseDefineFlag d)
7182 ]
7283
84+ -- x86_64-linux/ghc-9.8.1/streamly-0.10.0
85+ componentDir :: GhcInfo -> PackageIdentifier -> Path Unrooted
86+ componentDir ghcInfo pid =
87+ fromUnrootedFilePath(ghcPlatform ghcInfo) </>
88+ fromUnrootedFilePath (" ghc-" ++ prettyShow (ghcVersion ghcInfo)) </>
89+ fromUnrootedFilePath (prettyShow pid)
90+
7391cppGhcVersion :: Version -> String
7492cppGhcVersion v = case C. versionNumbers v of
7593 [] -> " 0"
0 commit comments