]> granicus.if.org Git - postgresql/commitdiff
Clean out any old versions of no-longer-installed header files that may
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 20 Feb 2001 20:37:13 +0000 (20:37 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 20 Feb 2001 20:37:13 +0000 (20:37 +0000)
be lurking in the install target directory.  But don't zap up-to-date
headers (so install-all-headers before regular install will work).
Per suggestion from Larry Rosenman.

src/include/Makefile

index df3c9a2f89ca07f533ddfb4630ec51b2d2b1845f..374247a20d786ba43edcdc579ce64a126c1f3435 100644 (file)
@@ -6,7 +6,7 @@
 # programming.  'make install-all-headers' installs the whole contents
 # of src/include.
 #
-# $Header: /cvsroot/pgsql/src/include/Makefile,v 1.6 2001/02/10 02:31:28 tgl Exp $
+# $Header: /cvsroot/pgsql/src/include/Makefile,v 1.7 2001/02/20 20:37:13 tgl Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -32,7 +32,7 @@ all: $(HEADERS)
 
 # Install only selected headers
 
-install: all installdirs
+install: all installdirs remove-old-headers
        for file in $(srcdir_headers); do \
          $(INSTALL_DATA) $(srcdir)/$$file $(DESTDIR)$(includedir)/$$file || exit; \
        done
@@ -64,6 +64,24 @@ install-all-dirs:
        $(mkinstalldirs) $(addprefix $(DESTDIR)$(includedir)/, $(SUBDIRS))
 
 
+# Pre-7.1 Postgres installed some headers that are no longer installed by
+# default.  If we see these headers in the target directory, zap them to
+# avoid cross-version compile problems.  However, don't zap them if they
+# match current sources (that means the user did install-all-headers).
+
+remove-old-headers:
+       for file in fmgr.h postgres.h access/attnum.h commands/trigger.h \
+               executor/spi.h utils/elog.h utils/geo_decls.h utils/mcxt.h \
+               utils/palloc.h; do \
+               if cmp -s $(srcdir)/$$file $(DESTDIR)$(includedir)/$$file; \
+               then \
+                       : ; \
+               else \
+                       rm -f $(DESTDIR)$(includedir)/$$file; \
+               fi \
+       done
+
+
 # This isn't a complete uninstall, but rm'ing everything under
 # $(DESTDIR)$(includedir) is probably too drastic...
 uninstall: