Fix libffi build rules
authorIan Lynagh <igloo@earth.li>
Sat, 15 Jan 2011 20:21:04 +0000 (20:21 +0000)
committerIan Lynagh <igloo@earth.li>
Sat, 15 Jan 2011 20:21:04 +0000 (20:21 +0000)
Fixes a rare race when both libHSffi.a and libHSffi_p.a were being built
at the same time:

"cp" libffi/dist-install/build/libffi.a libffi/dist-install/build/libHSffi.a
"cp" libffi/dist-install/build/libffi.a libffi/dist-install/build/libHSffi.a
"cp" libffi/dist-install/build/libffi.so libffi/dist-install/build/libHSffi-ghc7.1.20110115.so
cp: cannot create regular file `libffi/dist-install/build/libHSffi.a': File exists

libffi/ghc.mk

index 887df1d..f207eb0 100644 (file)
@@ -161,8 +161,10 @@ $(libffi_STATIC_LIB): $(libffi_STAMP_BUILD)
        @test -f $@ || { echo "$< exits, but $@ does not."; echo "Suggest removing $<."; exit 1; }
 
 # Rename libffi.a to libHSffi.a
        @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
        "$(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)))
        "$(CP)" $(libffi_STATIC_LIB) libffi/dist-install/build/libHSffi_p.a
 
 $(eval $(call all-target,libffi,$(INSTALL_HEADERS) $(INSTALL_LIBS)))