[project @ 2000-10-30 11:18:14 by sewardj]
authorsewardj <unknown>
Mon, 30 Oct 2000 11:18:14 +0000 (11:18 +0000)
committersewardj <unknown>
Mon, 30 Oct 2000 11:18:14 +0000 (11:18 +0000)
Tmp hacks to allow source-unchangedness to work in one-shot compilation.

ghc/compiler/Makefile
ghc/compiler/main/DriverPipeline.hs
ghc/compiler/main/HscMain.lhs

index 293ec5c..413f59e 100644 (file)
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: Makefile,v 1.102 2000/10/30 09:52:14 simonpj Exp $
+# $Id: Makefile,v 1.103 2000/10/30 11:18:14 sewardj Exp $
 
 TOP = ..
 include $(TOP)/mk/boilerplate.mk
@@ -366,7 +366,7 @@ parser/Parser.hs : parser/Parser.y
 #-----------------------------------------------------------------------------
 #              Linking
 
-SRC_LD_OPTS += -no-link-chk
+SRC_LD_OPTS += -no-link-chk -ldl
 
 ifneq "$(GhcWithHscBuiltViaC)" "YES"
 ifeq "$(GhcReportCompiles)" "YES"
index 092b924..8f1cb2b 100644 (file)
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverPipeline.hs,v 1.10 2000/10/27 13:50:25 sewardj Exp $
+-- $Id: DriverPipeline.hs,v 1.11 2000/10/30 11:18:14 sewardj Exp $
 --
 -- GHC Driver
 --
@@ -413,7 +413,7 @@ run_phase Hsc basename suff input_fn output_fn
   -- only do this if we're eventually going to generate a .o file.
   -- (ToDo: do when generating .hc files too?)
   --
-  -- Setting source_unchanged to "-fsource_unchanged" means that M.o seems
+  -- Setting source_unchanged to "-fsource-unchanged" means that M.o seems
   -- to be up to date wrt M.hs; so no need to recompile unless imports have
   -- changed (which the compiler itself figures out).
   -- Setting source_unchanged to "" tells the compiler that M.o is out of
@@ -448,6 +448,7 @@ run_phase Hsc basename suff input_fn output_fn
   -- run the compiler!
         pcs <- initPersistentCompilerState
        result <- hscMain dyn_flags{ hscOutName = output_fn }
+                         (source_unchanged == "-fsource-unchanged")
                          summary 
                          Nothing        -- no iface
                          emptyModuleEnv -- HomeSymbolTable
@@ -749,6 +750,7 @@ compile summary old_iface hst hit pcs = do
 
    -- run the compiler
    hsc_result <- hscMain dyn_flags{ hscOutName = output_fn } 
+                        (panic "compile:source_unchanged")
                          summary old_iface hst hit pcs
 
    case hsc_result of {
index b22d33d..45eaed4 100644 (file)
@@ -86,6 +86,7 @@ data HscResult
 
 hscMain
   :: DynFlags
+  -> Bool            -- source unchanged?
   -> ModSummary       -- summary, including source filename
   -> Maybe ModIface   -- old interface, if available
   -> HomeSymbolTable           -- for home module ModDetails
@@ -93,11 +94,11 @@ hscMain
   -> PersistentCompilerState    -- IN: persistent compiler state
   -> IO HscResult
 
-hscMain dflags summary maybe_old_iface hst hit pcs
+hscMain dflags source_unchanged summary maybe_old_iface hst hit pcs
  = do {
       -- ????? source_unchanged :: Bool -- extracted from summary?
-      let source_unchanged = trace "WARNING: source_unchanged?!" False
-      ;
+      --let source_unchanged = trace "WARNING: source_unchanged?!" False
+      --;
       putStrLn "checking old iface ...";
       (pcs_ch, check_errs, (recomp_reqd, maybe_checked_iface))
          <- checkOldIface dflags hit hst pcs (ms_mod summary)