diff --git a/archival/libarchive/bz/blocksort.c b/archival/libarchive/bz/blocksort.c
index 0a9a597..92d6d82 100644
--- a/archival/libarchive/bz/blocksort.c
+++ b/archival/libarchive/bz/blocksort.c
@@ -392,7 +392,7 @@
  * but speeds up compression 10% overall
  */
 
-#if CONFIG_BZIP2_FAST >= 1
+#if BZIP2_SPEED >= 1
 
 #define TIMES_8(code) \
 	code; code; code; code; \
@@ -506,7 +506,7 @@
 			i++;
 
 /* 1.5% overall speedup, +290 bytes */
-#if CONFIG_BZIP2_FAST >= 3
+#if BZIP2_SPEED >= 3
 			/*-- copy 2 --*/
 			if (i > hi) break;
 			v = ptr[i];
@@ -755,7 +755,7 @@
 	j = block[0] << 8;
 	i = nblock - 1;
 /* 3%, +300 bytes */
-#if CONFIG_BZIP2_FAST >= 2
+#if BZIP2_SPEED >= 2
 	for (; i >= 3; i -= 4) {
 		quadrant[i] = 0;
 		j = (j >> 8) | (((unsigned)block[i]) << 8);
@@ -794,7 +794,7 @@
 		unsigned s;
 		s = block[0] << 8;
 		i = nblock - 1;
-#if CONFIG_BZIP2_FAST >= 2
+#if BZIP2_SPEED >= 2
 		for (; i >= 3; i -= 4) {
 			s = (s >> 8) | (block[i] << 8);
 			j = ftab[s] - 1;
diff --git a/archival/libarchive/bz/bzlib_private.h b/archival/libarchive/bz/bzlib_private.h
index ef75ef0..ea0f29b 100644
--- a/archival/libarchive/bz/bzlib_private.h
+++ b/archival/libarchive/bz/bzlib_private.h
@@ -188,7 +188,7 @@
 	/* stack-saving measures: these can be local, but they are too big */
 	int32_t  sendMTFValues__code [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
 	int32_t  sendMTFValues__rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
-#if CONFIG_BZIP2_FAST >= 5
+#if BZIP2_SPEED >= 5
 	/* second dimension: only 3 needed; 4 makes index calculations faster */
 	uint32_t sendMTFValues__len_pack[BZ_MAX_ALPHA_SIZE][4];
 #endif
diff --git a/archival/libarchive/bz/compress.c b/archival/libarchive/bz/compress.c
index 462740b..539ab92 100644
--- a/archival/libarchive/bz/compress.c
+++ b/archival/libarchive/bz/compress.c
@@ -32,6 +32,12 @@
 
 /* #include "bzlib_private.h" */
 
+#if BZIP2_SPEED >= 5
+# define ALWAYS_INLINE_5 ALWAYS_INLINE
+#else
+# define ALWAYS_INLINE_5 /*nothing*/
+#endif
+
 /*---------------------------------------------------*/
 /*--- Bit stream I/O                              ---*/
 /*---------------------------------------------------*/
@@ -60,9 +66,7 @@
 /*---------------------------------------------------*/
 static
 /* Helps only on level 5, on other levels hurts. ? */
-#if CONFIG_BZIP2_FAST >= 5
-ALWAYS_INLINE
-#endif
+ALWAYS_INLINE_5
 void bsW(EState* s, int32_t n, uint32_t v)
 {
 	while (s->bsLive >= 8) {
@@ -75,9 +79,7 @@
 }
 /* Same with n == 16: */
 static
-#if CONFIG_BZIP2_FAST >= 5
-ALWAYS_INLINE
-#endif
+ALWAYS_INLINE_5
 void bsW16(EState* s, uint32_t v)
 {
 	while (s->bsLive >= 8) {
@@ -103,9 +105,7 @@
 	s->bsLive += 1;
 }
 static
-#if CONFIG_BZIP2_FAST >= 5
-ALWAYS_INLINE
-#endif
+ALWAYS_INLINE_5
 void bsW1_0(EState* s)
 {
 	/* need space for only 1 bit, no need for loop freeing > 8 bits */
@@ -394,7 +394,7 @@
 				s->rfreq[t][v] = 0;
 		}
 
-#if CONFIG_BZIP2_FAST >= 5
+#if BZIP2_SPEED >= 5
 		/*
 		 * Set up an auxiliary length table which is used to fast-track
 		 * the common case (nGroups == 6).
@@ -427,7 +427,7 @@
 			 */
 			for (t = 0; t < nGroups; t++)
 				cost[t] = 0;
-#if CONFIG_BZIP2_FAST >= 5
+#if BZIP2_SPEED >= 5
 			if (nGroups == 6 && 50 == ge-gs+1) {
 				/*--- fast track the common case ---*/
 				register uint32_t cost01, cost23, cost45;
@@ -483,7 +483,7 @@
 			 * Increment the symbol frequencies for the selected table.
 			 */
 /* 1% faster compress. +800 bytes */
-#if CONFIG_BZIP2_FAST >= 4
+#if BZIP2_SPEED >= 4
 			if (nGroups == 6 && 50 == ge-gs+1) {
 				/*--- fast track the common case ---*/
 #define BZ_ITUR(nn) s->rfreq[bt][mtfv[gs + (nn)]]++
diff --git a/archival/libarchive/bz/huffman.c b/archival/libarchive/bz/huffman.c
index be5930e..dc851cd 100644
--- a/archival/libarchive/bz/huffman.c
+++ b/archival/libarchive/bz/huffman.c
@@ -48,7 +48,7 @@
 
 
 /* 90 bytes, 0.3% of overall compress speed */
-#if CONFIG_BZIP2_FAST >= 1
+#if BZIP2_SPEED >= 1
 
 /* macro works better than inline (gcc 4.2.1) */
 #define DOWNHEAP1(heap, weight, Heap) \
