summaryrefslogtreecommitdiff
path: root/libffi
Commit message (Collapse)AuthorAgeFilesLines
* Follow libffi changes on WindowsIan Lynagh2012-05-041-0/+3
|
* Improve support for cross-compilationSimon Marlow2012-01-301-1/+1
| | | | Patchset from Stephen Blackheath <stephen.blackheath@ipwnstudios.com>
* Resurrect UseLibFFIForAdjustors from bitrot.PHO2011-12-081-4/+4
| | | | | | * 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.
* Use touchy rather than touch when building on WindowsIan Lynagh2011-12-021-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix cmd invocation by libffi cuild system on Windows 7 cygwinIan Lynagh2011-11-301-0/+5
|
* Fix libffi depfile creation on Windows: Use -MD rather than -MMDIan Lynagh2011-11-301-0/+6
|
* Improve the way we call "rm" in the build system; fixes trac #4916Ian Lynagh2011-11-191-8/+8
| | | | | | | | | | 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.
* Remove now-unused libffi/package.conf.inIan Lynagh2011-11-091-35/+0
|
* Fix the libffi ln handling on cygwinIan Lynagh2011-11-081-2/+5
| | | | | iWe were adding c:/... to $PATH, but : is the separator in $PATH.
* On non-Windows, go back to using the libffi dynlib for the dyn wayIan Lynagh2011-10-161-5/+26
|
* Fix ffi build on amd64/Linux, and simplify a little moreIan Lynagh2011-10-141-13/+2
|
* Simplify the libffi buildIan Lynagh2011-10-141-165/+21
| | | | | | | 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.
* Build fixes for OS X amd64 following libffi updateIan Lynagh2011-10-061-0/+5
|
* Follow libffi updateIan Lynagh2011-10-062-22/+7
|
* Make and use AR_STAGE[0123] makefile varsIan Lynagh2011-04-231-1/+1
|
* Make stage-specific CC variablesIan Lynagh2011-04-231-2/+2
| | | | | This allows different gcc's to be used when building different stages, which we need to do when cross-compiling.
* Tweak build rules for libffiIan Lynagh2011-04-221-3/+1
| | | | | | | | | 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).
* no need to set --build when configuring libffiMark Lentczner2011-04-221-2/+1
| | | | | The value --build was set to broke cross-compilier builds, and isn't needed for regular builds.
* Mark scripts executable (boot, and the ones the build system chmods)Max Bolingbroke2011-04-021-0/+0
|
* libffi: backport incorrect detection of selinuxSergei Trofimovich2011-02-082-0/+17
| | | | | | | | | | | | | | | | | | | | This patch unbreaks ghci on GRSEC kernels hardened with TPE (Trusted Path Execution) protection. TPE forbids mmap('rwx') files opened for writes: fd = open (a_file_in_tmp, O_RDWR); mmap (..., PROT_READ | PROT_WRITE | PROT_EXEC, fd); while allows anonymous RWX mappings: mmap (...MAP_ANONYMOUS , PROT_READ | PROT_WRITE | PROT_EXEC, -1); Thanks to klondike for finding it out. The result of a horrible typo. (unreleased yet) upstream also has the patch: http://github.com/atgreen/libffi/commit/eaf444eabc4c78703c0f98ac0197b1619c1b1bef
* Keep separate linker flags, for when we want to link with gcc or ldIan Lynagh2011-01-241-1/+1
|
* Update the location of libffi.dll.aIan Lynagh2011-01-181-1/+1
| | | | | As far as I can see this has been wrong for some time, but only bit recently.
* Fix libffi build rulesIan Lynagh2011-01-151-1/+3
| | | | | | | | | | 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
* Make the ffi.h->ffitarget.h dep a proper dep, rather than an order-only depIan Lynagh2010-10-241-1/+1
|
* libffi: missing dependency on ffitarget.hpho@cielonegro.org2010-10-171-1/+1
| | | | dist-install/build/ffi.h should have a dependency on ffitarget.h as *_stub.c requires it during the stage-2 build.
* Enable shared libs on OpenBSDMatthias Kilian2010-09-181-0/+2
|
* eliminate clutter from make outputSimon Marlow2010-09-151-3/+3
|
* Don't fail with absolute silenceMatthias Kilian2010-09-121-3/+3
|
* Use different CC/LD options for different stagesIan Lynagh2010-07-231-3/+3
|
* quiet some new spewageSimon Marlow2010-07-091-3/+3
|
* Check files are really created in libffiIan Lynagh2010-06-201-0/+6
| | | | | when we think that the libffi build creates them, so they just depend on the libffi build stamp.
* Rename some variables from FOO to FOO_CMDIan Lynagh2010-06-161-1/+1
| | | | | | | | This fixes a problem with commands like gzip, where if $GZIP is exported in the environment, then when make runs a command it'll put the Makefile variable's value in the environment. But gzip treats $GZIP as arguments for itself, so when we run gzip it thinks we're giving it "gzip" as an argument.
* Don't run "set -o igncr" before configuring libffiIan Lynagh2010-05-201-14/+0
| | | | | | | | | | It used to make the build work on cygwin, but now it breaks it instead: config.status: creating include/Makefile gawk: ./confLqjohp/subs.awk:1: BEGIN {\r gawk: ./confLqjohp/subs.awk:1: ^ backslash not last character on line config.status: error: could not create include/Makefile make[2]: *** [libffi/stamp.ffi.configure-shared] Error 1 make[1]: *** [all] Error 2
* Set more env variables when configuring libffiIan Lynagh2010-05-181-0/+3
| | | | We now tell it where to find ld, nm and ar
* Fix makefile loop (#4050)pho@cielonegro.org2010-05-071-1/+2
| | | | The libtool creates "libffi.dylib" and "libffi.5.dylib" but not "libffi.5.0.9.dylib". Having it in libffi_DYNAMIC_LIBS causes an infinite makefile loop.
* Tidy up the "rm" flags in the build systemIan Lynagh2010-05-081-1/+1
|
* The libffi patches are no longer neededIan Lynagh2010-05-043-74405/+0
|
* Fix dynamic libs on OS X, and enable them by defaultIan Lynagh2010-05-031-3/+3
|
* libffi: install 'ffitarget.h' header as sole 'ffi.h' is unusableSimon Marlow2010-03-291-1/+4
| | | | | Submitted by: Sergei Trofimovich <slyfox@community.haskell.org> Re-recorded against HEAD.
* Don't rely on tar supporting -z; trac #3841Ian Lynagh2010-02-141-1/+1
|
* Patch for shared libraries support on FreeBSDIan Lynagh2010-01-061-2/+1
| | | | From Maxime Henrion <mhenrion@gmail.com>
* Link all dynamic libraries with the correct install_name on Mac OS/X.Ian Lynagh2009-12-041-0/+8
| | | | | | This is a rerecord of Stephen Blackheath <oversensitive.pastors.stephen@blacksapphire.com>**20090930222855 to avoid conflicts.
* Windows DLLs: Slurp across the actually static version of libffiBen.Lippmeier@anu.edu.au2009-11-191-0/+8
|
* Windows DLLs: add #ifdefery to turn off DLL import of libffi when building ↵Ben.Lippmeier@anu.edu.au2009-11-181-1/+1
| | | | statically.
* Put the libffi files to be installed into a dist directoryIan Lynagh2009-11-182-28/+27
| | | | This meakes it easier to correctly clean libffi
* Remove redundant libffi/tarball directoryIan Lynagh2009-11-181-3/+0
| | | | We now use the tarball in the ghc-tarballs repo
* Make a mingw tree from mingw tarballsIan Lynagh2009-10-231-1/+1
|
* Remove libffi tarball from the repoIan Lynagh2009-10-141-0/+0
|
* Install libHSffi_p.aIan Lynagh2009-10-121-1/+1
|
* Use CONF_CC_OPTSManuel M T Chakravarty2009-09-171-3/+3
| | | | - Needed to get arch-dependent options, eg, on Snow Leopard