2module IRTS.System(getDataFileName, getDataDir, getTargetDir,getCC,getLibFlags,getIdrisLibDir,
3 getIncFlags, getEnvFlags, version) where
7import Control.Applicative ((<$>))
8import Data.Maybe (fromMaybe)
9import System.FilePath ((</>), addTrailingPathSeparator)
10import System.Environment
14import Paths_idris (version)
19overrideDataDirWith :: String -> IO FilePath
20overrideDataDirWith envVar = do envValue <- lookupEnv envVar
21 maybe getDataDir return envValue
24getCC = fromMaybe "gcc" <$> lookupEnv "IDRIS_CC"
26getEnvFlags :: IO [String]
27getEnvFlags = maybe [] (splitOn " ") <$> lookupEnv "IDRIS_CFLAGS"
29getTargetDir :: IO String
30getTargetDir = overrideDataDirWith "TARGET"
32#if defined(FREEBSD) || defined(DRAGONFLY)
33extraLib = ["-L/usr/local/lib"]
44getLibFlags = do dir <- getDataDir
45 return $ ["-L" ++ (dir </> "rts"),
46 "-lidris_rts"] ++ extraLib ++ gmpLib ++ ["-lpthread"]
48getIdrisLibDir = addTrailingPathSeparator <$> overrideDataDirWith "IDRIS_LIBRARY_PATH"
50#if defined(FREEBSD) || defined(DRAGONFLY)
51extraInclude = ["-I/usr/local/include"]
55getIncFlags = do dir <- getDataDir
56 return $ ("-I" ++ dir </> "rts") : extraInclude
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list