[Randomize '/tmp/jhc_prelude.m4' name and remove file after compilation.
Sergei Trofimovich <slyfox@community.haskell.org>**20100726192844
 Ignore-this: 6fecfa55f015775f4d4d6e9a4749f4ce
 Failure to cleanup after ourselves effectively forbids jhc usage for
 more, than one user.
] hunk ./src/Ho/Build.hs 21
+import System.Directory (removeFile)
+import System.Random (randomIO)
hunk ./src/Ho/Build.hs 657
-m4Prelude = BS.writeFile "/tmp/jhc_prelude.m4" prelude_m4 >> return "/tmp/jhc_prelude.m4"
+m4Prelude = (randomIO :: IO Integer) >>= \salt ->
+    let m4p_filename = "/tmp/jhc_prelude-" ++ show salt ++ ".m4"
+    in BS.writeFile m4p_filename prelude_m4 >> return m4p_filename
hunk ./src/Ho/Build.hs 687
-            readSystem "m4" $ ["-s", "-P"] ++ incFlags ++ defFlags ++ [m4p,fn]
+            result <- readSystem "m4" $ ["-s", "-P"] ++ incFlags ++ defFlags ++ [m4p,fn]
+            removeFile m4p >> return result