summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorHerbert Valerio Riedel <hvr@gnu.org>2014-02-26 22:20:52 +0100
committerHerbert Valerio Riedel <hvr@gnu.org>2014-02-26 22:26:25 +0100
commit32f41c79960ffc1d04c4573acb37756109d279a5 (patch)
tree77a78d7e0eafe3057f49a1ace4f39fb7800fb1eb /mk
parent98b6756b09194352aa2ccfbb624992150a7a3520 (diff)
downloadhaskell-32f41c79960ffc1d04c4573acb37756109d279a5.tar.gz
Make distribution tarball compression format configurable
By default, bzip2 compression is selected (which is what has been used till now). Additionally, by setting the TAR_COMP make variable to one of the values "bzip2", "gzip", or "xz", an explicit compression format can be requested for the distribution tarballs. For instance, invoking make TAR_COMP=xz sdist-ghc will result in a tarball `./sdistprep/ghc-7.9.20140226-src.tar.xz` Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Diffstat (limited to 'mk')
-rw-r--r--mk/config.mk.in18
1 files changed, 18 insertions, 0 deletions
diff --git a/mk/config.mk.in b/mk/config.mk.in
index 6207cce867..ce58302292 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -697,6 +697,24 @@ PATCH_CMD = @PatchCmd@
TAR_CMD = @TarCmd@
BZIP2_CMD = bzip2
GZIP_CMD = gzip
+XZ_CMD = xz
+
+# bzip2 is default compression
+TAR_COMP = bzip2
+
+# select compression command and .tar extension based on TAR_COMP value
+ifeq "$(TAR_COMP)" "bzip2"
+TAR_COMP_CMD = $(BZIP2_CMD)
+TAR_COMP_EXT = bz2
+else ifeq "$(TAR_COMP)" "gzip"
+TAR_COMP_CMD = $(GZIP_CMD)
+TAR_COMP_EXT = gz
+else ifeq "$(TAR_COMP)" "xz"
+TAR_COMP_CMD = $(XZ_CMD)
+TAR_COMP_EXT = xz
+else
+$(error $$(TAR_COMP) set to unknown value "$(TAR_COMP)" (supported: "bzip2", "gzip", "xz"))
+endif
ifeq "$(Windows_Host)" "YES"
TOUCH_CMD = $(utils/touchy_dist_INPLACE)