diff options
-rw-r--r-- | Annex/Path.hs | 34 | ||||
-rw-r--r-- | Config/Files.hs | 23 |
2 files changed, 34 insertions, 23 deletions
diff --git a/Annex/Path.hs b/Annex/Path.hs new file mode 100644 index 000000000..a8c4907b2 --- /dev/null +++ b/Annex/Path.hs @@ -0,0 +1,34 @@ +{- git-annex program path + - + - Copyright 2013 Joey Hess <joey@kitenet.net> + - + - Licensed under the GNU GPL version 3 or higher. + -} + +{-# LANGUAGE CPP #-} + +module Annex.Path where + +import Common +import Config.Files +import System.Environment + +{- A fully qualified path to the currently running git-annex program. + - + - getExecutablePath is available since ghc 7.4.2. On OSs it supports + - well, it returns the complete path to the program. But, on other OSs, + - it might return just the basename. + -} +programPath :: IO (Maybe FilePath) +programPath = do +#if MIN_VERSION_base(4,6,0) + exe <- getExecutablePath + p <- if isAbsolute exe + then return exe + else readProgramFile +#else + p <- readProgramFile +#endif + -- In case readProgramFile returned just the command name, + -- fall back to finding it in PATH. + searchPath p diff --git a/Config/Files.hs b/Config/Files.hs index 285ae570b..30ed0a3cf 100644 --- a/Config/Files.hs +++ b/Config/Files.hs @@ -5,14 +5,11 @@ - Licensed under the GNU GPL version 3 or higher. -} -{-# LANGUAGE CPP #-} - module Config.Files where import Common import Utility.Tmp import Utility.FreeDesktop -import System.Environment {- ~/.config/git-annex/file -} userConfigFile :: FilePath -> IO FilePath @@ -70,23 +67,3 @@ readProgramFile = do ) where cmd = "git-annex" - -{- A fully qualified path to the currently running git-annex program. - - - - getExecutablePath is available since ghc 7.4.2. On OSs it supports - - well, it returns the complete path to the program. But, on other OSs, - - it might return just the basename. - -} -programPath :: IO (Maybe FilePath) -programPath = do -#if MIN_VERSION_base(4,6,0) - exe <- getExecutablePath - p <- if isAbsolute exe - then return exe - else readProgramFile -#else - p <- readProgramFile -#endif - -- In case readProgramFile returned just the command name, - -- fall back to finding it in PATH. - searchPath p |