@@ -37,19 +37,19 @@ getObjectFiles :: Codegen -> Idris [FilePath]
37getObjectFiles tgt = do i <- getIState; return (forCodegen tgt $ idris_objs i)
37getObjectFiles tgt = do i <- getIState; return (forCodegen tgt $ idris_objs i)
39addObjectFile :: Codegen -> FilePath -> Idris ()
39addObjectFile :: Codegen -> FilePath -> Idris ()
40−addObjectFile tgt f = do i <- getIState; putIState $ i { idris_objs = (tgt, f) : idris_objs i }
40+addObjectFile tgt f = do i <- getIState; putIState $ i { idris_objs = nub $ (tgt, f) : idris_objs i }
42getLibs :: Codegen -> Idris [String]
42getLibs :: Codegen -> Idris [String]
43getLibs tgt = do i <- getIState; return (forCodegen tgt $ idris_libs i)
43getLibs tgt = do i <- getIState; return (forCodegen tgt $ idris_libs i)
45addLib :: Codegen -> String -> Idris ()
45addLib :: Codegen -> String -> Idris ()
46−addLib tgt f = do i <- getIState; putIState $ i { idris_libs = (tgt, f) : idris_libs i }
46+addLib tgt f = do i <- getIState; putIState $ i { idris_libs = nub $ (tgt, f) : idris_libs i }
48getFlags :: Codegen -> Idris [String]
48getFlags :: Codegen -> Idris [String]
49getFlags tgt = do i <- getIState; return (forCodegen tgt $ idris_cgflags i)
49getFlags tgt = do i <- getIState; return (forCodegen tgt $ idris_cgflags i)
51addFlag :: Codegen -> String -> Idris ()
51addFlag :: Codegen -> String -> Idris ()
52−addFlag tgt f = do i <- getIState; putIState $ i { idris_cgflags = (tgt, f) : idris_cgflags i }
52+addFlag tgt f = do i <- getIState; putIState $ i { idris_cgflags = nub $ (tgt, f) : idris_cgflags i }
54addDyLib :: [String] -> Idris (Either DynamicLib String)
54addDyLib :: [String] -> Idris (Either DynamicLib String)
55addDyLib libs = do i <- getIState
55addDyLib libs = do i <- getIState
@@ -62,7 +62,7 @@ addDyLib libs = do i <- getIState
62 return (Left x)
62 return (Left x)
64addHdr :: Codegen -> String -> Idris ()
64addHdr :: Codegen -> String -> Idris ()
65−addHdr tgt f = do i <- getIState; putIState $ i { idris_hdrs = (tgt, f) : idris_hdrs i }
65+addHdr tgt f = do i <- getIState; putIState $ i { idris_hdrs = nub $ (tgt, f) : idris_hdrs i }
67addLangExt :: LanguageExt -> Idris ()
67addLangExt :: LanguageExt -> Idris ()
68addLangExt TypeProviders = do i <- getIState ; putIState $ i { idris_language_extensions = [TypeProviders] }
68addLangExt TypeProviders = do i <- getIState ; putIState $ i { idris_language_extensions = [TypeProviders] }