X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=libffi%2Fghc.mk;h=3e230530a0ebe5d144e2b3638753da1f575c2ce9;hb=5dce9c83865ab0dacb7f8414f6ff87e8d6c184ba;hp=17a86eeca2375ec1aaf2575fdd4f148fd5b0a318;hpb=a0c8fa4159e95be94474dd18b21e6c5fc35362ae;p=ghc-hetmet.git diff --git a/libffi/ghc.mk b/libffi/ghc.mk index 17a86ee..3e23053 100644 --- a/libffi/ghc.mk +++ b/libffi/ghc.mk @@ -36,19 +36,6 @@ PLATFORM := $(shell echo $(HOSTPLATFORM) | sed 's/i[567]86/i486/g') -# 2007-09-26 -# set -o igncr -# is not a valid command on non-Cygwin-systems. -# Let it fail silently instead of aborting the build. -# -# 2007-07-05 -# We do -# set -o igncr; export SHELLOPTS -# here as otherwise checking the size of limbs -# makes the build fall over on Cygwin. See the thread -# http://www.cygwin.com/ml/cygwin/2006-12/msg00011.html -# for more details. - # 2007-07-05 # Passing # as_ln_s='cp -p' @@ -66,7 +53,8 @@ endif BINDIST_STAMPS = libffi/stamp.ffi.build libfii/stamp.ffi.configure -INSTALL_HEADERS += libffi/dist-install/build/ffi.h +INSTALL_HEADERS += libffi/dist-install/build/ffi.h \ + libffi/dist-install/build/ffitarget.h libffi_STATIC_LIB = libffi/dist-install/build/libffi.a INSTALL_LIBS += libffi/dist-install/build/libHSffi.a \ libffi/dist-install/build/libHSffi_p.a \ @@ -85,7 +73,8 @@ libffi_DYNAMIC_LIBS = $(libffi_HS_DYN_LIB) else libffi_DYNAMIC_PROG = ifeq "$(darwin_TARGET_OS)" "1" -libffi_DYNAMIC_LIBS = libffi/libffi$(soext) libffi/libffi.5$(soext) libffi/libffi.5.0.9$(soext) +libffi_DYNAMIC_LIBS = libffi/dist-install/build/libffi$(soext) \ + libffi/dist-install/build/libffi.5$(soext) else libffi_DYNAMIC_LIBS = libffi/dist-install/build/libffi.so \ libffi/dist-install/build/libffi.so.5 @@ -112,23 +101,21 @@ endif ifneq "$(BINDIST)" "YES" $(libffi_STAMP_CONFIGURE): - "$(RM)" $(RM_OPTS) -r $(LIBFFI_DIR) libffi/build + "$(RM)" $(RM_OPTS_REC) $(LIBFFI_DIR) libffi/build cat ghc-tarballs/libffi/libffi*.tar.gz | $(GZIP) -d | { cd libffi && $(TAR) -xf - ; } mv libffi/libffi-* libffi/build chmod +x libffi/ln - cd libffi/build && "$(PATCH)" -p1 < ../libffi.dllize-3.0.8.patch - # This patch is just the resulting delta from running - # automake && autoreconf && libtoolize --force --copy - cd libffi/build && "$(PATCH)" -p1 < ../libffi.autotools-update-3.0.8.patch # Because -Werror may be in SRC_CC_OPTS/SRC_LD_OPTS, we need to turn # warnings off or the compilation of libffi might fail due to warnings cd libffi && \ - (set -o igncr 2>/dev/null) && set -o igncr; export SHELLOPTS; \ PATH=`pwd`:$$PATH; \ export PATH; \ cd build && \ CC=$(WhatGccIsCalled) \ + LD=$(LD) \ + AR=$(AR) \ + NM=$(NM) \ CFLAGS="$(SRC_CC_OPTS) $(CONF_CC_OPTS) -w" \ LDFLAGS="$(SRC_LD_OPTS) $(CONF_LD_OPTS) -w" \ "$(SHELL)" configure \ @@ -153,6 +140,8 @@ $(libffi_STAMP_CONFIGURE): libffi/dist-install/build/ffi.h: $(libffi_STAMP_CONFIGURE) | $$(dir $$@)/. "$(CP)" libffi/build/include/ffi.h $@ +libffi/dist-install/build/ffitarget.h: $(libffi_STAMP_CONFIGURE) | $$(dir $$@)/. + "$(CP)" libffi/build/include/ffitarget.h $@ $(libffi_STAMP_BUILD): $(libffi_STAMP_CONFIGURE) | libffi/dist-install/build/. $(MAKE) -C libffi/build MAKEFLAGS= @@ -204,8 +193,8 @@ $(libffi_DYNAMIC_LIBS): $(libffi_STAMP_BUILD) $(libffi_HS_DYN_LIB): $(libffi_DYNAMIC_LIBS) | $$(dir $$@)/. "$(CP)" $(word 1,$(libffi_DYNAMIC_LIBS)) $(libffi_HS_DYN_LIB) ifeq "$(darwin_TARGET_OS)" "1" - # Ensure library's install name is correct before anyone links with it. - install_name_tool -id $(ghclibdir)/$(libffi_HS_DYN_LIB_NAME) $(libffi_HS_DYN_LIB) + # Ensure library's install name is correct before anyone links with it. + install_name_tool -id $(ghclibdir)/$(libffi_HS_DYN_LIB_NAME) $(libffi_HS_DYN_LIB) endif $(eval $(call all-target,libffi,$(libffi_HS_DYN_LIB)))