[project @ 2001-06-14 12:50:05 by simonpj]
authorsimonpj <unknown>
Thu, 14 Jun 2001 12:50:07 +0000 (12:50 +0000)
committersimonpj <unknown>
Thu, 14 Jun 2001 12:50:07 +0000 (12:50 +0000)
commit16d5d1c75c999677783c9c1bda519540fa9a6e58
treef2534f12755f2019d19eb8a268014beb2335a8a1
parent8245241e08dd6b27da051344a0e42790e25494e1
[project @ 2001-06-14 12:50:05 by simonpj]
----------------------
Installation packaging
----------------------

GHC runs various system programs like
cp, touch
gcc, as, ld etc

On Windows we plan to deliver these programs along with GHC,
so we have to be careful about where to find them.

This commit isolates all these dependencies in a single module

main/SysTools.lhs

Most of the #ifdefery for mingw has moved into this module.
There's some documentation in SysTools.lhs

Along the way I did lots of other cleanups.  In particular

  * There is no more 'globbing' needed when calling runSomething
  * All file removal goes via the standard Directory.removeFile
  * TmpFiles.hs has gone; absorbed into SysTools
  * Some DynFlag stuff has moved from DriverFlags to CmdLineOpts

Still to do:

  ** I'm a bit concerned that calling removeFile one at a time
when deleting masses of split-object files is going to be
rather slow

  ** GHC now expects to find split,mangle,unlit in
libdir/extra-bin
instead of just
libdir

So something needs to change in the Unix installation scripts

  **    The "ineffective C preprocessor" is a perversion and should die
17 files changed:
ghc/compiler/HsVersions.h
ghc/compiler/Makefile
ghc/compiler/basicTypes/Var.lhs
ghc/compiler/compMan/CmLink.lhs
ghc/compiler/compMan/CompManager.lhs
ghc/compiler/ghci/InteractiveUI.hs
ghc/compiler/main/CmdLineOpts.lhs
ghc/compiler/main/DriverFlags.hs
ghc/compiler/main/DriverMkDepend.hs
ghc/compiler/main/DriverPipeline.hs
ghc/compiler/main/DriverState.hs
ghc/compiler/main/DriverUtil.hs
ghc/compiler/main/Finder.lhs
ghc/compiler/main/Main.hs
ghc/compiler/main/SysTools.lhs [new file with mode: 0644]
ghc/compiler/main/TmpFiles.hs [deleted file]
ghc/mk/paths.mk