[add '--stale' option to force certain modules to be considered stale
John Meacham <john@repetae.net>**20080323235746] hunk ./Ho/Build.hs 30
-import StringTable.Atom
hunk ./Ho/Build.hs 50
-import Info.Types
hunk ./Ho/Build.hs 53
-import Ho.Collected
+import Ho.Collected()
hunk ./Ho/Build.hs 63
-import qualified Info.Info as Info
hunk ./Ho/Build.hs 164
-    if sh `Map.member` knownSourceMap done then return (False,honame) else do
+    if sh `Map.member` knownSourceMap done || optIgnoreHo options then return (False,honame) else do
hunk ./Ho/Build.hs 315
+                    let stale = map (show . fst) (hohDepends hoh) `intersect` optStale options
hunk ./Ho/Build.hs 317
-                    if good then do
+                    if good && null stale then do
hunk ./Ho/Build.hs 326
-                        putVerboseLn $ printf "Stale: <%s>" fp
+                        putVerboseLn $ if null stale
+                            then printf "Stale: <%s>" fp
+                            else printf "Stale: <%s> (forced)" fp
hunk ./Ho/Build.hs 412
-             let l = ceiling (logBase 10 (fromIntegral maxModules+1)) :: Int
+             let l = ceiling (logBase 10 (fromIntegral maxModules+1) :: Double) :: Int
hunk ./Options.hs 75
+    optStale       ::  [String],  -- ^ treat these modules as stale
hunk ./Options.hs 103
+    optStale       = [],
hunk ./Options.hs 168
+    , Option []    ["stale"]       (ReqArg (optStale_u . idu) "Module")     "Treat these modules as stale, even if a ho file is present"