Make some header-installing machinery, and use it to install gmp.h
authorIan Lynagh <igloo@earth.li>
Tue, 28 Aug 2007 12:47:59 +0000 (12:47 +0000)
committerIan Lynagh <igloo@earth.li>
Tue, 28 Aug 2007 12:47:59 +0000 (12:47 +0000)
gmp/Makefile
mk/config.mk.in
mk/install.mk

index f09c523..82de987 100644 (file)
@@ -40,8 +40,9 @@ BUILD_SHARED=no
 endif
 
 boot :: stamp.gmp.static
-all :: libgmp.a
-install :: libgmp.a
+all :: gmp.h libgmp.a
+install :: gmp.h libgmp.a
+INSTALL_HEADERS += gmp.h
 INSTALL_LIBS += libgmp.a
 
 ifeq "$(BUILD_SHARED)" "yes"
@@ -76,6 +77,9 @@ stamp.gmp.shared:
                  --enable-shared=yes --disable-static --host=$(PLATFORM) --build=$(PLATFORM)
        touch $@
 
+gmp.h: stamp.gmp.static
+       $(CP) gmpbuild/gmp.h .
+
 libgmp.a: stamp.gmp.static
        $(MAKE) -C gmpbuild MAKEFLAGS=
        $(CP) gmpbuild/.libs/libgmp.a .
@@ -114,6 +118,9 @@ endif
 ifneq "$(INSTALL_LIBS)" ""
        $(INSTALL_DATA)    $(INSTALL_LIBS)     $(BIN_DIST_DIR)/gmp/
 endif
+ifneq "$(INSTALL_HEADERS)" ""
+       $(INSTALL_HEADER)  $(INSTALL_HEADERS)  $(BIN_DIST_DIR)/gmp/
+endif
 
 endif
 endif
index 741abd3..5b89981 100644 (file)
@@ -546,6 +546,8 @@ datadir    = $(datadir0)/ghc-$(ProjectVersion)
 
 endif # Windows
 
+headerdir = $(libdir)/include
+
 # Default place for putting interface files is $(libdir)
 # (overriden for packages in package.mk)
 ifacedir               = $(libdir)
@@ -608,6 +610,7 @@ INSTALL_PROGRAM = $(INSTALL) -m 755
 INSTALL_SCRIPT  = $(INSTALL) -m 755
 INSTALL_SHLIB   = $(INSTALL) -m 755
 INSTALL_DATA    = $(INSTALL) -m 644
+INSTALL_HEADER  = $(INSTALL) -m 644
 INSTALL_MAN     = $(INSTALL) -m 644
 INSTALL_DIR     = $(MKDIRHIER)
 
index 61de7a5..75d0569 100644 (file)
@@ -243,6 +243,14 @@ install:: $(INSTALL_DATAS)
        done
 endif
 
+ifneq "$(strip $(INSTALL_HEADERS))" ""
+install:: $(INSTALL_HEADERS)
+       @$(INSTALL_DIR) $(headerdir)
+       for i in $(INSTALL_HEADERS); do \
+               $(INSTALL_HEADER) $(INSTALL_OPTS) $$i $(headerdir); \
+       done
+endif
+
 ifneq "$(strip $(INSTALL_IFACES))" ""
 install:: $(INSTALL_IFACES)
        @$(INSTALL_DIR) $(ifacedir)