Skip to content
Snippets Groups Projects
  1. Feb 07, 2014
  2. Jan 29, 2014
  3. Jan 28, 2014
  4. Oct 01, 2013
  5. Sep 29, 2013
  6. Sep 04, 2013
    • Austin Seipp's avatar
      Make sure -fcmm-sink is passed to Parser properly · 9e133b9d
      Austin Seipp authored
      
      Parser.hs needs to be compiled with -fcmm-sink on x86 platforms, so the
      register allocator doesn't run out of stack slots. Previously, we had to
      do some CPP hacks in order to emit an #ifdef into the file - this is
      because we preprocess it once up front, and run the preprocessor again
      when we compile it.
      
      There's two cases: the boostrap compiler is > 7.8, and the stage1 parser
      needs the flag, or the stage1 compiler is compiling the stage2
      Parser.hs, and needs the flag..
      
      The previous approach was super fragile with Clang. The more principled
      fix is to instead do this through the build system.
      
      This fixes #8182.
      
      Signed-off-by: default avatarAustin Seipp <aseipp@pobox.com>
      9e133b9d
  7. Jul 03, 2013
    • Ian Lynagh's avatar
      Change the ranlib detection · c548fec4
      Ian Lynagh authored
      On Windows, the ranlib in the path may not be the right ranlib (it may
      be the 32bit ranlib when we are making a Win64 compiler, or vice-versa).
      Therefore we can't leave it up to libffi to detect the right ranlib, but
      need to tell it which ranlib to use. This means that we need to find
      ranlib even if we don't actually need it ourselves.
      c548fec4
  8. Jun 17, 2013
    • Austin Seipp's avatar
      Detect linker information at runtime. Fixes Trac #6063 · 71a194d8
      Austin Seipp authored
      
      Previously, we did ./configure time checks to see if 'GNU ld' supported
      certain options. If it does, we bake those options into the link step.
      See Trac #5240.
      
      Unfortunately, the linker we use at runtime can change for several
      reasons. One is that the user specifies -pgml 'foo'. The other is if
      /usr/bin/ld or whatnot changes from when GHC was built.  Those options
      mentioned earlier are specific to GNU ld, but many systems support GNU
      gold too. This is Trac #6063.
      
      So we need to check at runtime what linker we're using. This is actually
      a little bit complicated because we normally use the C compiler as our
      linker. Windows and OS X are also special here.
      
      Finally, this patch also unconditionally gives '--hash-size=31' and
      '--reduce-memory-overheads' to the system linker if it's GNU ld. These
      options have been supported for 8+ years from what I can see, and there
      are probably a lot of other reasons why GHC would not work with such an
      ancient binutils, all things considered.
      
      See Note [Run-time linker info] in SysTools for details. There are
      plenty of comments as well in the surrounding code.
      
      Signed-off-by: default avatarAustin Seipp <aseipp@pobox.com>
      71a194d8
  9. Jun 09, 2013
  10. Apr 20, 2013
  11. Mar 23, 2013
  12. Mar 18, 2013
  13. Mar 05, 2013
  14. Mar 02, 2013
  15. Mar 01, 2013
  16. Feb 17, 2013
  17. Feb 14, 2013
  18. Feb 11, 2013
  19. Feb 10, 2013
  20. Feb 07, 2013
    • Gabor Greif's avatar
      Clean up AC_PREREQ. · 5b8dc205
      Gabor Greif authored
      5b8dc205
    • Gabor Greif's avatar
      Require autoconf 2.60, as · 0af03de5
      Gabor Greif authored
      version 2.59 seems to be incompatible with our updated macros.
      If somebody insists on 2.59 (which is almost 10 years old) I'll
      have to hunt down the reason for the recent (Dec 2012?) breakage.
      
      Note that I did not check with 2.60 (I have 2.65), so that one
      may still be problematic.
      0af03de5
  21. Feb 06, 2013
  22. Feb 02, 2013
  23. Jan 30, 2013
  24. Jan 25, 2013
  25. Jan 17, 2013
    • Simon Marlow's avatar
      Tidy up cross-compiling · 109a1e53
      Simon Marlow authored
      We have two cases:
       1. building a cross-compiler
       2. compiling GHC to run on a foreign platform
      
      These two are done with almost the same setup: (1) is the stage 1
      compiler, and (2) is the stage 2 compiler, when CrossCompiling=YES.
      
      The only difference between (1) and (2) is that you if you set up the
      build for (1), then it stops before stage 2 and you can 'make install'
      to install stage 1.
      
      Unfortunately, (2) didn't work, and the build system code needed some
      tidying up.
      
      Change to the way the build is set up:
      
      Before
      ------
      
      To build a cross-compiler:
        ./configure --target=<..>
      
      To compile a foreign GHC:
        ./configure --host=<..> --target=<..>
      
      Now
      ---
      
      To build a cross-compiler:
        ./configure --target=<..>
        And set "Stage1Only=YES" in mk/build.mk
      
      To compile a foreign GHC:
        ./configure --target=<..>
      109a1e53
  26. Dec 04, 2012
  27. Nov 30, 2012
  28. Nov 29, 2012
    • Ian Lynagh's avatar
      Add configure option to use system provided libffi; fixes #5743 · 3005e909
      Ian Lynagh authored
      Based on patch from Peter Trommler:
      
          From 293495d40f62e691520331a41c6d85d82e120169 Mon Sep 17 00:00:00 2001
          From: Peter Trommler <ptrommler@acm.org>
          Date: Sun, 21 Oct 2012 18:47:01 +0200
          Subject: [PATCH] Add configure option to use system provided libffi This
           fixes track # 5743 and #4496.
      3005e909
  29. Nov 13, 2012
Loading