{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -Wno-missing-safe-haskell-mode #-}
module Paths_switch (
    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 = Exception.catch

version :: Version
version = Version [0,1,0,0] []
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath

bindir     = "C:\\Users\\Michael\\AppData\\Roaming\\cabal\\bin"
libdir     = "C:\\Users\\Michael\\AppData\\Roaming\\cabal\\x86_64-windows-ghc-8.10.3\\switch-0.1.0.0-inplace"
dynlibdir  = "C:\\Users\\Michael\\AppData\\Roaming\\cabal\\x86_64-windows-ghc-8.10.3"
datadir    = "C:\\Users\\Michael\\AppData\\Roaming\\cabal\\x86_64-windows-ghc-8.10.3\\switch-0.1.0.0"
libexecdir = "C:\\Users\\Michael\\AppData\\Roaming\\cabal\\switch-0.1.0.0-inplace\\x86_64-windows-ghc-8.10.3\\switch-0.1.0.0"
sysconfdir = "C:\\Users\\Michael\\AppData\\Roaming\\cabal\\etc"

getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
getBinDir = catchIO (getEnv "switch_bindir") (\_ -> return bindir)
getLibDir = catchIO (getEnv "switch_libdir") (\_ -> return libdir)
getDynLibDir = catchIO (getEnv "switch_dynlibdir") (\_ -> return dynlibdir)
getDataDir = catchIO (getEnv "switch_datadir") (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "switch_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "switch_sysconfdir") (\_ -> return sysconfdir)

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