1. 30 Jan, 2012 1 commit
  2. 08 Jan, 2012 1 commit
    • Ian Lynagh's avatar
      Refactoring · 9e452874
      Ian Lynagh authored
      This is working towards being able to put ghcautoconf.h and
      ghcplatform.h in includes/dist
      9e452874
  3. 08 Dec, 2011 1 commit
    • PHO's avatar
      Resurrect UseLibFFIForAdjustors from bitrot. · 616b6697
      PHO authored
      * Pass -Irts/dist/build to the C preprocessor to expose libffi headers (ffi.h and ffitarget.h) to foreign import wrappers during the building process of GHC itself.
      * Install libffi headers into $(ghcheaderdir) just like any other C headers. Otherwise an installed GHC can't find them when it wants to compile foreign import wrappers.
      * Include libffi headers in the bindist for the same reason.
      616b6697
  4. 23 Nov, 2011 1 commit
  5. 19 Nov, 2011 1 commit
    • Ian Lynagh's avatar
      Improve the way we call "rm" in the build system; fixes trac #4916 · 80e9070c
      Ian Lynagh authored
      We avoid calling "rm -rf" with no file arguments; this fixes cleaning
      on Solaris, where that fails.
      
      We also check for suspicious arguments: anything containing "..",
      starting "/", or containing a "*" (you need to call $(wildcard ...)
      yourself now if you really want globbing). This should make things
      a little safer.
      80e9070c
  6. 17 Nov, 2011 1 commit
  7. 19 Oct, 2011 1 commit
  8. 18 Oct, 2011 1 commit
  9. 14 Oct, 2011 1 commit
    • Ian Lynagh's avatar
      Simplify the libffi build · 7c3b22ed
      Ian Lynagh authored
      We now put the libffi objects into the RTS library, rather than trying
      to mangle libffi into being a ghc package itself. It would be nicer to
       make it a separate library (but not a ghc package), but for now
       hopefully this will get the build going through on Windows again.
      7c3b22ed
  10. 06 Oct, 2011 1 commit
  11. 17 Sep, 2011 1 commit
    • Ian Lynagh's avatar
      Improve the handling of Integer literals · 1e87c0a6
      Ian Lynagh authored
      LitInteger now carries around the id of mkInteger, which it uses
      to construct the core to build Integer literals. This way we don't
      have to build in info about lots of Ids.
      
      We also no longer have any special-casing for integer-simple, so
      there is less code involved.
      1e87c0a6
  12. 13 Sep, 2011 1 commit
    • Ian Lynagh's avatar
      change how Integer's are handled in Core · fdac48f3
      Ian Lynagh authored
      We now treat them as literals until CorePrep, when we finally
      convert them into the real Core representation. This makes it a lot
      simpler to implement built-in rules on them.
      fdac48f3
  13. 23 Jun, 2011 2 commits
  14. 22 Jun, 2011 1 commit
  15. 24 May, 2011 1 commit
  16. 08 May, 2011 1 commit
  17. 01 May, 2011 2 commits
  18. 29 Apr, 2011 1 commit
    • Ian Lynagh's avatar
      Add "C compiler flags" to settings file · feabe993
      Ian Lynagh authored
      I've made cpp_args include gcc_args. It effectively didn't before,
      but seeing as gcc_args sometimes has -D flags in, I think doing so
      is the right thing to do.
      feabe993
  19. 22 Apr, 2011 1 commit
  20. 12 Apr, 2011 1 commit
    • Simon Marlow's avatar
      Change the way module initialisation is done (#3252, #4417) · a52ff761
      Simon Marlow authored
      Previously the code generator generated small code fragments labelled
      with __stginit_M for each module M, and these performed whatever
      initialisation was necessary for that module and recursively invoked
      the initialisation functions for imported modules.  This appraoch had
      drawbacks:
      
       - FFI users had to call hs_add_root() to ensure the correct
         initialisation routines were called.  This is a non-standard,
         and ugly, API.
      
       - unless we were using -split-objs, the __stginit dependencies would
         entail linking the whole transitive closure of modules imported,
         whether they were actually used or not.  In an extreme case (#4387,
         #4417), a module from GHC might be imported for use in Template
         Haskell or an annotation, and that would force the whole of GHC to
         be needlessly linked into the final executable.
      
      So now instead we do our initialisation with C functions marked with
      __attribute__((constructor)), which are automatically invoked at
      program startup time (or DSO load-time).  The C initialisers are
      emitted into the stub.c file.  This means that every time we compile
      with -prof or -hpc, we now get a stub file, but thanks to #3687 that
      is now invisible to the user.
      
      There are some refactorings in the RTS (particularly for HPC) to
      handle the fact that initialisers now get run earlier than they did
      before.
      
      The __stginit symbols are still generated, and the hs_add_root()
      function still exists (but does nothing), for backwards compatibility.
      a52ff761
  21. 11 Apr, 2011 1 commit
  22. 04 Apr, 2011 1 commit
  23. 19 Feb, 2011 1 commit
  24. 24 Jan, 2011 1 commit
  25. 15 Jan, 2011 1 commit
    • Ian Lynagh's avatar
      Build system improvements · a3be88fd
      Ian Lynagh authored
      We no longer use dummy-ghc; instead we don't configure most packages
      until the stage1 compiler is available.
        
      We also now use Cabal for building the ghc-bin package.
      
      There are a couple more sanity checks too.
      a3be88fd
  26. 04 Jan, 2011 2 commits
  27. 19 Dec, 2010 1 commit
    • kili's avatar
      Drop GhcWithLlvmCodeGen configuration bits · 17ff3689
      kili authored
      The LLVM code generator is always built unconditionally, so both the
      configuration variable in mk/config.mk.in as well as the string in
      compilerInfo can be removed.
      17ff3689
  28. 14 Dec, 2010 1 commit
  29. 27 Nov, 2010 1 commit
  30. 21 Sep, 2010 1 commit
  31. 20 Sep, 2010 1 commit
  32. 19 Aug, 2010 2 commits
  33. 13 Aug, 2010 1 commit
    • simonpj@microsoft.com's avatar
      Delete GhcLibProfiled · 1caf694c
      simonpj@microsoft.com authored
      Simon M and I looked at this, and we think GhcLibProfiled is
      (a) not needed (b) confusing.
      
      Ian should review.
      
      Really, if GhcProfiled is on we should also 
      check that 'p' is in the GhcLibWays
      1caf694c
  34. 16 Jul, 2010 2 commits
  35. 14 Jul, 2010 1 commit