[project @ 2005-10-28 15:22:39 by simonmar]
[ghc-hetmet.git] / ghc / compiler / main / Main.hs
index 422cfc9..95891f7 100644 (file)
@@ -29,9 +29,10 @@ import InteractiveUI ( ghciWelcomeMsg, interactiveUI )
 -- Various other random stuff that we need
 import Config          ( cProjectVersion, cBooterVersion, cProjectName )
 import Packages                ( dumpPackages, initPackages )
-import DriverPhases    ( Phase(..), isSourceSuffix, isSourceFilename, anyHsc,
+import DriverPhases    ( Phase(..), isSourceFilename, anyHsc,
                          startPhase, isHaskellSrcFilename )
 import StaticFlags     ( staticFlags, v_Ld_inputs )
+import DynFlags         ( defaultDynFlags )
 import BasicTypes      ( failed )
 import Util
 import Panic
@@ -39,7 +40,7 @@ import Panic
 -- Standard Haskell libraries
 import EXCEPTION       ( throwDyn )
 import IO
-import Directory       ( doesFileExist, doesDirectoryExist )
+import Directory       ( doesDirectoryExist )
 import System          ( getArgs, exitWith, ExitCode(..) )
 import Monad
 import List
@@ -58,7 +59,7 @@ import Maybe
 -- GHC's command-line interface
 
 main =
-  GHC.defaultErrorHandler $ do
+  GHC.defaultErrorHandler defaultDynFlags $ do
   
   argv0 <- getArgs
   argv1 <- GHC.init argv0
@@ -239,7 +240,7 @@ checkOptions cli_mode dflags srcs objs = do
 -- 
 verifyOutputFiles :: DynFlags -> IO ()
 verifyOutputFiles dflags = do
-  let odir = outputDir dflags
+  let odir = objectDir dflags
   when (isJust odir) $ do
      let dir = fromJust odir
      flg <- doesDirectoryExist dir
@@ -372,7 +373,8 @@ doMake sess []    = throwDyn (UsageError "no input files")
 doMake sess srcs  = do 
     let (hs_srcs, non_hs_srcs) = partition haskellish srcs
 
-       haskellish (f,Nothing) = looksLikeModuleName f || isHaskellSrcFilename f
+       haskellish (f,Nothing) = 
+         looksLikeModuleName f || isHaskellSrcFilename f || '.' `notElem` f
        haskellish (f,Just phase) = 
          phase `notElem` [As, Cc, CmmCpp, Cmm, StopLn]