{-# LANGUAGE CPP #-} {-# OPTIONS_HADDOCK hide #-} module Distribution.Compat.Environment (getEnvironment) where import qualified System.Environment as System #ifdef mingw32_HOST_OS import qualified Data.Char as Char (toUpper) #endif getEnvironment :: IO [(String, String)] #ifdef mingw32_HOST_OS -- On Windows, the names of environment variables are case-insensitive, but are -- often given in mixed-case (e.g. "PATH" is "Path"), so we have to normalise -- them. getEnvironment = fmap upcaseVars System.getEnvironment where upcaseVars = map upcaseVar upcaseVar (var, val) = (map Char.toUpper var, val) #else getEnvironment = System.getEnvironment #endif