summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2017-05-11 18:11:12 +0800
committerMoritz Angermann <moritz.angermann@gmail.com>2017-05-11 18:30:28 +0800
commit8d4bce42de7929b0dec7e7d68e66bcfc4d266322 (patch)
tree4aa77ddb84509bbfa0443777249419a9e5fae6e6
parent63ba81262a5a73ccef5ea18e0e40679e141ee28f (diff)
downloadhaskell-8d4bce42de7929b0dec7e7d68e66bcfc4d266322.tar.gz
libffi via submodule
This is rather annoying. I'd prefer to have a stable release to use. However libffi-3.2.1 has been released November 12, 2014, and libffi-4 is TBD. See also https://github.com/libffi/libffi/issues/296 The core reason for this change is that llvm changed the supported assembly to unified syntax, which libffi-3.2.1 does not use, and hence fails to compile for arm with llvm. For refence, see the following issue: https://github.com/libffi/libffi/issues/191 Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, snowleopard Differential Revision: https://phabricator.haskell.org/D3349
-rw-r--r--.gitmodules7
m---------libffi-tarballs0
m---------libffi/build0
-rw-r--r--libffi/ghc.mk9
-rw-r--r--packages2
5 files changed, 8 insertions, 10 deletions
diff --git a/.gitmodules b/.gitmodules
index 55d360ae10..a1af41c7ac 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -111,13 +111,12 @@
path = utils/hsc2hs
url = ../hsc2hs.git
ignore = none
-[submodule "libffi-tarballs"]
- path = libffi-tarballs
- url = ../libffi-tarballs.git
- ignore = none
[submodule "gmp-tarballs"]
path = libraries/integer-gmp/gmp/gmp-tarballs
url = ../gmp-tarballs.git
[submodule ".arc-linters/arcanist-external-json-linter"]
path = .arc-linters/arcanist-external-json-linter
url = ../arcanist-external-json-linter.git
+[submodule "libffi/build"]
+ path = libffi/build
+ url = https://github.com/libffi/libffi.git
diff --git a/libffi-tarballs b/libffi-tarballs
deleted file mode 160000
-Subproject ec37a68838566cb830c33cb30bfade003a306cf
diff --git a/libffi/build b/libffi/build
new file mode 160000
+Subproject b841ae70a05a5e11de1fca1b4551189db0895cf
diff --git a/libffi/ghc.mk b/libffi/ghc.mk
index 7c5bc9e1b3..08f5e4d40a 100644
--- a/libffi/ghc.mk
+++ b/libffi/ghc.mk
@@ -50,9 +50,8 @@ $(libffi_STAMP_CONFIGURE): $(TOUCH_DEP)
$(call removeFiles,$(libffi_STAMP_STATIC_SHARED_CONFIGURE))
$(call removeFiles,$(libffi_STAMP_STATIC_SHARED_BUILD))
$(call removeFiles,$(libffi_STAMP_STATIC_SHARED_INSTALL))
- $(call removeTrees,$(LIBFFI_DIR) libffi/build)
- cat libffi-tarballs/libffi*.tar.gz | $(GZIP_CMD) -d | { cd libffi && $(TAR_CMD) -xf - ; }
- mv libffi/libffi-* libffi/build
+ git clean -x -f -d libffi/build
+ cd libffi/build && ./autogen.sh
# update config.guess/config.sub
$(CP) "$(TOP)/config.guess" libffi/build/config.guess
@@ -123,10 +122,10 @@ $(libffi_STATIC_LIB): $(libffi_STAMP_INSTALL)
@test -f $@ || { echo "$< exists, but $@ does not."; echo "Suggest removing $<."; exit 1; }
$(libffi_HEADERS): $(libffi_STAMP_INSTALL) | $$(dir $$@)/.
- cp -f libffi/build/inst/lib/libffi-*/include/$(notdir $@) $@
+ cp -f libffi/build/inst/include/$(notdir $@) $@
$(eval $(call clean-target,libffi,, \
- libffi/build $(wildcard libffi/stamp.ffi.*) libffi/dist-install))
+ $(wildcard libffi/stamp.ffi.*) libffi/dist-install))
endif
diff --git a/packages b/packages
index a99bac6561..6efcfb37cf 100644
--- a/packages
+++ b/packages
@@ -38,7 +38,7 @@
# localpath tag remotepath upstreamurl
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ghc-tarballs windows ghc-tarballs.git -
-libffi-tarballs - - -
+libffi/build - - https://github.com/libffi/libffi.git
utils/hsc2hs - - -
utils/haddock - - ssh://git@github.com/haskell/haddock.git
libraries/array - - -