{-# LANGUAGE CPP #-} module Distribution.Compat.Directory (listDirectory, makeAbsolute) where import System.Directory as Dir #if !MIN_VERSION_directory(1,2,2) import System.FilePath as Path #endif #if !MIN_VERSION_directory(1,2,5) listDirectory :: FilePath -> IO [FilePath] listDirectory path = filter f `fmap` Dir.getDirectoryContents path where f filename = filename /= "." && filename /= ".." #endif #if !MIN_VERSION_directory(1,2,2) makeAbsolute :: FilePath -> IO FilePath makeAbsolute p | Path.isAbsolute p = return p | otherwise = do cwd <- Dir.getCurrentDirectory return $ cwd </> p #endif