Since we replace bundled tarball with our own and it's a git
snapshot, it is necessary to generate the build system ourselves

Source: @q66

--- a/libffi/ghc.mk
+++ b/libffi/ghc.mk
@@ -58,16 +58,7 @@ $(libffi_STAMP_CONFIGURE): $(TOUCH_DEP)
 	$(CP) "$(TOP)/config.guess" libffi/build/config.guess
 	$(CP) "$(TOP)/config.sub"   libffi/build/config.sub
 
-# We have to fake a non-working ln for configure, so that the fallback
-# option (cp -p) gets used instead.  Otherwise the libffi build system
-# will use cygwin symbolic links which cannot be read by mingw gcc.
-	chmod +x libffi/ln
-
-	# We need to use -MMD rather than -MD, as otherwise we get paths
-	# like c:/... in the dependency files on Windows, and the extra
-	# colons break make
-	mv libffi/build/Makefile.in libffi/build/Makefile.in.orig
-	sed "s/-MD/-MMD/" < libffi/build/Makefile.in.orig > libffi/build/Makefile.in
+	cd libffi && cd build && "$(SHELL)" ./autogen.sh
 
 	# We attempt to specify the installation directory below with --libdir,
 	# but libffi installs into 'toolexeclibdir' instead, which may differ
