summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2013-01-08 18:37:12 +0000
committerobrien <obrien@FreeBSD.org>2013-01-08 18:37:12 +0000
commit8aa5aba1d5cca8603981d9bd1ac6d1956ceb0d27 (patch)
treea8f4a2e2819fc5b360c2b25e7986284a1a3e65dc
parent9b2193d68972f5c42e08f1f03b60ee546de59f89 (diff)
downloadFreeBSD-src-8aa5aba1d5cca8603981d9bd1ac6d1956ceb0d27.zip
FreeBSD-src-8aa5aba1d5cca8603981d9bd1ac6d1956ceb0d27.tar.gz
Following r226271, allow disabling lzma support with "WITHOUT_LZMA_SUPPORT".
Correct r226271 which should have used WITHOUT_BZIP2_SUPPORT per r166255. Obtained from: Juniper Networks
-rw-r--r--tools/build/make_check/Makefile2
-rw-r--r--tools/build/options/WITHOUT_LZMA_SUPPORT2
-rw-r--r--usr.bin/grep/Makefile15
-rw-r--r--usr.bin/grep/file.c9
4 files changed, 22 insertions, 6 deletions
diff --git a/tools/build/make_check/Makefile b/tools/build/make_check/Makefile
index 3a0f6ad..9df224f 100644
--- a/tools/build/make_check/Makefile
+++ b/tools/build/make_check/Makefile
@@ -24,7 +24,7 @@ SMAKE= MAKEFLAGS= ${MAKE} -C ${.CURDIR}
all:
@echo '1..16'
- @${SMAKE} C_check || { cd ${.CURDIR} ; ${MAKE} failure ; }
+ @${SMAKE} C_check || { ${MAKE} -C ${.CURDIR} failure ; }
@echo "ok 1 - C_check # Test of -C flag existence detected no regression."
@echo 1:${DATA1} 2:${DATA2} 3:${DATA3} 4:${DATA4} 5:${DATA5} | \
diff -u ${.CURDIR}/regress.variables.out - || \
diff --git a/tools/build/options/WITHOUT_LZMA_SUPPORT b/tools/build/options/WITHOUT_LZMA_SUPPORT
new file mode 100644
index 0000000..627d464
--- /dev/null
+++ b/tools/build/options/WITHOUT_LZMA_SUPPORT
@@ -0,0 +1,2 @@
+.\" $FreeBSD$
+Set to build some programs without optional lzma compression support.
diff --git a/usr.bin/grep/Makefile b/usr.bin/grep/Makefile
index 3d4b67b..359954b 100644
--- a/usr.bin/grep/Makefile
+++ b/usr.bin/grep/Makefile
@@ -40,17 +40,24 @@ MLINKS= grep.1 egrep.1 \
grep.1 lzfgrep.1
.endif
+LDADD= -lz
+DPADD= ${LIBZ}
+
+.if !defined(WITHOUT_LZMA_SUPPORT)
+LDADD+= -llzma
+DPADD+= ${LIBLZMA}
+
LINKS+= ${BINDIR}/${PROG} ${BINDIR}/xzgrep \
${BINDIR}/${PROG} ${BINDIR}/xzegrep \
${BINDIR}/${PROG} ${BINDIR}/xzfgrep \
${BINDIR}/${PROG} ${BINDIR}/lzgrep \
${BINDIR}/${PROG} ${BINDIR}/lzegrep \
${BINDIR}/${PROG} ${BINDIR}/lzfgrep
+.else
+CFLAGS+= -DWITHOUT_LZMA
+.endif
-LDADD= -lz -llzma
-DPADD= ${LIBZ} ${LIBLZMA}
-
-.if !defined(WITHOUT_BZIP2)
+.if !defined(WITHOUT_BZIP2_SUPPORT)
LDADD+= -lbz2
DPADD+= ${LIBBZ2}
diff --git a/usr.bin/grep/file.c b/usr.bin/grep/file.c
index 8cee2c0..6bcaa52 100644
--- a/usr.bin/grep/file.c
+++ b/usr.bin/grep/file.c
@@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$");
#include <err.h>
#include <errno.h>
#include <fcntl.h>
-#include <lzma.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
@@ -50,6 +49,10 @@ __FBSDID("$FreeBSD$");
#include <wctype.h>
#include <zlib.h>
+#ifndef WITHOUT_LZMA
+#include <lzma.h>
+#endif
+
#ifndef WITHOUT_BZIP2
#include <bzlib.h>
#endif
@@ -60,7 +63,9 @@ __FBSDID("$FreeBSD$");
#define LNBUFBUMP 80
static gzFile gzbufdesc;
+#ifndef WITHOUT_LZMA
static lzma_stream lstrm = LZMA_STREAM_INIT;
+#endif
#ifndef WITHOUT_BZIP2
static BZFILE* bzbufdesc;
#endif
@@ -116,6 +121,7 @@ grep_refill(struct file *f)
nr = -1;
}
#endif
+#ifndef WITHOUT_LZMA
} else if ((filebehave == FILE_XZ) || (filebehave == FILE_LZMA)) {
lzma_action action = LZMA_RUN;
uint8_t in_buf[MAXBUFSIZ];
@@ -146,6 +152,7 @@ grep_refill(struct file *f)
return (-1);
bufrem = MAXBUFSIZ - lstrm.avail_out;
return (0);
+#endif /* WIHTOUT_LZMA */
} else
nr = read(f->fd, buffer, MAXBUFSIZ);
OpenPOWER on IntegriCloud