From ed878dd2a323c63d423a8f2747915e687776a332 Mon Sep 17 00:00:00 2001 From: sewardj Date: Mon, 30 Oct 2000 11:18:14 +0000 Subject: [PATCH] [project @ 2000-10-30 11:18:14 by sewardj] Tmp hacks to allow source-unchangedness to work in one-shot compilation. --- ghc/compiler/Makefile | 4 ++-- ghc/compiler/main/DriverPipeline.hs | 6 ++++-- ghc/compiler/main/HscMain.lhs | 7 ++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ghc/compiler/Makefile b/ghc/compiler/Makefile index 293ec5c..413f59e 100644 --- a/ghc/compiler/Makefile +++ b/ghc/compiler/Makefile @@ -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" diff --git a/ghc/compiler/main/DriverPipeline.hs b/ghc/compiler/main/DriverPipeline.hs index 092b924..8f1cb2b 100644 --- a/ghc/compiler/main/DriverPipeline.hs +++ b/ghc/compiler/main/DriverPipeline.hs @@ -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 { diff --git a/ghc/compiler/main/HscMain.lhs b/ghc/compiler/main/HscMain.lhs index b22d33d..45eaed4 100644 --- a/ghc/compiler/main/HscMain.lhs +++ b/ghc/compiler/main/HscMain.lhs @@ -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) -- 1.7.10.4