[project @ 2000-10-17 14:40:26 by sewardj]
[ghc-hetmet.git] / ghc / compiler / main / DriverState.hs
index 15d630d..270e009 100644 (file)
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverState.hs,v 1.1 2000/10/11 11:54:58 simonmar Exp $
+-- $Id: DriverState.hs,v 1.4 2000/10/11 16:26:04 simonmar Exp $
 --
 -- Settings for the driver
 --
@@ -94,6 +94,10 @@ cHaskell1Version = "5" -- i.e., Haskell 98
 -----------------------------------------------------------------------------
 -- Global compilation flags
 
+-- location of compiler-related files
+GLOBAL_VAR(topDir,  clibdir, String)
+GLOBAL_VAR(inplace, False,   Bool)
+
 -- Cpp-related flags
 hs_source_cpp_opts = global
        [ "-D__HASKELL1__="++cHaskell1Version
@@ -412,7 +416,7 @@ addToDirList ref path
 -----------------------------------------------------------------------------
 -- Packages
 
-GLOBAL_VAR(package_config, (findFile "package.conf" (cGHC_DRIVER_DIR++"/package.conf.inplace")), String)
+GLOBAL_VAR(path_package_config, error "path_package_config", String)
 
 -- package list is maintained in dependency order
 packages = global ["std", "rts", "gmp"] :: IORef [String]
@@ -652,14 +656,13 @@ way_details =
 -----------------------------------------------------------------------------
 -- Programs for particular phases
 
-GLOBAL_VAR(pgm_L,   findFile "unlit"      cGHC_UNLIT,      String)
-GLOBAL_VAR(pgm_P,   cRAWCPP,                              String)
-GLOBAL_VAR(pgm_C,   findFile "hsc"        cGHC_HSC,        String)
-GLOBAL_VAR(pgm_c,   cGCC,                                 String)
-GLOBAL_VAR(pgm_m,   findFile "ghc-asm"    cGHC_MANGLER,    String)
-GLOBAL_VAR(pgm_s,   findFile "ghc-split"  cGHC_SPLIT,      String)
-GLOBAL_VAR(pgm_a,   cGCC,                                 String)
-GLOBAL_VAR(pgm_l,   cGCC,                                 String)
+GLOBAL_VAR(pgm_L,   error "pgm_L", String)
+GLOBAL_VAR(pgm_P,   cRAWCPP,       String)
+GLOBAL_VAR(pgm_c,   cGCC,          String)
+GLOBAL_VAR(pgm_m,   error "pgm_m", String)
+GLOBAL_VAR(pgm_s,   error "pgm_s", String)
+GLOBAL_VAR(pgm_a,   cGCC,          String)
+GLOBAL_VAR(pgm_l,   cGCC,          String)
 
 GLOBAL_VAR(opt_dep,    [], [String])
 GLOBAL_VAR(anti_opt_C, [], [String])
@@ -667,6 +670,9 @@ GLOBAL_VAR(opt_C,      [], [String])
 GLOBAL_VAR(opt_l,      [], [String])
 GLOBAL_VAR(opt_dll,    [], [String])
 
+getStaticOpts :: IORef [String] -> IO [String]
+getStaticOpts ref = readIORef ref >>= return . reverse
+
 -----------------------------------------------------------------------------
 -- Via-C compilation stuff
 
@@ -752,17 +758,3 @@ run_something phase_name cmd
        else do when verb (putStr "\n")
                return ()
 
------------------------------------------------------------------------------
--- File suffixes & things
-
--- the output suffix for a given phase is uniquely determined by
--- the input requirements of the next phase.
-
-unlitInputExt       = "lhs"
-cppInputExt         = "lpp"
-hscInputExt         = "cpp"
-hccInputExt         = "hc"
-ccInputExt          = "c"
-mangleInputExt      = "raw_s"
-asInputExt          = "s"
-lnInputExt          = "o"