1. 21 Apr, 2013 1 commit
  2. 20 Apr, 2013 2 commits
  3. 19 Mar, 2013 1 commit
  4. 15 Mar, 2013 2 commits
  5. 03 Mar, 2013 2 commits
  6. 01 Mar, 2013 1 commit
  7. 22 Feb, 2013 1 commit
  8. 21 Feb, 2013 3 commits
  9. 17 Feb, 2013 1 commit
  10. 16 Feb, 2013 1 commit
  11. 05 Feb, 2013 1 commit
    • ian@well-typed.com's avatar
      Add a dependency of program modules on GHC.TopHandler · 40e43fa2
      ian@well-typed.com authored
      If you were unlucky, the build could fail, e.g.:
      
      utils\mkUserGuidePart\Main.hs:1:1:
          Failed to load interface for `GHC.TopHandler'
          There are files missing in the `base' package,
          try running 'ghc-pkg check'.
          Use -v to see a list of the files searched for.
      utils/mkUserGuidePart/ghc.mk:18: recipe for target `utils/mkUserGuidePart/dist/build/Main.o' failed
      40e43fa2
  12. 11 Jan, 2013 1 commit
  13. 08 Nov, 2012 1 commit
  14. 22 Oct, 2012 1 commit
  15. 14 Oct, 2012 3 commits
  16. 04 Oct, 2012 1 commit
  17. 03 Oct, 2012 1 commit
    • ian@well-typed.com's avatar
      Build the dynamic way by default on Linux/amd64 · 898cb090
      ian@well-typed.com authored
      This required various build system changes to get the build to go
      through.
      
      In the inplace shell wrappers, we set LD_LIBRARY_PATH to allow programs
      to find their libraries. In the future, we might change the inplace tree
      to be the same shape as an installed tree instead. However, this would
      mean changing the way we do installation, as currently we use cabal's
      installation methods to install the libraries, but that only works if
      the libraries are under libraries/foo/dist-install/build/..., rather
      than in inplace/lib/...
      898cb090
  18. 01 Oct, 2012 2 commits
  19. 27 Sep, 2012 2 commits
  20. 27 Apr, 2012 1 commit
    • Iavor S. Diatchki's avatar
      A build-system tweak for more readable build output. · d209588a
      Iavor S. Diatchki authored
      This change reduces the (default) verbosity of the build system.
      This makes it easier to spot warnings in the output and, also, it
      makes it easier to estimate how far along are we in the build process
      by just glancing at the output.
      
      To get the traditional fully verbose output, set V=1, like this:
      
          make V=1
      d209588a
  21. 03 Dec, 2011 1 commit
  22. 02 Dec, 2011 1 commit
    • Ian Lynagh's avatar
      Use touchy rather than touch when building on Windows · 2694bb74
      Ian Lynagh authored
      With Windows 7 in a vitrual box VM on OS X, some very odd things happen
      with dates and time stamps when SSHing into cygwin. e.g. here the
      "Change" time is in the past:
      
      $ date; touch foo; stat foo
      Fri Dec  2 16:58:07 GMTST 2011
        File: `foo'
        Size: 0               Blocks: 0          IO Block: 65536  regular
      empty file
      Device: 540aba0bh/1409989131d   Inode: 562949953592977  Links: 1
      Access: (0644/-rw-r--r--)  Uid: ( 1000/     ian)   Gid: (  513/    None)
      Access: 2011-12-02 16:58:07.414457900 +0000
      Modify: 2011-12-02 16:58:07.414457900 +0000
      Change: 2011-12-02 16:58:03.495141800 +0000
       Birth: 2011-12-02 16:57:57.731469900 +0000
      
      And if we copy such a file, then the copy is older (as determined by the
      "Modify" time) than the original:
      
      $ date; touch foo; stat foo; cp foo bar; stat bar
      Fri Dec  2 16:59:10 GMTST 2011
        File: `foo'
        Size: 0               Blocks: 0          IO Block: 65536  regular
      empty file
      Device: 540aba0bh/1409989131d   Inode: 1407374883725128  Links: 1
      Access: (0644/-rw-r--r--)  Uid: ( 1000/     ian)   Gid: (  513/    None)
      Access: 2011-12-02 16:59:10.118457900 +0000
      Modify: 2011-12-02 16:59:10.118457900 +0000
      Change: 2011-12-02 16:59:06.189477700 +0000
       Birth: 2011-12-02 16:57:57.731469900 +0000
        File: `bar'
        Size: 0               Blocks: 0          IO Block: 65536  regular
      empty file
      Device: 540aba0bh/1409989131d   Inode: 281474976882512  Links: 1
      Access: (0644/-rw-r--r--)  Uid: ( 1000/     ian)   Gid: (  513/    None)
      Access: 2011-12-02 16:59:06.394555800 +0000
      Modify: 2011-12-02 16:59:06.394555800 +0000
      Change: 2011-12-02 16:59:06.395532400 +0000
       Birth: 2011-12-02 16:58:40.921899600 +0000
      
      This means that make thinks that things are out of date when it
      shouldn't, so reinvokes itself repeatedly until the MAKE_RESTARTS
      infinite-recursion test triggers.
      
      The touchy program, like most other programs, creates files with both
      Modify and Change in the past, which is still a little odd, but is
      consistent, so doesn't break make.
      2694bb74
  23. 25 Nov, 2011 1 commit
    • Simon Marlow's avatar
      Time handling overhaul · 6b109851
      Simon Marlow authored
      Terminology cleanup: the type "Ticks" has been renamed "Time", which
      is an StgWord64 in units of TIME_RESOLUTION (currently nanoseconds).
      The terminology "tick" is now used consistently to mean the interval
      between timer signals.
      
      The ticker now always ticks in realtime (actually CLOCK_MONOTONIC if
      we have it).  Before it used CPU time in the non-threaded RTS and
      realtime in the threaded RTS, but I've discovered that the CPU timer
      has terrible resolution (at least on Linux) and isn't much use for
      profiling.  So now we always use realtime.  This should also fix
      
      The default tick interval is now 10ms, except when profiling where we
      drop it to 1ms.  This gives more accurate profiles without affecting
      runtime too much (<1%).
      
      Lots of cleanups - the resolution of Time is now in one place
      only (Rts.h) rather than having calculations that depend on the
      resolution scattered all over the RTS.  I hope I found them all.
      6b109851
  24. 23 Apr, 2011 1 commit
  25. 14 Apr, 2011 1 commit
  26. 07 Feb, 2011 1 commit
  27. 23 Jan, 2011 1 commit
  28. 22 Jan, 2011 1 commit
    • Ian Lynagh's avatar
      Simplify the build system, and remove 2 phases · 295016c3
      Ian Lynagh authored
      From
          http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/PhaseOrdering
      
      Phase 0:
          Includes: package-data.mk files for things built by the
                    bootstrapping compiler.
          Builds:   the dependency files for hsc2hs and genprimopcode. We need
                    to do this now, as hsc2hs needs to be buildable in phase 1's
                    includes (so that we can make the hpc library's .hs source
                    files, which in turn is necessary for making its dependency
                    files), and genprimopcode needs to be buildable in phase 1's
                    includes (so that we can make the primop-*.hs-incl files,
                    which are sources for the stage1 compiler library, and thus
                    necessary for making its dependency files).
      Phase 1:
          Includes: dependency files for things built by the bootstrapping
                    compiler.
          Builds:   package-data.mk files for everything else. Note that this
                    requires configuring the packages, which means telling cabal
                    which ghc to use, and thus the stage1 compiler gets built
                    during this phase. 
      Phase "":
          Includes: dependency files for everything else.
          Builds:   Everything else. 
      295016c3
  29. 19 Jan, 2011 1 commit
  30. 17 Jan, 2011 1 commit
  31. 16 Jan, 2011 1 commit