{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
module Paths_clash_prelude (
    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 :: 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 [0,9999] []
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath

bindir :: String
bindir     = "/root/.cabal/bin"
libdir :: String
libdir     = "/root/.cabal/lib/x86_64-linux-ghc-8.8.1/clash-prelude-0.9999-inplace"
dynlibdir :: String
dynlibdir  = "/root/.cabal/lib/x86_64-linux-ghc-8.8.1"
datadir :: String
datadir    = "/root/.cabal/share/x86_64-linux-ghc-8.8.1/clash-prelude-0.9999"
libexecdir :: String
libexecdir = "/root/.cabal/libexec/x86_64-linux-ghc-8.8.1/clash-prelude-0.9999"
sysconfdir :: String
sysconfdir = "/root/.cabal/etc"

getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
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 "clash_prelude_bindir") (\_ -> String -> IO String
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 "clash_prelude_libdir") (\_ -> String -> IO String
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 "clash_prelude_dynlibdir") (\_ -> String -> IO String
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 "clash_prelude_datadir") (\_ -> String -> IO String
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 "clash_prelude_libexecdir") (\_ -> String -> IO String
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 "clash_prelude_sysconfdir") (\_ -> String -> IO String
forall (m :: * -> *) a. Monad m => a -> m a
return String
sysconfdir)

getDataFileName :: FilePath -> IO FilePath
getDataFileName :: String -> IO String
getDataFileName name :: String
name = do
  String
dir <- IO String
getDataDir
  String -> IO String
forall (m :: * -> *) a. Monad m => a -> m a
return (String
dir String -> String -> String
forall a. [a] -> [a] -> [a]
++ "/" String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
name)