Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/c793cc35a0959a3e68ab09802e2c978750e94ace

>---------------------------------------------------------------

commit c793cc35a0959a3e68ab09802e2c978750e94ace
Author: Ian Lynagh <i...@well-typed.com>
Date:   Thu Nov 29 23:52:07 2012 +0000

    libffi build system tweaks

>---------------------------------------------------------------

 compiler/ghc.mk |    3 +++
 configure.ac    |    2 +-
 ghc.mk          |    8 +-------
 libffi/ghc.mk   |    1 +
 rts/ghc.mk      |    5 ++++-
 5 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/compiler/ghc.mk b/compiler/ghc.mk
index 887f91b..0e53ca5 100644
--- a/compiler/ghc.mk
+++ b/compiler/ghc.mk
@@ -500,7 +500,10 @@ $(foreach way,$$(compiler_stage3_WAYS),\
 compiler/prelude/PrimOp_HC_OPTS  += -fforce-recomp
 
 # LibFFI.hs #includes ffi.h
+ifneq "$(UseSystemLibFFI)" "YES"
 compiler/stage2/build/LibFFI.hs : $(libffi_HEADERS)
+endif
+
 # On Windows it seems we also need to link directly to libffi
 ifeq "$(HostOS_CPP)" "mingw32"
 define windowsDynLinkToFfi
diff --git a/configure.ac b/configure.ac
index 6b9335e..0651235 100644
--- a/configure.ac
+++ b/configure.ac
@@ -137,7 +137,7 @@ AS_IF([test "$UseSystemLibFFI" = "YES"], [
  AC_CHECK_LIB(ffi, ffi_call,
   [AC_CHECK_HEADERS([ffi.h], [break], [])
    AC_DEFINE([HAVE_LIBFFI], [1], [Define to 1 if you have libffi.])],
-  [UseSystemLibFFI="NO"])
+  [AC_MSG_ERROR([Cannot find system libffi])])
  CFLAGS="$CFLAGS2"
  LDFLAGS="$LDFLAGS2"
 ])
diff --git a/ghc.mk b/ghc.mk
index 852baa9..f73c801 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -618,18 +618,12 @@ else
 MAYBE_GHCI=driver/ghci
 endif
 
-ifeq "$(UseSystemLibFFI)" "YES"
-MAYBE_LIBFFI=
-else
-MAYBE_LIBFFI=libffi
-endif
-
 BUILD_DIRS += \
    driver \
    $(MAYBE_GHCI) \
    driver/ghc \
    driver/haddock \
-   $(MAYBE_LIBFFI) \
+   libffi \
    includes \
    rts
 
diff --git a/libffi/ghc.mk b/libffi/ghc.mk
index 07d6d3d..3ced476 100644
--- a/libffi/ghc.mk
+++ b/libffi/ghc.mk
@@ -44,6 +44,7 @@ endif
 
 ifneq "$(BINDIST)" "YES"
 $(libffi_STAMP_CONFIGURE): $(TOUCH_DEP)
+       false ffi
        $(call removeFiles,$(libffi_STAMP_STATIC_CONFIGURE))
        $(call removeFiles,$(libffi_STAMP_STATIC_BUILD))
        $(call removeFiles,$(libffi_STAMP_STATIC_INSTALL))
diff --git a/rts/ghc.mk b/rts/ghc.mk
index bf01a90..e3c9fa6 100644
--- a/rts/ghc.mk
+++ b/rts/ghc.mk
@@ -493,7 +493,10 @@ endif
 
 $(eval $(call dependencies,rts,dist,1))
 
-$(rts_dist_depfile_c_asm) : $(libffi_HEADERS) $(DTRACEPROBES_H)
+$(rts_dist_depfile_c_asm) : $(DTRACEPROBES_H)
+ifneq "$(UseSystemLibFFI)" "YES"
+$(rts_dist_depfile_c_asm) : $(libffi_HEADERS)
+endif
 
 # -----------------------------------------------------------------------------
 # compile dtrace probes if dtrace is supported



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to