Correct the "is $bindir in $PATH" test
[ghc-hetmet.git] / libffi / Makefile
index a85372d..75365c9 100644 (file)
@@ -4,6 +4,8 @@ DONT_WANT_STD_GHCI_LIB_RULE=YES
 DONT_WANT_STD_LIBRARY=YES
 
 include $(TOP)/mk/boilerplate.mk
+# Override haddock generation for this package
+HADDOCK_DOCS=NO
 
 # We package libffi as Haskell package for two reasons: 
 
@@ -57,7 +59,7 @@ LIBFFI_DIR := $(subst .tar.gz,,$(LIBFFI_TARBALL))
 BINDIST_STAMPS = stamp.ffi
 INSTALL_HEADERS += ffi.h
 STATIC_LIB = libffi.a
-INSTALL_LIBS += $(STATIC_LIB)
+INSTALL_LIBS += libHSffi.a
 
 # We have to add the GHC version to the name of our dynamic libs, because
 # they will be residing in the system location along with dynamic libs from
@@ -80,8 +82,10 @@ EnableShared=no
 endif
 
 ifeq "$(BuildSharedLibs)" "YES"
-INSTALL_LIBS  += $(DYNAMIC_LIBS)
-INSTALL_PROGS += $(DYNAMIC_PROGS)
+INSTALL_LIBS  += $(HS_DYN_LIB_NAME)
+ifeq "$(Windows)" "YES"
+INSTALL_PROGS += $(HS_DYN_LIB_NAME).a
+endif
 endif
 
 install all :: $(INSTALL_HEADERS) $(INSTALL_LIBS) $(INSTALL_PROGS)
@@ -108,7 +112,8 @@ stamp.ffi.configure:
        # libffi.so needs to be built with the correct soname.
        # NOTE: this builds libffi_convience.so with the incorrect
        # soname, but we don't need that anyway!
-       sed -i -e s/soname_spec=.*/soname_spec="$(HS_DYN_LIB_NAME)"/ build/libtool
+       $(CP) build/libtool build/libtool.orig
+       sed -e s/soname_spec=.*/soname_spec="$(HS_DYN_LIB_NAME)"/ build/libtool.orig > build/libtool
        touch $@
 
 ffi.h: stamp.ffi.configure
@@ -122,7 +127,7 @@ stamp.ffi.build: stamp.ffi.configure
 $(STATIC_LIB) $(DYNAMIC_LIBS) $(DYNAMIC_PROG): stamp.ffi.build
 
 libHSffi.a libHSffi_p.a: $(STATIC_LIB)
-       cp $(STATIC_LIB) $@
+       $(CP) $(STATIC_LIB) $@
 
 all :: libHSffi.a libHSffi_p.a
 
@@ -132,22 +137,20 @@ all :: libHSffi.a libHSffi_p.a
 # compiler/ghci/Linker.lhs:emptyPLS) we generate an empty HSffi.o
 
 HSffi.o: libHSffi.a
-       ld -r -o HSffi.o /dev/null # this is intentional
-#      $(RM) -fr unpack
-#      (mkdir unpack; cd unpack; ar x ../libHSffi.a; ld -r -o ../HSffi.o *.o)
-#      $(RM) -fr unpack
+       touch empty.c
+       $(CC) -c empty.c -o HSffi.o
 
 all :: HSffi.o
 
 ifeq "$(BuildSharedLibs)" "YES"
 $(HS_DYN_LIB_NAME): $(DYNAMIC_LIBS)
-       cp $(word 1,$(DYNAMIC_LIBS)) $(HS_DYN_LIB_NAME)
+       $(CP) $(word 1,$(DYNAMIC_LIBS)) $(HS_DYN_LIB_NAME)
 
 all :: $(HS_DYN_LIB_NAME)
 endif
 
 clean distclean maintainer-clean ::
-       $(RM) -f stamp.ffi.configure stamp.ffi.build ffi.h
+       $(RM) -f stamp.ffi.configure stamp.ffi.build ffi.h empty.c
        $(RM) -f libffi.a libffi.la $(DYNAMIC_PROG) $(DYNAMIC_LIBS) $(ORIG_DYNAMIC_LIBS)
        $(RM) -rf build