1. 14 Jun, 2001 2 commits
    • simonmar's avatar
      [project @ 2001-06-14 13:29:30 by simonmar] · e50a36b1
      simonmar authored
      fix typo in Simon's commit (cGHC_RAWCPP ==> GHC_RAWCPP)
      e50a36b1
    • 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. 27 May, 2001 1 commit
  3. 23 Mar, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-03-23 16:36:20 by simonmar] · 50027272
      simonmar authored
      Changes to support bootstrapping the compiler from .hc files.  It's
      not quite working yet, but it's not far off.
      
        - the biggest change is that any injected #includes are now placed in
          the .hc file at generation time, rather than compilation time.  I
          can't see any reason not to do this - it makes it clear by looking at
          the .hc file which files are being #included, it means one less
          temporary file at compilation time, and it means the .hc file is more
          standalone.
      
        - all the gruesomeness is in mk/bootstrap.mk, which handles building
          .hc files without a ghc driver.
      50027272
  4. 05 Mar, 2001 1 commit
  5. 20 Dec, 2000 1 commit
  6. 27 Oct, 2000 1 commit
  7. 04 Sep, 2000 1 commit
  8. 02 Aug, 2000 1 commit
  9. 18 Jul, 2000 2 commits
  10. 28 Jun, 2000 1 commit
  11. 14 Jun, 2000 1 commit
  12. 13 Jun, 2000 1 commit
    • simonmar's avatar
      [project @ 2000-06-13 16:07:20 by simonmar] · 877aad48
      simonmar authored
      New Driver
      ==========
      
      Most things work now, so I'm committing this for a shake down.
      Doubtless there'll be some breakage but things should be back to
      normal by the end of the week.
      
      NOTE: GHC 4.06 won't work to build this driver at the moment, due to a
      bug in its parser.  I'll commit a workaround shortly.
      
      There are several improvements here:
      
      	- the driver is written in Haskell, so is allegedly
      	  more maintainable than the previous one.  It's a bit shorter,
      	  at any rate.
      
      	- the package system has been generalised, so that eg.
      	  the RTS is a package, as is GMP and the prelude.  Packages
      	  are now configured via a configuration file, package.conf.
      	  Two versions of package.conf are automatically generated by
      	  PackageSrc.hs, one for ghc-inplace and one for the installed ghc.
      
      	- So that we only have to build the driver once, there's some
      	  special hackery to deal with locations of utilities, and
      	  other configuration stuff:
      
      	  ghc now has a -B option, which is used in a similar way
      	  to gcc's.  eg.
      
      		ghc -B/home/blah/fptools
      
      	  will run ghc in-place in the specified fptools tree, using
      	  /home/blah/fptools/ghc/utils/mkdependHS to find mkdependHS
      	  for example.  ghc-inplace is now a small shell script that
      	  simply invokes the above.  Whereas
      
      		ghc -B/usr/local/lib/ghc-4.07
      
      	  also works, for an installed copy of ghc in
      	  /usr/local/lib/ghc-4.07.
      
      	- the mangler, object splitter and GC stats gatherer are separate
      	  scripts in subdirectories of ghc/driver.  ghc-asm.lprl and
      	  ghc-split.lprl have been copied in the CVS repository to maintain
      	  the history (fingers crossed; I've never done this before)
      
      
      Other notes:
      
      	- Java support isn't there yet.  Andy: don't update for the time
      	  being until I can sort this.
      
      	- Windows support is also broken, but will be fixed in due course.
      877aad48
  13. 14 Jan, 2000 1 commit
  14. 13 Jan, 2000 1 commit
    • hwloidl's avatar
      [project @ 2000-01-13 14:33:57 by hwloidl] · 1b28d4e1
      hwloidl authored
      Merged GUM-4-04 branch into the main trunk. In particular merged GUM and
      SMP code. Most of the GranSim code in GUM-4-04 still has to be carried over.
      1b28d4e1
  15. 10 Jan, 2000 2 commits
  16. 07 Jan, 2000 1 commit
  17. 07 Dec, 1999 1 commit
  18. 22 Nov, 1999 1 commit
  19. 05 Oct, 1999 1 commit
    • simonmar's avatar
      [project @ 1999-10-05 10:30:26 by simonmar] · 67fe852e
      simonmar authored
      Build System Cleanup
      --------------------
      
      This commit is intended to clear the way for automatic RPM building.
      In particular, the idea is that 'make install' doesn't build anything,
      so you can do
      
      	make install prefix=/some/tmp/prefix
      
      to install everything in /some/tmp/prefix, but leave the hardwired-in
      install directories the same.
      
      For scripts that depend on the install dir (currently just the GHC
      driver and mkdependHS), we now build two versions: <script>-inplace,
      which is used for running the script from the build tree, and
      <script>, which is the to-be-installed version.
      
      NOTE: binary distributions are now a little bit trickier to build.
      You *must* include the line "BIN_DIST=1" in your build.mk if you
      intend to make a binary distribution from the current build tree.
      This is because certain scripts have to be built differently, and we
      don't rebuild them when doing 'make binary-dist' anymore (since 'make
      binary-dist' just does a 'make install' with a re-targetted prefix,
      just like the RPM builder).
      
      Other changes
      
      	- the binary-dist machinery is now all in fptools/Makefile
      	- removed a gratuitous $(package)-$(version) level of
      	  directories from the binary distribution.
      	- binary distributions are now placed under the package
      	  name, rather than fptools/fptools.
      	- various other minor cleanups.
      67fe852e
  20. 03 Dec, 1998 1 commit
  21. 22 May, 1998 1 commit
  22. 12 May, 1998 1 commit
  23. 05 Mar, 1998 1 commit
  24. 17 Feb, 1998 1 commit
  25. 27 Jan, 1998 1 commit
  26. 05 Sep, 1997 1 commit
    • simonm's avatar
      [project @ 1997-09-05 09:16:19 by simonm] · e3f0d880
      simonm authored
      don't set $(WAYS) in ghc/mk/paths.mk, set it explicitly in the
      Makefiles where it is required (compiler/Makefile, lib/Makefile and
      runtime/Makefile).
      
      Remove the overriding of $(WAYS) from utils/*/Makefile.
      
      No need to eliminate warnings for overlapped patterns in
      Happy-generated parsers any more.
      
      Don't compile OccurAnal with -O if we're using a pre-version-2 GHC,
      since it seems there's an optimiser bug.
      e3f0d880
  27. 24 Mar, 1997 1 commit
  28. 19 Mar, 1997 1 commit
  29. 17 Mar, 1997 1 commit
  30. 14 Mar, 1997 1 commit