summaryrefslogtreecommitdiff
path: root/ghc/compiler/main/DriverState.hs
diff options
context:
space:
mode:
authorsimonmar <unknown>2000-11-16 11:39:37 +0000
committersimonmar <unknown>2000-11-16 11:39:37 +0000
commit292c077de7dbe98eb44911648f16e243b40db2ac (patch)
treebede294fb08cdc88ca0ddba402b3e873602ea4d6 /ghc/compiler/main/DriverState.hs
parent8894fd8508fc5ac3b793187c323e4732a73b4a24 (diff)
downloadhaskell-292c077de7dbe98eb44911648f16e243b40db2ac.tar.gz
[project @ 2000-11-16 11:39:36 by simonmar]
Current state of the interactive system; can load packages (in theory).
Diffstat (limited to 'ghc/compiler/main/DriverState.hs')
-rw-r--r--ghc/compiler/main/DriverState.hs45
1 files changed, 21 insertions, 24 deletions
diff --git a/ghc/compiler/main/DriverState.hs b/ghc/compiler/main/DriverState.hs
index d6ee6d025c..4b94d287e9 100644
--- a/ghc/compiler/main/DriverState.hs
+++ b/ghc/compiler/main/DriverState.hs
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------------
--- $Id: DriverState.hs,v 1.13 2000/11/14 16:28:38 simonmar Exp $
+-- $Id: DriverState.hs,v 1.14 2000/11/16 11:39:37 simonmar Exp $
--
-- Settings for the driver
--
@@ -439,56 +439,53 @@ addPackage package
getPackageImportPath :: IO [String]
getPackageImportPath = do
- ps <- readIORef v_Packages
- ps' <- getPackageDetails ps
- return (nub (concat (map import_dirs ps')))
+ ps <- getPackageInfo
+ return (nub (concat (map import_dirs ps)))
getPackageIncludePath :: IO [String]
getPackageIncludePath = do
- ps <- readIORef v_Packages
- ps' <- getPackageDetails ps
- return (nub (filter (not.null) (concatMap include_dirs ps')))
+ ps <- getPackageInfo
+ return (nub (filter (not.null) (concatMap include_dirs ps)))
-- includes are in reverse dependency order (i.e. rts first)
getPackageCIncludes :: IO [String]
getPackageCIncludes = do
- ps <- readIORef v_Packages
- ps' <- getPackageDetails ps
- return (reverse (nub (filter (not.null) (concatMap c_includes ps'))))
+ ps <- getPackageInfo
+ return (reverse (nub (filter (not.null) (concatMap c_includes ps))))
getPackageLibraryPath :: IO [String]
getPackageLibraryPath = do
- ps <- readIORef v_Packages
- ps' <- getPackageDetails ps
- return (nub (concat (map library_dirs ps')))
+ ps <- getPackageInfo
+ return (nub (concat (map library_dirs ps)))
getPackageLibraries :: IO [String]
getPackageLibraries = do
- ps <- readIORef v_Packages
- ps' <- getPackageDetails ps
+ ps <- getPackageInfo
tag <- readIORef v_Build_tag
let suffix = if null tag then "" else '_':tag
return (concat (
- map (\p -> map (++suffix) (hs_libraries p) ++ extra_libraries p) ps'
+ map (\p -> map (++suffix) (hs_libraries p) ++ extra_libraries p) ps
))
getPackageExtraGhcOpts :: IO [String]
getPackageExtraGhcOpts = do
- ps <- readIORef v_Packages
- ps' <- getPackageDetails ps
- return (concatMap extra_ghc_opts ps')
+ ps <- getPackageInfo
+ return (concatMap extra_ghc_opts ps)
getPackageExtraCcOpts :: IO [String]
getPackageExtraCcOpts = do
- ps <- readIORef v_Packages
- ps' <- getPackageDetails ps
- return (concatMap extra_cc_opts ps')
+ ps <- getPackageInfo
+ return (concatMap extra_cc_opts ps)
getPackageExtraLdOpts :: IO [String]
getPackageExtraLdOpts = do
+ ps <- getPackageInfo
+ return (concatMap extra_ld_opts ps)
+
+getPackageInfo :: IO [Package]
+getPackageInfo = do
ps <- readIORef v_Packages
- ps' <- getPackageDetails ps
- return (concatMap extra_ld_opts ps')
+ getPackageDetails ps
getPackageDetails :: [String] -> IO [Package]
getPackageDetails ps = do