@@ -37,19 +37,19 @@ getObjectFiles :: Codegen -> Idris [FilePath]
3737getObjectFiles tgt = do i <- getIState; return (forCodegen tgt $ idris_objs i)
3838
3939addObjectFile :: 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 }
4141
4242getLibs :: Codegen -> Idris [String]
4343getLibs tgt = do i <- getIState; return (forCodegen tgt $ idris_libs i)
4444
4545addLib :: 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 }
4747
4848getFlags :: Codegen -> Idris [String]
4949getFlags tgt = do i <- getIState; return (forCodegen tgt $ idris_cgflags i)
5050
5151addFlag :: 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 }
5353
5454addDyLib :: [String] -> Idris (Either DynamicLib String)
5555addDyLib libs = do i <- getIState
@@ -62,7 +62,7 @@ addDyLib libs = do i <- getIState
6262 return (Left x)
6363
6464addHdr :: 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 }
6666
6767addLangExt :: LanguageExt -> Idris ()
6868addLangExt TypeProviders = do i <- getIState ; putIState $ i { idris_language_extensions = [TypeProviders] }