@@ -42,6 +42,8 @@ runIdris opts =
42 let importdirs = opt getImportDir opts
42 let importdirs = opt getImportDir opts
43 when (Ver `elem` opts) $ liftIO showver
43 when (Ver `elem` opts) $ liftIO showver
44 when (Usage `elem` opts) $ liftIO usage
44 when (Usage `elem` opts) $ liftIO usage
45+ when (ShowIncs `elem` opts) $ liftIO showIncs
46+ when (ShowLibs `elem` opts) $ liftIO showLibs
45 setREPL runrepl
47 setREPL runrepl
46 setVerbose runrepl
48 setVerbose runrepl
47 when (Verbose `elem` opts) $ setVerbose True
49 when (Verbose `elem` opts) $ setVerbose True
@@ -96,6 +98,14 @@ usage = do putStrLn usagemsg
96showver = do putStrLn $ "Idris version " ++ ver
98showver = do putStrLn $ "Idris version " ++ ver
97 exitWith ExitSuccess
99 exitWith ExitSuccess
101+showLibs = do dir <- getDataDir
102+ putStrLn $ "-L" ++ dir ++ "/rts -lidris_rts"
103+ exitWith ExitSuccess
105+showIncs = do dir <- getDataDir
106+ putStrLn $ "-I" ++ dir ++ "/rts"
107+ exitWith ExitSuccess
99parseArgs :: [String] -> IO [Opt]
109parseArgs :: [String] -> IO [Opt]
100parseArgs [] = return []
110parseArgs [] = return []
101parseArgs ("--log":lvl:ns) = liftM (OLogging (read lvl) : ) (parseArgs ns)
111parseArgs ("--log":lvl:ns) = liftM (OLogging (read lvl) : ) (parseArgs ns)
@@ -107,6 +117,8 @@ parseArgs ("--typeintype":ns) = liftM (TypeInType : ) (parseArgs ns)
107parseArgs ("--nocoverage":ns) = liftM (NoCoverage : ) (parseArgs ns)
117parseArgs ("--nocoverage":ns) = liftM (NoCoverage : ) (parseArgs ns)
108parseArgs ("--errorcontext":ns) = liftM (ErrContext : ) (parseArgs ns)
118parseArgs ("--errorcontext":ns) = liftM (ErrContext : ) (parseArgs ns)
109parseArgs ("--help":ns) = liftM (Usage : ) (parseArgs ns)
119parseArgs ("--help":ns) = liftM (Usage : ) (parseArgs ns)
120+parseArgs ("--link":ns) = liftM (ShowLibs : ) (parseArgs ns)
121+parseArgs ("--include":ns) = liftM (ShowIncs : ) (parseArgs ns)
110parseArgs ("--version":ns) = liftM (Ver : ) (parseArgs ns)
122parseArgs ("--version":ns) = liftM (Ver : ) (parseArgs ns)
111parseArgs ("--verbose":ns) = liftM (Verbose : ) (parseArgs ns)
123parseArgs ("--verbose":ns) = liftM (Verbose : ) (parseArgs ns)
112parseArgs ("--ibcsubdir":n:ns) = liftM (IBCSubDir n : ) (parseArgs ns)
124parseArgs ("--ibcsubdir":n:ns) = liftM (IBCSubDir n : ) (parseArgs ns)
@@ -131,5 +143,7 @@ usagemsg = "Idris version " ++ ver ++ "\n" ++
131 "\t--ibcsubdir [dir] Write IBC files into sub directory\n" ++
143 "\t--ibcsubdir [dir] Write IBC files into sub directory\n" ++
132 "\t--noprelude Don't import the prelude\n" ++
144 "\t--noprelude Don't import the prelude\n" ++
133 "\t--typeintype Disable universe checking\n" ++
145 "\t--typeintype Disable universe checking\n" ++
134− "\t--log [level] Set debugging log level\n"
146+ "\t--log [level] Set debugging log level\n" ++
147+ "\t--link Show library directories and exit (for C linking)\n" ++
148+ "\t--include Show include directories and exit (for C linking)\n"