X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=libffi%2Fghc.mk;h=080c43f850d676932151e87a20bf43115980b5b9;hb=35a1ec430a5e44a9bc79d385b997422c20cb427b;hp=f1366000609a9f97802424de2e649c18814058fb;hpb=dc6ba4ba71995d0f3c5b126397571d2b5e771dee;p=ghc-hetmet.git diff --git a/libffi/ghc.mk b/libffi/ghc.mk index f136600..080c43f 100644 --- a/libffi/ghc.mk +++ b/libffi/ghc.mk @@ -75,6 +75,8 @@ libffi_DYNAMIC_PROG = ifeq "$(darwin_TARGET_OS)" "1" libffi_DYNAMIC_LIBS = libffi/dist-install/build/libffi$(soext) \ libffi/dist-install/build/libffi.5$(soext) +else ifeq "$(openbsd_TARGET_OS)" "1" +libffi_DYNAMIC_LIBS = libffi/dist-install/build/libffi.so.5.10 else libffi_DYNAMIC_LIBS = libffi/dist-install/build/libffi.so \ libffi/dist-install/build/libffi.so.5 @@ -105,6 +107,8 @@ $(libffi_STAMP_CONFIGURE): cat ghc-tarballs/libffi/libffi*.tar.gz | $(GZIP_CMD) -d | { cd libffi && $(TAR_CMD) -xf - ; } mv libffi/libffi-* libffi/build chmod +x libffi/ln + # don't report nonselinux systems as selinux + cd libffi/build && "$(PATCH_CMD)" -p0 < ../libffi.selinux-detection-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 @@ -116,8 +120,8 @@ $(libffi_STAMP_CONFIGURE): LD=$(LD) \ AR=$(AR) \ NM=$(NM) \ - CFLAGS="$(SRC_CC_OPTS) $(CONF_CC_OPTS) -w" \ - LDFLAGS="$(SRC_LD_OPTS) $(CONF_LD_OPTS) -w" \ + CFLAGS="$(SRC_CC_OPTS) $(CONF_CC_OPTS_STAGE1) -w" \ + LDFLAGS="$(SRC_LD_OPTS) $(CONF_GCC_LINKER_OPTS_STAGE1) -w" \ "$(SHELL)" configure \ --enable-static=yes \ --enable-shared=$(libffi_EnableShared) \ @@ -137,7 +141,7 @@ $(libffi_STAMP_CONFIGURE): touch $@ -libffi/dist-install/build/ffi.h: $(libffi_STAMP_CONFIGURE) | $$(dir $$@)/. +libffi/dist-install/build/ffi.h: $(libffi_STAMP_CONFIGURE) libffi/dist-install/build/ffitarget.h | $$(dir $$@)/. "$(CP)" libffi/build/include/ffi.h $@ libffi/dist-install/build/ffitarget.h: $(libffi_STAMP_CONFIGURE) | $$(dir $$@)/. @@ -156,11 +160,13 @@ endif touch $@ $(libffi_STATIC_LIB): $(libffi_STAMP_BUILD) - @test -f $@ + @test -f $@ || { echo "$< exits, but $@ does not."; echo "Suggest removing $<."; exit 1; } # Rename libffi.a to libHSffi.a -libffi/dist-install/build/libHSffi.a libffi/dist-install/build/libHSffi_p.a: $(libffi_STATIC_LIB) +libffi/dist-install/build/libHSffi.a: $(libffi_STATIC_LIB) "$(CP)" $(libffi_STATIC_LIB) libffi/dist-install/build/libHSffi.a + +libffi/dist-install/build/libHSffi_p.a: $(libffi_STATIC_LIB) "$(CP)" $(libffi_STATIC_LIB) libffi/dist-install/build/libHSffi_p.a $(eval $(call all-target,libffi,$(INSTALL_HEADERS) $(INSTALL_LIBS))) @@ -173,14 +179,14 @@ $(eval $(call all-target,libffi,$(INSTALL_HEADERS) $(INSTALL_LIBS))) libffi/dist-install/build/HSffi.o: libffi/dist-install/build/libHSffi.a cd libffi/dist-install/build && \ touch empty.c && \ - "$(CC)" $(SRC_CC_OPTS) $(CONF_CC_OPTS) -c empty.c -o HSffi.o + "$(CC)" $(SRC_CC_OPTS) $(CONF_CC_OPTS_STAGE1) -c empty.c -o HSffi.o $(eval $(call all-target,libffi,libffi/dist-install/build/HSffi.o)) ifeq "$(BuildSharedLibs)" "YES" ifeq "$(Windows)" "YES" -libffi/libffi.dll.a $(libffi_HS_DYN_LIB): $(libffi_STAMP_BUILD) - @test -f $@ +libffi/dist-install/build/libffi.dll.a $(libffi_HS_DYN_LIB): $(libffi_STAMP_BUILD) + @test -f $@ || { echo "$< exits, but $@ does not."; echo "Suggest removing $<."; exit 1; } # Windows libtool creates .dll, and as we already patched that # there is no need to copy from libffi.dll to libHSffi...dll. @@ -193,7 +199,7 @@ $(eval $(call all-target,libffi,$(libffi_HS_DYN_LIB).a)) else $(libffi_DYNAMIC_LIBS): $(libffi_STAMP_BUILD) - @test -f $@ + @test -f $@ || { echo "$< exits, but $@ does not."; echo "Suggest removing $<."; exit 1; } # Rename libffi.so to libHSffi...so $(libffi_HS_DYN_LIB): $(libffi_DYNAMIC_LIBS) | $$(dir $$@)/.