X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FDriverPhases.hs;h=d1b24b34d48dafd4b2642124133065fd957509ee;hb=26f300cea548cd8bbc9983975f95fa8a5d13384d;hp=693c4e17c93a85c2959708add2d214c5d59d33fd;hpb=d1c1b7d0e7b94ede238845c91f58582bad3b3ef3;p=ghc-hetmet.git diff --git a/ghc/compiler/main/DriverPhases.hs b/ghc/compiler/main/DriverPhases.hs index 693c4e1..d1b24b3 100644 --- a/ghc/compiler/main/DriverPhases.hs +++ b/ghc/compiler/main/DriverPhases.hs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: DriverPhases.hs,v 1.35 2005/03/18 13:39:05 simonmar Exp $ +-- $Id: DriverPhases.hs,v 1.38 2005/05/17 11:01:59 simonmar Exp $ -- -- GHC Driver -- @@ -14,6 +14,15 @@ module DriverPhases ( startPhase, -- :: String -> Phase phaseInputExt, -- :: Phase -> String + isHaskellishSuffix, + isHaskellSrcSuffix, + isObjectSuffix, + isCishSuffix, + isExtCoreSuffix, + isDynLibSuffix, + isHaskellUserSrcSuffix, + isSourceSuffix, + isHaskellishFilename, isHaskellSrcFilename, isObjectFilename, @@ -24,7 +33,7 @@ module DriverPhases ( isSourceFilename -- :: FilePath -> Bool ) where -import Util ( getFileSuffix ) +import Util ( suffixOf ) import Panic ( panic ) ----------------------------------------------------------------------------- @@ -74,7 +83,7 @@ data Phase -- The final phase is a pseudo-phase that tells the pipeline to stop. -- There is no runPhase case for it. | StopLn -- Stop, but linking will follow, so generate .o file - deriving (Show) + deriving (Eq, Show) anyHsc :: Phase anyHsc = Hsc (panic "anyHsc") @@ -197,15 +206,23 @@ dynlib_suffixes = ["dylib"] dynlib_suffixes = ["so"] #endif -isHaskellishFilename f = getFileSuffix f `elem` haskellish_suffixes -isHaskellSrcFilename f = getFileSuffix f `elem` haskellish_src_suffixes -isCishFilename f = getFileSuffix f `elem` cish_suffixes -isExtCoreFilename f = getFileSuffix f `elem` extcoreish_suffixes -isObjectFilename f = getFileSuffix f `elem` objish_suffixes -isHaskellUserSrcFilename f = getFileSuffix f `elem` haskellish_user_src_suffixes -isDynLibFilename f = getFileSuffix f `elem` dynlib_suffixes - -isSourceFilename :: FilePath -> Bool -isSourceFilename f = - isHaskellishFilename f || - isCishFilename f +isHaskellishSuffix s = s `elem` haskellish_suffixes +isHaskellSrcSuffix s = s `elem` haskellish_src_suffixes +isCishSuffix s = s `elem` cish_suffixes +isExtCoreSuffix s = s `elem` extcoreish_suffixes +isObjectSuffix s = s `elem` objish_suffixes +isHaskellUserSrcSuffix s = s `elem` haskellish_user_src_suffixes +isDynLibSuffix s = s `elem` dynlib_suffixes + +isSourceSuffix suff = isHaskellishSuffix suff || isCishSuffix suff + +isHaskellishFilename f = isHaskellishSuffix (suffixOf f) +isHaskellSrcFilename f = isHaskellSrcSuffix (suffixOf f) +isCishFilename f = isCishSuffix (suffixOf f) +isExtCoreFilename f = isExtCoreSuffix (suffixOf f) +isObjectFilename f = isObjectSuffix (suffixOf f) +isHaskellUserSrcFilename f = isHaskellUserSrcSuffix (suffixOf f) +isDynLibFilename f = isDynLibSuffix (suffixOf f) +isSourceFilename f = isSourceSuffix (suffixOf f) + +