X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=libffi%2Fghc.mk;h=17a86eeca2375ec1aaf2575fdd4f148fd5b0a318;hb=6e335238185e90ca9107790fb4236a9367ea8865;hp=7104d046b9e1691f2ef94f7651516789190f20ee;hpb=191fd267d54d633b14f26b3788f2811d40e33e9a;p=ghc-hetmet.git diff --git a/libffi/ghc.mk b/libffi/ghc.mk index 7104d04..17a86ee 100644 --- a/libffi/ghc.mk +++ b/libffi/ghc.mk @@ -84,9 +84,12 @@ libffi_DYNAMIC_PROG = $(libffi_HS_DYN_LIB).a 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) +else libffi_DYNAMIC_LIBS = libffi/dist-install/build/libffi.so \ - libffi/dist-install/build/libffi.so.5 \ - libffi/dist-install/build/libffi.so.5.0.9 + libffi/dist-install/build/libffi.so.5 +endif endif ifeq "$(BuildSharedLibs)" "YES" @@ -110,7 +113,7 @@ endif ifneq "$(BINDIST)" "YES" $(libffi_STAMP_CONFIGURE): "$(RM)" $(RM_OPTS) -r $(LIBFFI_DIR) libffi/build - cd libffi && $(TAR) -zxf ../ghc-tarballs/libffi/libffi*.tar.gz + 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 @@ -200,6 +203,10 @@ $(libffi_DYNAMIC_LIBS): $(libffi_STAMP_BUILD) # Rename libffi.so to libHSffi...so $(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) +endif $(eval $(call all-target,libffi,$(libffi_HS_DYN_LIB))) endif