X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FDriverMkDepend.hs;h=525d70e20e8cf9ac659a54fa90d3f0569e152caf;hb=6ef5df4a1bc630798e0de5e676afe11086b68606;hp=8a80a85dbf0694e96c6bc18bc5afc00c7879d8f0;hpb=8e009ec9dfa9fddd6f196c683f6335c84dca55f0;p=ghc-hetmet.git diff --git a/ghc/compiler/main/DriverMkDepend.hs b/ghc/compiler/main/DriverMkDepend.hs index 8a80a85..525d70e 100644 --- a/ghc/compiler/main/DriverMkDepend.hs +++ b/ghc/compiler/main/DriverMkDepend.hs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: DriverMkDepend.hs,v 1.1 2000/10/11 15:31:43 simonmar Exp $ +-- $Id: DriverMkDepend.hs,v 1.3 2000/10/26 16:21:02 sewardj Exp $ -- -- GHC Driver -- @@ -16,9 +16,9 @@ import DriverState import DriverUtil import DriverFlags import TmpFiles +import Module import Config import Util -import CmdLineOpts import IOExts import Exception @@ -32,17 +32,17 @@ import Maybe -- mkdependHS -- flags -GLOBAL_VAR(dep_makefile, "Makefile", String); -GLOBAL_VAR(dep_include_prelude, False, Bool); -GLOBAL_VAR(dep_ignore_dirs, [], [String]); -GLOBAL_VAR(dep_suffixes, [], [String]); -GLOBAL_VAR(dep_warnings, True, Bool); +GLOBAL_VAR(v_Dep_makefile, "Makefile", String); +GLOBAL_VAR(v_Dep_include_prelude, False, Bool); +GLOBAL_VAR(v_Dep_ignore_dirs, [], [String]); +GLOBAL_VAR(v_Dep_suffixes, [], [String]); +GLOBAL_VAR(v_Dep_warnings, True, Bool); -- global vars -GLOBAL_VAR(dep_makefile_hdl, error "dep_makefile_hdl", Maybe Handle); -GLOBAL_VAR(dep_tmp_file, error "dep_tmp_file", String); -GLOBAL_VAR(dep_tmp_hdl, error "dep_tmp_hdl", Handle); -GLOBAL_VAR(dep_dir_contents, error "dep_dir_contents", [(String,[String])]); +GLOBAL_VAR(v_Dep_makefile_hdl, error "dep_makefile_hdl", Maybe Handle); +GLOBAL_VAR(v_Dep_tmp_file, error "dep_tmp_file", String); +GLOBAL_VAR(v_Dep_tmp_hdl, error "dep_tmp_hdl", Handle); +GLOBAL_VAR(v_Dep_dir_contents, error "dep_dir_contents", [(String,[String])]); depStartMarker = "# DO NOT DELETE: Beginning of Haskell dependencies" depEndMarker = "# DO NOT DELETE: End of Haskell dependencies" @@ -50,39 +50,39 @@ depEndMarker = "# DO NOT DELETE: End of Haskell dependencies" -- for compatibility with the old mkDependHS, we accept options of the form -- -optdep-f -optdep.depend, etc. dep_opts = [ - ( "s", SepArg (add dep_suffixes) ), - ( "f", SepArg (writeIORef dep_makefile) ), - ( "w", NoArg (writeIORef dep_warnings False) ), - ( "-include-prelude", NoArg (writeIORef dep_include_prelude True) ), - ( "X", Prefix (addToDirList dep_ignore_dirs) ), - ( "-exclude-directory=", Prefix (addToDirList dep_ignore_dirs) ) + ( "s", SepArg (add v_Dep_suffixes) ), + ( "f", SepArg (writeIORef v_Dep_makefile) ), + ( "w", NoArg (writeIORef v_Dep_warnings False) ), + ( "-include-prelude", NoArg (writeIORef v_Dep_include_prelude True) ), + ( "X", Prefix (addToDirList v_Dep_ignore_dirs) ), + ( "-exclude-directory=", Prefix (addToDirList v_Dep_ignore_dirs) ) ] beginMkDependHS :: IO () beginMkDependHS = do -- slurp in the mkdependHS-style options - flags <- getStaticOpts opt_dep + flags <- getStaticOpts v_Opt_dep _ <- processArgs dep_opts flags [] -- open a new temp file in which to stuff the dependency info -- as we go along. dep_file <- newTempName "dep" - writeIORef dep_tmp_file dep_file + writeIORef v_Dep_tmp_file dep_file tmp_hdl <- openFile dep_file WriteMode - writeIORef dep_tmp_hdl tmp_hdl + writeIORef v_Dep_tmp_hdl tmp_hdl -- open the makefile - makefile <- readIORef dep_makefile + makefile <- readIORef v_Dep_makefile exists <- doesFileExist makefile if not exists then do - writeIORef dep_makefile_hdl Nothing + writeIORef v_Dep_makefile_hdl Nothing return () else do makefile_hdl <- openFile makefile ReadMode - writeIORef dep_makefile_hdl (Just makefile_hdl) + writeIORef v_Dep_makefile_hdl (Just makefile_hdl) -- slurp through until we get the magic start string, -- copying the contents into dep_makefile @@ -111,28 +111,28 @@ beginMkDependHS = do -- cache the contents of all the import directories, for future -- reference. - import_dirs <- readIORef import_paths + import_dirs <- readIORef v_Import_paths pkg_import_dirs <- getPackageImportPath import_dir_contents <- mapM getDirectoryContents import_dirs pkg_import_dir_contents <- mapM getDirectoryContents pkg_import_dirs - writeIORef dep_dir_contents + writeIORef v_Dep_dir_contents (zip import_dirs import_dir_contents ++ zip pkg_import_dirs pkg_import_dir_contents) -- ignore packages unless --include-prelude is on - include_prelude <- readIORef dep_include_prelude + include_prelude <- readIORef v_Dep_include_prelude when (not include_prelude) $ - mapM_ (add dep_ignore_dirs) pkg_import_dirs + mapM_ (add v_Dep_ignore_dirs) pkg_import_dirs return () endMkDependHS :: IO () endMkDependHS = do - makefile <- readIORef dep_makefile - makefile_hdl <- readIORef dep_makefile_hdl - tmp_file <- readIORef dep_tmp_file - tmp_hdl <- readIORef dep_tmp_hdl + makefile <- readIORef v_Dep_makefile + makefile_hdl <- readIORef v_Dep_makefile_hdl + tmp_file <- readIORef v_Dep_tmp_file + tmp_hdl <- readIORef v_Dep_tmp_hdl -- write the magic marker into the tmp file hPutStrLn tmp_hdl depEndMarker @@ -166,15 +166,15 @@ endMkDependHS = do findDependency :: String -> ModImport -> IO (Maybe (String, Bool)) findDependency mod imp = do - dir_contents <- readIORef dep_dir_contents - ignore_dirs <- readIORef dep_ignore_dirs - hisuf <- readIORef hi_suf + dir_contents <- readIORef v_Dep_dir_contents + ignore_dirs <- readIORef v_Dep_ignore_dirs + hisuf <- readIORef v_Hi_suf let (imp_mod, is_source) = case imp of - MINormal str -> (str, False) - MISource str -> (str, True ) + MINormal str -> (moduleNameString str, False) + MISource str -> (moduleNameString str, True ) imp_hi = imp_mod ++ '.':hisuf imp_hiboot = imp_mod ++ ".hi-boot"