{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
#if __GLASGOW_HASKELL__ >= 810
{-# OPTIONS_GHC -Wno-prepositive-qualified-module #-}
#endif
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module Paths_Cabal (
version,
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
getDataFileName, getSysconfDir
) where
import qualified Control.Exception as Exception
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude
#if defined(VERSION_base)
#if MIN_VERSION_base(4,0,0)
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#else
catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
#endif
#else
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#endif
catchIO :: forall a. IO a -> (IOException -> IO a) -> IO a
catchIO = IO a -> (IOException -> IO a) -> IO a
forall e a. Exception e => IO a -> (e -> IO a) -> IO a
Exception.catch
version :: Version
version :: Version
version = [Int] -> [String] -> Version
Version [Int
3,Int
14,Int
1,Int
0] []
getDataFileName :: FilePath -> IO FilePath
getDataFileName :: String -> IO String
getDataFileName String
name = do
String
dir <- IO String
getDataDir
String -> IO String
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (String
dir String -> String -> String
`joinFileName` String
name)
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
bindir :: String
bindir = String
"/home/hecate/.cabal/bin"
libdir :: String
libdir = String
"/home/hecate/.cabal/lib/x86_64-linux-ghc-9.6.6/Cabal-3.14.1.0-inplace"
dynlibdir :: String
dynlibdir = String
"/home/hecate/.cabal/lib/x86_64-linux-ghc-9.6.6"
datadir :: String
datadir = String
"/home/hecate/.cabal/share/x86_64-linux-ghc-9.6.6/Cabal-3.14.1.0"
libexecdir :: String
libexecdir = String
"/home/hecate/.cabal/libexec/x86_64-linux-ghc-9.6.6/Cabal-3.14.1.0"
sysconfdir :: String
sysconfdir = String
"/home/hecate/.cabal/etc"
getBinDir :: IO String
getBinDir = IO String -> (IOException -> IO String) -> IO String
forall a. IO a -> (IOException -> IO a) -> IO a
catchIO (String -> IO String
getEnv String
"Cabal_bindir") (\IOException
_ -> String -> IO String
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return String
bindir)
getLibDir :: IO String
getLibDir = IO String -> (IOException -> IO String) -> IO String
forall a. IO a -> (IOException -> IO a) -> IO a
catchIO (String -> IO String
getEnv String
"Cabal_libdir") (\IOException
_ -> String -> IO String
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return String
libdir)
getDynLibDir :: IO String
getDynLibDir = IO String -> (IOException -> IO String) -> IO String
forall a. IO a -> (IOException -> IO a) -> IO a
catchIO (String -> IO String
getEnv String
"Cabal_dynlibdir") (\IOException
_ -> String -> IO String
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return String
dynlibdir)
getDataDir :: IO String
getDataDir = IO String -> (IOException -> IO String) -> IO String
forall a. IO a -> (IOException -> IO a) -> IO a
catchIO (String -> IO String
getEnv String
"Cabal_datadir") (\IOException
_ -> String -> IO String
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return String
datadir)
getLibexecDir :: IO String
getLibexecDir = IO String -> (IOException -> IO String) -> IO String
forall a. IO a -> (IOException -> IO a) -> IO a
catchIO (String -> IO String
getEnv String
"Cabal_libexecdir") (\IOException
_ -> String -> IO String
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return String
libexecdir)
getSysconfDir :: IO String
getSysconfDir = IO String -> (IOException -> IO String) -> IO String
forall a. IO a -> (IOException -> IO a) -> IO a
catchIO (String -> IO String
getEnv String
"Cabal_sysconfdir") (\IOException
_ -> String -> IO String
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return String
sysconfdir)
joinFileName :: String -> String -> FilePath
joinFileName :: String -> String -> String
joinFileName String
"" String
fname = String
fname
joinFileName String
"." String
fname = String
fname
joinFileName String
dir String
"" = String
dir
joinFileName dir :: String
dir@(Char
c:String
cs) String
fname
| Char -> Bool
isPathSeparator (Char -> String -> Char
forall {t}. t -> [t] -> t
lastChar Char
c String
cs) = String
dir String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
fname
| Bool
otherwise = String
dir String -> String -> String
forall a. [a] -> [a] -> [a]
++ Char
pathSeparator Char -> String -> String
forall a. a -> [a] -> [a]
: String
fname
where
lastChar :: t -> [t] -> t
lastChar t
x [] = t
x
lastChar t
_ (t
x:[t]
xs) = t -> [t] -> t
lastChar t
x [t]
xs
pathSeparator :: Char
pathSeparator :: Char
pathSeparator = Char
'/'
isPathSeparator :: Char -> Bool
isPathSeparator :: Char -> Bool
isPathSeparator Char
c = Char
c Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
== Char
'/'