From: Simon Marlow Date: Wed, 27 Sep 2006 13:27:07 +0000 (+0000) Subject: Rename -no-recomp to -fforce-recomp, and document it X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=501281032723cfb1e6e324921c6c3e47b03730ab Rename -no-recomp to -fforce-recomp, and document it --- diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index d66f147..c0f5e7b 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -144,8 +144,8 @@ compile hsc_env mod_summary maybe_old_linkable old_iface mod_index nmods = do extCoreName = basename ++ ".hcr" } -- -no-recomp should also work with --make - let do_recomp = dopt Opt_RecompChecking dflags - source_unchanged = isJust maybe_old_linkable && do_recomp + let force_recomp = dopt Opt_ForceRecomp dflags + source_unchanged = isJust maybe_old_linkable && not force_recomp hsc_env' = hsc_env { hsc_dflags = dflags' } object_filename = ml_obj_file location @@ -302,7 +302,7 @@ link BatchCompile dflags batch_attempt_linking hpt | Right t <- e_exe_time = any (t <) (map linkableTime linkables) - if dopt Opt_RecompChecking dflags && not linking_needed + if not (dopt Opt_ForceRecomp dflags) && not linking_needed then do debugTraceMsg dflags 2 (text exe_file <+> ptext SLIT("is up to date, linking not required.")) return Succeeded else do @@ -688,9 +688,9 @@ runPhase (Hsc src_flavour) stop dflags0 basename suff input_fn get_output_fn _ma -- date wrt M.hs (or M.o doesn't exist) so we must recompile regardless. src_timestamp <- getModificationTime (basename `joinFileExt` suff) - let do_recomp = dopt Opt_RecompChecking dflags + let force_recomp = dopt Opt_ForceRecomp dflags source_unchanged <- - if not do_recomp || not (isStopLn stop) + if force_recomp || not (isStopLn stop) -- Set source_unchanged to False unconditionally if -- (a) recompilation checker is off, or -- (b) we aren't going all the way to .o file (e.g. ghc -S) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 86598e9..e4b82c8 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -186,7 +186,7 @@ data DynFlag -- misc opts | Opt_Cpp | Opt_Pp - | Opt_RecompChecking + | Opt_ForceRecomp | Opt_DryRun | Opt_DoAsmMangling | Opt_ExcessPrecision @@ -407,7 +407,6 @@ defaultDynFlags = pkgState = panic "no package state yet: call GHC.setSessionDynFlags", flags = [ - Opt_RecompChecking, Opt_ReadUserPackageConf, Opt_MonoPatBinds, -- Experimentally, I'm making this non-standard @@ -432,7 +431,7 @@ defaultDynFlags = -- and the default no-optimisation options: Opt_IgnoreInterfacePragmas, - Opt_OmitInterfacePragmas + Opt_OmitInterfacePragmas, -- on by default: Opt_PrintBindResult @@ -876,9 +875,9 @@ dynamic_flags = [ , ( "no-hs-main" , NoArg (setDynFlag Opt_NoHsMain)) , ( "main-is" , SepArg setMainIs ) - ------- recompilation checker -------------------------------------- - , ( "recomp" , NoArg (setDynFlag Opt_RecompChecking) ) - , ( "no-recomp" , NoArg (unSetDynFlag Opt_RecompChecking) ) + ------- recompilation checker (DEPRECATED, use -fforce-recomp) ----- + , ( "recomp" , NoArg (unSetDynFlag Opt_ForceRecomp) ) + , ( "no-recomp" , NoArg (setDynFlag Opt_ForceRecomp) ) ------- Packages ---------------------------------------------------- , ( "package-conf" , HasArg extraPkgConf_ ) @@ -941,7 +940,7 @@ dynamic_flags = [ , ( "dcore-lint", NoArg (setDynFlag Opt_DoCoreLinting)) , ( "dstg-lint", NoArg (setDynFlag Opt_DoStgLinting)) , ( "dcmm-lint", NoArg (setDynFlag Opt_DoCmmLinting)) - , ( "dshow-passes", NoArg (do unSetDynFlag Opt_RecompChecking + , ( "dshow-passes", NoArg (do setDynFlag Opt_ForceRecomp setVerbosity (Just 2)) ) , ( "dfaststring-stats", NoArg (setDynFlag Opt_D_faststring_stats)) @@ -1041,9 +1040,11 @@ fFlags = [ ( "dicts-cheap", Opt_DictsCheap ), ( "excess-precision", Opt_ExcessPrecision ), ( "asm-mangling", Opt_DoAsmMangling ), - ( "print-bind-result", Opt_PrintBindResult ) + ( "print-bind-result", Opt_PrintBindResult ), + ( "force-recomp", Opt_ForceRecomp ) ] + glasgowExtsFlags = [ Opt_GlasgowExts, Opt_FFI, @@ -1079,7 +1080,7 @@ unSetDynFlag f = upd (\dfs -> dopt_unset dfs f) setDumpFlag :: DynFlag -> OptKind DynP setDumpFlag dump_flag - = NoArg (unSetDynFlag Opt_RecompChecking >> setDynFlag dump_flag) + = NoArg (setDynFlag Opt_ForceRecomp >> setDynFlag dump_flag) -- Whenver we -ddump, switch off the recompilation checker, -- else you don't see the dump! diff --git a/docs/users_guide/6.6-notes.xml b/docs/users_guide/6.6-notes.xml index a45579b..3de6beb 100644 --- a/docs/users_guide/6.6-notes.xml +++ b/docs/users_guide/6.6-notes.xml @@ -179,6 +179,16 @@ + The + + option is now called + . + (the old name is still accepted for backwards compatibility, + but will be removed in the future). + + + + The flag has been removed. diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index d3d91b3..9292b28 100644 --- a/docs/users_guide/flags.xml +++ b/docs/users_guide/flags.xml @@ -426,11 +426,11 @@ - + Turn off recompilation checking; implied by any option dynamic - + diff --git a/docs/users_guide/phases.xml b/docs/users_guide/phases.xml index cc9fbfb..4066345 100644 --- a/docs/users_guide/phases.xml +++ b/docs/users_guide/phases.xml @@ -788,7 +788,7 @@ $ cat foo.hspp ghc is not clever enough to figure out that they both need recompiling. You can force recompilation by removing the object file, or by using the - flag. + flag. diff --git a/docs/users_guide/separate_compilation.xml b/docs/users_guide/separate_compilation.xml index 696d687..076af6e 100644 --- a/docs/users_guide/separate_compilation.xml +++ b/docs/users_guide/separate_compilation.xml @@ -603,9 +603,9 @@ $ ghc -c parse/Foo.hs parse/Bar.hs gurgle/Bumble.hs -odir `arch` - - - + + + Turn off recompilation checking (which is on by