summaryrefslogtreecommitdiff
path: root/hadrian/src/Rules/Library.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Rules/Library.hs')
-rw-r--r--hadrian/src/Rules/Library.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/hadrian/src/Rules/Library.hs b/hadrian/src/Rules/Library.hs
index 0daf4681d1..320f45a878 100644
--- a/hadrian/src/Rules/Library.hs
+++ b/hadrian/src/Rules/Library.hs
@@ -112,11 +112,13 @@ allObjects context = (++) <$> nonHsObjects context <*> hsObjects context
-- (object files built from C, C-- and sometimes other things).
nonHsObjects :: Context -> Action [FilePath]
nonHsObjects context = do
+ asmSrcs <- interpretInContext context (getContextData asmSrcs)
+ asmObjs <- mapM (objectPath context) asmSrcs
cObjs <- cObjects context
cmmSrcs <- interpretInContext context (getContextData cmmSrcs)
cmmObjs <- mapM (objectPath context) cmmSrcs
eObjs <- extraObjects context
- return $ cObjs ++ cmmObjs ++ eObjs
+ return $ asmObjs ++ cObjs ++ cmmObjs ++ eObjs
-- | Return all the C object files needed to build the given library context.
cObjects :: Context -> Action [FilePath]