@@ -16,6 +16,8 @@ import System.IO
16import System.Directory
16import System.Directory
17import System.Environment
17import System.Environment
19import Epic.Epic hiding (Term, Type, Name, fn, compile)
21import Epic.Epic hiding (Term, Type, Name, fn, compile)
20import qualified Epic.Epic as E
22import qualified Epic.Epic as E
@@ -32,13 +34,15 @@ compile f tm
32 hdrs <- getHdrs
34 hdrs <- getHdrs
33 let incs = map Include hdrs
35 let incs = map Include hdrs
34 so <- getSO
36 so <- getSO
37+ ddir <- liftIO $ getDataDir
38+ let ilib = ddir ++ "/libidris.a"
35 case so of
39 case so of
36 Nothing ->
40 Nothing ->
37 do m <- epicMain tm
41 do m <- epicMain tm
38 let mainval = EpicFn (name "main") m
42 let mainval = EpicFn (name "main") m
39 liftIO $ compileObjWith []
43 liftIO $ compileObjWith []
40 (mkProgram (incs ++ mainval : ds)) (f ++ ".o")
44 (mkProgram (incs ++ mainval : ds)) (f ++ ".o")
41− liftIO $ link ((f ++ ".o") : objs ++ (map ("-l"++) libs)) f
45+ liftIO $ link ((f ++ ".o") : ilib : objs ++ (map ("-l"++) libs)) f
42 where checkMVs = do i <- get
46 where checkMVs = do i <- get
43 case idris_metavars i \\ primDefs of
47 case idris_metavars i \\ primDefs of
44 [] -> return ()
48 [] -> return ()