aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2017-08-14 14:04:53 +0200
committerJay Berkenbilt <ejb@ql.org>2017-08-16 13:57:08 +0200
commit201b62fc68398b37decbe0fde24dc94486db244e (patch)
tree5235dbd25096c72193abf7f473ab63382e8eedbd
parenta3f872020dd60e0c5ce97e615aec9e8f25711a8d (diff)
downloadqpdf-201b62fc68398b37decbe0fde24dc94486db244e.tar.zst
Support NO_REBUILD=1 for testing without rebuild
-rw-r--r--Makefile9
-rw-r--r--README.maintainer5
-rw-r--r--TODO3
3 files changed, 14 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 3a53e93e..47dfbed1 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,11 @@
# anywhere. From the top level, the "all", "check", and "clean"
# targets build, test, or clean everything.
+# To run test suites without rebuilding, pass NO_REBUILD=1 to the
+# build. This can be useful for testing binary interface compatibility
+# as it enables you to rebuild libraries and rerun tests without
+# relinking.
+
# Although this is not a GNU package and does not use automake, you
# can still run make clean to remove everything that is compiled, make
# distclean to remove everything that is generated by the end user,
@@ -111,8 +116,12 @@ maintainer-clean: distclean
$(RM) autofiles.zip
.PHONY: $(TEST_TARGETS)
+
+NO_REBUILD ?=
+ifneq ($(NO_REBUILD),1)
$(foreach B,$(TEST_ITEMS),$(eval \
check_$(B): $(TARGETS_$(B))))
+endif
.PHONY: $(foreach B,$(BUILD_ITEMS),build_$(B))
$(foreach B,$(BUILD_ITEMS),$(eval \
diff --git a/README.maintainer b/README.maintainer
index 9af576e2..ae95e729 100644
--- a/README.maintainer
+++ b/README.maintainer
@@ -1,6 +1,11 @@
Release Reminders
=================
+ * Test for binary compatility. The easiest way to do this is to check
+ out the last release, run the test suite, check out the new
+ release, run make build_libqpdf, check out the old release, and run
+ make check NO_REBUILD=1.
+
* When making a release, always remember to run large file tests and
image comparison tests (--enable-test-compare-images
--with-large-file-test-path=/path). For a major release, consider
diff --git a/TODO b/TODO
index e4dd9b75..6061c44e 100644
--- a/TODO
+++ b/TODO
@@ -55,9 +55,6 @@ General
supported for the toolchains that support the install target
(libtool).
- * Implement automated testing for binary compatibility and add to
- release checklist.
-
* Figure out how to find Visual Studio in Windows registry and see if
I can get it to work with make so I can simplify creation of
Windows releases.