fs/common.mk: enable multithreaded xz compression
authorJames Hilliard <james.hilliard1@gmail.com>
Thu, 24 Jan 2019 08:27:33 +0000 (16:27 +0800)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sat, 3 Aug 2019 17:29:47 +0000 (19:29 +0200)
xz help indicates only 1 thread is used unless we set threads:
-T, --threads=NUM   use at most NUM threads; the default is 1; set to 0
                    to use as many threads as there are processor cores

Since this splits the file into blocks, the result will be not
bit-for-bit identical to single-threaded compression. Therefore, don't
enable this in BR2_REPRODUCIBLE builds.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Reviewed-by: Matthew Weber <matthew.weber@rockwellcollins.com>
[Arnout: append the option instead of repeating the entire command]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
fs/common.mk

index ca46a331d6a369e85926ff2adf77633b1d57f5d3..842ea924a5e011d29343220842ef49a551090bce 100644 (file)
@@ -140,6 +140,9 @@ ifeq ($$(BR2_TARGET_ROOTFS_$(2)_XZ),y)
 ROOTFS_$(2)_DEPENDENCIES += host-xz
 ROOTFS_$(2)_COMPRESS_EXT = .xz
 ROOTFS_$(2)_COMPRESS_CMD = xz -9 -C crc32 -c
+ifeq ($(BR2_REPRODUCIBLE),)
+ROOTFS_$(2)_COMPRESS_CMD += -T $(PARALLEL_JOBS)
+endif
 endif
 
 $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): ROOTFS=$(2)