@@ -71,25 +71,22 @@ compile codegen f tm
7171 case dumpDefun of
7272 Nothing -> return ()
7373 Just f -> runIO $ writeFile f (dumpDefuns defuns)
74− triple <- targetTriple
75− cpu <- targetCPU
76− optimize <- optLevel
74+ triple <- Idris.AbsSyntax.targetTriple
75+ cpu <- Idris.AbsSyntax.targetCPU
76+ optimise <- optLevel
7777 iLOG "Building output"
78+
7879 case checked of
79− OK c -> runIO $ case codegen of
80− ViaC ->
81− codegenC c f outty hdrs
82− (concatMap mkObj objs)
83− (concatMap mkLib libs)
84− (concatMap mkFlag flags ++
85− concatMap incdir impdirs) NONE
86− ViaJava ->
87− codegenJava [] c f hdrs libs outty
88− ViaJavaScript ->
89− codegenJavaScript JavaScript c hdrs f outty
90− ViaNode ->
91− codegenJavaScript Node c hdrs f outty
92− ViaLLVM -> codegenLLVM c triple cpu optimize f outty
80+ OK c -> do let cginfo = CodegenInfo f outty triple cpu optimise
81+ hdrs impdirs objs libs flags
82+ NONE c (toAlist defuns)
83+ tagged
84+ runIO $ case codegen of
85+ ViaC -> codegenC cginfo
86+ ViaJava -> codegenJava cginfo
87+ ViaJavaScript -> codegenJavaScript cginfo
88+ ViaNode -> codegenNode cginfo
89+ ViaLLVM -> codegenLLVM cginfo
9390 Bytecode -> dumpBC c f
9491 Error e -> ierror e
9592 where checkMVs = do i <- getIState
@@ -99,12 +96,6 @@ compile codegen f tm
9996 inDir d h = do let f = d </> h
10097 ex <- doesFileExist f
10198 if ex then return f else return h
102− mkObj f = f ++ " "
103− mkLib l = "-l" ++ l ++ " "
104− mkFlag l = l ++ " "
105−
106− incdir i = "-I" ++ i ++ " "
107−
10899
109100irMain :: TT Name -> Idris LDecl
110101irMain tm = do i <- ir tm