module Paths_leksah (
    version,
    getBinDir, getLibDir, getDataDir, getLibexecDir,
    getDataFileName, getSysconfDir
  ) where

import qualified Control.Exception as Exception
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude

catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
catchIO = Exception.catch


version :: Version
version = Version {versionBranch = [0,14,1,1], versionTags = []}
bindir, libdir, datadir, libexecdir, sysconfdir :: FilePath

bindir     = "/Users/hamish/Library/Haskell/ghc-7.8.3/lib/leksah-0.14.1.1/bin"
libdir     = "/Users/hamish/Library/Haskell/ghc-7.8.3/lib/leksah-0.14.1.1/lib"
datadir    = "/Users/hamish/Library/Haskell/ghc-7.8.3/lib/leksah-0.14.1.1/share"
libexecdir = "/Users/hamish/Library/Haskell/ghc-7.8.3/lib/leksah-0.14.1.1/libexec"
sysconfdir = "/Users/hamish/Library/Haskell/ghc-7.8.3/lib/leksah-0.14.1.1/etc"

getBinDir, getLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
getBinDir = catchIO (getEnv "leksah_bindir") (\_ -> return bindir)
getLibDir = catchIO (getEnv "leksah_libdir") (\_ -> return libdir)
getDataDir = catchIO (getEnv "leksah_datadir") (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "leksah_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "leksah_sysconfdir") (\_ -> return sysconfdir)

getDataFileName :: FilePath -> IO FilePath
getDataFileName name = do
  dir <- getDataDir
  return (dir ++ "/" ++ name)