diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2021-01-08 11:25:48 +0000 |
---|---|---|
committer | Matthew Pickering <matthewtpickering@gmail.com> | 2021-01-20 14:07:46 +0000 |
commit | 325c71425e8825cce7d293710b468520306e339d (patch) | |
tree | fde7ff6a6715090834f3618a2a49c1f472943377 /hadrian/src/Rules/Library.hs | |
parent | b1cafb82872784c224d297c748f9c78f47a39fd2 (diff) | |
download | haskell-wip/hadrian-cxx.tar.gz |
Hadrian: Add support for packages with C++ fileswip/hadrian-cxx
Diffstat (limited to 'hadrian/src/Rules/Library.hs')
-rw-r--r-- | hadrian/src/Rules/Library.hs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/hadrian/src/Rules/Library.hs b/hadrian/src/Rules/Library.hs index 4b9d7d6235..c67346f5d6 100644 --- a/hadrian/src/Rules/Library.hs +++ b/hadrian/src/Rules/Library.hs @@ -117,10 +117,17 @@ nonHsObjects context = do asmSrcs <- interpretInContext context (getContextData asmSrcs) asmObjs <- mapM (objectPath context) asmSrcs cObjs <- cObjects context + cxxObjs <- cxxObjects context cmmSrcs <- interpretInContext context (getContextData cmmSrcs) cmmObjs <- mapM (objectPath context) cmmSrcs eObjs <- extraObjects context - return $ asmObjs ++ cObjs ++ cmmObjs ++ eObjs + return $ asmObjs ++ cObjs ++ cxxObjs ++ cmmObjs ++ eObjs + +-- | Return all the Cxx object files needed to build the given library context. +cxxObjects :: Context -> Action [FilePath] +cxxObjects context = do + srcs <- interpretInContext context (getContextData cxxSrcs) + mapM (objectPath context) srcs -- | Return all the C object files needed to build the given library context. cObjects :: Context -> Action [FilePath] |