getPreloadPackagesAnd,
collectIncludeDirs, collectLibraryPaths, collectLinkOpts,
+ packageHsLibs,
-- * Utils
isDllName
(basePackageId, [""]),
(rtsPackageId, [""]),
(haskell98PackageId, [""]),
- (sybPackageId, [""]),
(thPackageId, [""]),
(dphSeqPackageId, [""]),
- (dphParPackageId, [""]),
- (ndpPackageId, ["-seq", "-par"]) ]
+ (dphParPackageId, [""])]
matches :: PackageConfig -> (PackageId, [String]) -> Bool
pc `matches` (pid, suffixes)
collectLinkOpts :: DynFlags -> [PackageConfig] -> [String]
collectLinkOpts dflags ps = concat (map all_opts ps)
where
+ libs p = packageHsLibs dflags p ++ extraLibraries p
+ all_opts p = map ("-l" ++) (libs p) ++ ldOptions p
+
+packageHsLibs :: DynFlags -> PackageConfig -> [String]
+packageHsLibs dflags p = map (mkDynName . addSuffix) (hsLibraries p)
+ where
tag = buildTag dflags
rts_tag = rtsBuildTag dflags
mkDynName | opt_Static = id
| otherwise = (++ ("-ghc" ++ cProjectVersion))
- libs p = map (mkDynName . addSuffix) (hsLibraries p)
- ++ extraLibraries p
- all_opts p = map ("-l" ++) (libs p) ++ ldOptions p
addSuffix rts@"HSrts" = rts ++ (expandTag rts_tag)
addSuffix other_lib = other_lib ++ (expandTag tag)