1. 14 Jun, 2001 1 commit
    • simonpj's avatar
      [project @ 2001-06-14 12:50:05 by simonpj] · 16d5d1c7
      simonpj authored
      ----------------------
      	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
      16d5d1c7
  2. 13 Jun, 2001 1 commit
  3. 31 May, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-05-31 11:32:25 by simonmar] · e0a941b9
      simonmar authored
      - add -hidir flag to control the destination for .hi files when doing
        multiple compilations (matches -odir).
      
      - change the ml_hi_file component of ModuleLocation from Maybe FilePath to
        FilePath.  We never made use of its Maybeness.
      
      - clear out some unused code from the Hsc phase of run_phase and clean up
        a bit.  Fix a bug with the -ohi option at the same time (I don't think
        it works in 5.xx.x before this patch).
      e0a941b9
  4. 28 May, 2001 1 commit
    • sof's avatar
      [project @ 2001-05-28 03:31:19 by sof] · 4cef3202
      sof authored
      Misc minor changes to integrate GHC a little bit better on Win32 platforms.
      Specifically, the commit does the following (assuming you've configured
      fptools/ with the option --enable-minimal-unix-deps on a mingw platform):
      
       * when GHC uses System.system, it expects an MSDOS command processor to
         interpret the command. This implies that 'normal' UNIX shell utils will
         no longer be used, but substituted with MSDOS equivalents.
       * the GHC backend relies on gcc and perl to handle .s/.hc/.o/.a files. GHC
         will now assume that these all live in one 'tool directory', making it
         easier to bundle these backend tools with GHC.
      
      The upshot of these changes is that it is now possible for the user not to
      have to install cygwin prior to installing GHC (as the upcoming ghc-win32
      binary release will prove).
      4cef3202
  5. 24 May, 2001 1 commit
  6. 09 May, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-05-09 09:38:18 by simonmar] · 02edb760
      simonmar authored
      Add a new option: -hcsuf <suffix> which renames the .hc suffix to
      <suffix> for this compilation, in the same way as -osuf and -hisuf.
      
      To even things up, remove partial support for '-ohi -', which
      allegedly dumped the .hi file to stdout but in reality never worked.
      It's a strange thing to want to do anyway, but in any case you could
      always say '-ohi /dev/stdout', or even 'ghc Foo.hs && cat Foo.hi'.
      02edb760
  7. 29 Mar, 2001 1 commit
  8. 28 Mar, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-03-28 11:01:19 by simonmar] · f4eba96b
      simonmar authored
      Clean up GHC's error reporting.
      
        - the GhcException type has some more constructors: CmdLineError,
          UserError, and InstallationError.  OtherError has gone.
      
        - most error messages should begin with "<location>:".  When the
          error is on the command-line or in GHC itself, <location> is
          "ghc", for consistency with std Unix semantics.
      
        - GHCi no longer prints a superfluous "ghc: " before certain error
          messages.
      f4eba96b
  9. 27 Mar, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-03-27 16:55:03 by simonmar] · 104baabc
      simonmar authored
      CmdLineOpts:
      	- add dopt_set and dopt_unset utils.
      
      InteractiveUI:
      	- unset -fwarn-unused-binds before evaluating a statement,
      	  to avoid bogus warnings about new bindings.
      104baabc
  10. 15 Mar, 2001 1 commit
  11. 12 Mar, 2001 1 commit
    • simonpj's avatar
      [project @ 2001-03-12 14:06:46 by simonpj] · 9fdd90b0
      simonpj authored
      ----------------
      	First cut at ILX
      	----------------
      
      This commit puts the ILX .NET code generator into the head.
      It's entirely untested, mind you.
      
      Some changes to the Module/Package strutures, mainly of a
      naming variety.  In particular:
      
      	Package	===> PackageConfig
      9fdd90b0
  12. 08 Mar, 2001 1 commit
  13. 05 Mar, 2001 1 commit
  14. 20 Feb, 2001 2 commits
    • simonpj's avatar
      [project @ 2001-02-20 15:44:26 by simonpj] · 1703fe03
      simonpj authored
      Eta expansion wibbles
      ~~~~~~~~~~~~~~~~~~~~~
      * Don't eta reduce, and do eta expand,
        data con workers and primops
      
        Reason: they don't have bindings, so they aren't really
        ordinary variables.
      
      This is a bit of a swamp, provoked by moving CoreSat later,
      something I'm beginning to wonder about...
      
      Not are things settled yet -- I think some rules may
      not fire that should because of constructor worker/wrapper
      issues.  E.g when you have   foldr (:) [] xs = xs
      1703fe03
    • simonmar's avatar
      [project @ 2001-02-20 11:04:42 by simonmar] · 89e1f4af
      simonmar authored
      Make the warning package options (-W, -w, -Wall) dynamic.
      89e1f4af
  15. 30 Jan, 2001 2 commits
  16. 28 Jan, 2001 1 commit
  17. 19 Jan, 2001 1 commit
  18. 12 Jan, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-01-12 11:04:45 by simonmar] · 26b8a5b3
      simonmar authored
      - Incorporate static STG flags (just -flet-no-escape at the mo) into
        hsc_minusO_flags and hsc_minusNoO_flags.
      
      - Fix -v to be equivalent to -v3 (it was wrongly -v2 before).
      
      - Make -v3 output hsc's list of static flags.
      26b8a5b3
  19. 08 Jan, 2001 1 commit
  20. 19 Dec, 2000 2 commits
  21. 14 Dec, 2000 1 commit
  22. 12 Dec, 2000 1 commit
  23. 11 Dec, 2000 4 commits
  24. 08 Dec, 2000 1 commit
  25. 06 Dec, 2000 1 commit
    • simonmar's avatar
      [project @ 2000-12-06 13:03:28 by simonmar] · d3645411
      simonmar authored
      Re-engineer the transition from Core to STG syntax.  Main changes in
      this commit:
      
        - a new pass, CoreSat, handles saturation of constructors and PrimOps,
          and puts the syntax into STG-like normal form (applications to atoms
          only, etc), modulo type applications and Notes.
      
        - CoreToStg is now done at the same time as StgVarInfo.  Most of the
          contents of StgVarInfo.lhs have been copied into CoreToStg.lhs and
          some simplifications made.
      
      less major changes:
      
        - globalisation of names for the purposes of object splitting is
          now done by the C code generator (which is the Right Place in
          principle, but it was a bit fiddly).
      
        - CoreTidy now does cloning of local binders and collection of arity
          info.  The IdInfo from CoreTidy is now *almost* the final IdInfo we
          put in the interface file, except for CafInfo.  I'm going to move
          the CafInfo collection into CoreTidy in due course too.
      
        - and some other minor tidyups while I was in cluster-bomb commit mode.
      d3645411
  26. 05 Dec, 2000 2 commits
  27. 04 Dec, 2000 1 commit
  28. 24 Nov, 2000 1 commit
  29. 22 Nov, 2000 1 commit
  30. 21 Nov, 2000 2 commits
    • simonmar's avatar
      [project @ 2000-11-21 16:42:58 by simonmar] · bd8f046e
      simonmar authored
      Bugfixes, bugfixes:
      
        - allow compiling expressions in the context of any module we have
          an interface for, including "Prelude".
        - don't forget to pull in things like unpackCString# in the renamer,
          we might need to use them for desugaring Strings, for example.  I'm
          sure there are other things we'll need to pull in too.
        - :quit now works from the interpreter (!)
      bd8f046e
    • simonmar's avatar
      [project @ 2000-11-21 14:31:58 by simonmar] · e663f7b8
      simonmar authored
      Mostly verbosity changes.
      
      GONE AWAY:  -dshow-passes, -ddump-all, -ddump-most.
      
      NEW:
          -v<n>, where <n> is
      
          0	|   print errors & warnings only
          1   |   minimal verbosity: print "compiling M ... done." for each module.
          2   |   equivalent to -dshow-passes
          3   |   equivalent to existing "ghc -v"
          4   |   "ghc -v -ddump-most"
          5   |   "ghc -v -ddump-all"
      
      4 & 5 are the same at the moment.  -dshow-passes also prints out the
      passes in the driver, and some in the compilation manager.
      e663f7b8
  31. 19 Nov, 2000 1 commit
  32. 14 Nov, 2000 1 commit