Skip to content
Snippets Groups Projects
  1. Oct 01, 2013
  2. Jul 30, 2013
  3. 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
  4. Jun 22, 2013
  5. May 09, 2013
    • Ian Lynagh's avatar
      Fix the name of libffi · ba00c33b
      Ian Lynagh authored
      On Windows, we need to keep the DLL called libffi-6.dll (rather than
      libffi.dll) or Windows can't find it.
      ba00c33b
  6. Nov 30, 2012
  7. May 26, 2012
  8. May 04, 2012
  9. Jan 30, 2012
  10. Dec 08, 2011
    • 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
  11. Dec 02, 2011
    • 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
  12. Nov 30, 2011
  13. Nov 19, 2011
    • 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
  14. Nov 09, 2011
  15. Nov 08, 2011
  16. Oct 16, 2011
  17. Oct 14, 2011
  18. Oct 06, 2011
  19. Apr 23, 2011
  20. Apr 22, 2011
    • Ian Lynagh's avatar
      Tweak build rules for libffi · 0d729992
      Ian Lynagh authored
      We were doing
          echo $(HOSTPLATFORM) | sed 's/i[567]86/i486/g'
      but the only x86 value HOSTPLATFORM can have is i386.
      
      We now tell libffi its build platform again, but we now tell it it's
      $(BUILDPLATFORM) rather than $(HOSTPLATFORM).
      0d729992
    • Mark Lentczner's avatar
      no need to set --build when configuring libffi · 928f2cca
      Mark Lentczner authored
      The value --build was set to broke cross-compilier builds, and isn't
      needed for regular builds.
      928f2cca
  21. Apr 02, 2011
  22. Jan 24, 2011
  23. Jan 17, 2011
  24. Jan 18, 2011
  25. Jan 15, 2011
    • Ian Lynagh's avatar
      Fix libffi build rules · eb675b52
      Ian Lynagh authored
      Fixes a rare race when both libHSffi.a and libHSffi_p.a were being built
      at the same time:
      
      "cp" libffi/dist-install/build/libffi.a libffi/dist-install/build/libHSffi.a
      "cp" libffi/dist-install/build/libffi.a libffi/dist-install/build/libHSffi.a
      "cp" libffi/dist-install/build/libffi.so libffi/dist-install/build/libHSffi-ghc7.1.20110115.so
      cp: cannot create regular file `libffi/dist-install/build/libHSffi.a': File exists
      eb675b52
  26. Feb 08, 2011
  27. Oct 24, 2010
  28. Oct 17, 2010
  29. Sep 18, 2010
  30. Sep 15, 2010
  31. Sep 12, 2010
  32. Jul 23, 2010
  33. Jul 09, 2010
  34. Jun 20, 2010
Loading