From 69ead66b76cb754210c869243c525b24e5716f0e Mon Sep 17 00:00:00 2001 From: Albert Cheng Date: Tue, 14 Apr 2009 17:08:23 -0500 Subject: [svn-r16750] New feature (Bug ID: 1345): Added a Make target of check-all-install to test the correctness of installing via the prefix= or $DESTDIR options. Platforms tested: h5committested and jam serial mode. Then test check-all-install by hand. --- Makefile.am | 21 +++++++++++++++++++++ Makefile.in | 22 +++++++++++++++++++++- release_docs/RELEASE.txt | 2 ++ 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index c0d6827..8e6a4ab 100755 --- a/Makefile.am +++ b/Makefile.am @@ -79,6 +79,9 @@ DIST_SUBDIRS = src test testpar tools . c++ fortran hl perform examples # Some files generated during configure that should be cleaned DISTCLEANFILES=config/stamp1 config/stamp2 +# Some files/directories generated during check that should be cleaned +CHECK_CLEANFILES+=*-tmp + # Define rules for lib, progs, check, and tests. # These simply involve recursing into subdirectories. test _test: check @@ -113,6 +116,7 @@ check-clean: (cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \ fi; \ done + $(RM) -rf prefix-tmp destdir-tmp # Some C++ compilers/linkers will create a directory named ii_files in # the root directory, which should be cleaned. @@ -150,6 +154,23 @@ installcheck-local: # check-install is just a synonym for installcheck check-install: installcheck +# check-all-install tests installing default vs. prefix= vs. $DESTDIR. +# Install via different mechanism and then compare against the default. +# Fine if only libXXX.a files are different since they may have been ranlib'ed. +check-all-install: + @echo Installing to default location + $(MAKE) install + @echo Installing to different prefix location + $(MAKE) prefix=${ROOT}/prefix-tmp install + @echo Compare against the default installation. + @echo Fine if only libXXX.a files are different. + -diff -r prefix-tmp ${prefix} + @echo Installing to different DESTDIR location + $(MAKE) DESTDIR=${ROOT}/destdir-tmp install + @echo Compare against the default installation. + @echo Fine if only libXXX.a files are different. + -diff -r destdir-tmp${prefix} ${prefix} + # Only source files in the src directory include tracing information, # so 'make trace' only needs to recurse into that directory. trace: diff --git a/Makefile.in b/Makefile.in index 9ab76bd..d4addb4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -350,7 +350,9 @@ TRACE = perl $(top_srcdir)/bin/trace # .chkexe files are used to mark tests that have run successfully. # .chklog files are output from those tests. # *.clog are from the MPE option. -CHECK_CLEANFILES = *.chkexe *.chklog *.clog + +# Some files/directories generated during check that should be cleaned +CHECK_CLEANFILES = *.chkexe *.chklog *.clog *-tmp @BUILD_PARALLEL_CONDITIONAL_FALSE@TESTPARALLEL_DIR = # Define subdirectories to build. @@ -853,6 +855,7 @@ check-clean: (cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \ fi; \ done + $(RM) -rf prefix-tmp destdir-tmp # Some C++ compilers/linkers will create a directory named ii_files in # the root directory, which should be cleaned. @@ -890,6 +893,23 @@ installcheck-local: # check-install is just a synonym for installcheck check-install: installcheck +# check-all-install tests installing default vs. prefix= vs. $DESTDIR. +# Install via different mechanism and then compare against the default. +# Fine if only libXXX.a files are different since they may have been ranlib'ed. +check-all-install: + @echo Installing to default location + $(MAKE) install + @echo Installing to different prefix location + $(MAKE) prefix=${ROOT}/prefix-tmp install + @echo Compare against the default installation. + @echo Fine if only libXXX.a files are different. + -diff -r prefix-tmp ${prefix} + @echo Installing to different DESTDIR location + $(MAKE) DESTDIR=${ROOT}/destdir-tmp install + @echo Compare against the default installation. + @echo Fine if only libXXX.a files are different. + -diff -r destdir-tmp${prefix} ${prefix} + # Only source files in the src directory include tracing information, # so 'make trace' only needs to recurse into that directory. trace: diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 125279a..bf6f27a 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -56,6 +56,8 @@ New Features Configuration ------------- + - Added a Make target of check-all-install to test the correctness of + installing via the prefix= or $DESTDIR options. AKC - 2009/04/14 - Add description here. Do not exceed 80 characters per line. EIP - 2008/11/12 -- cgit v0.12