summaryrefslogtreecommitdiffstats
path: root/usr.bin/grep
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 /usr.bin/grep
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
Diffstat (limited to 'usr.bin/grep')
-rw-r--r--usr.bin/grep/Makefile15
-rw-r--r--usr.bin/grep/file.c9
2 files changed, 19 insertions, 5 deletions
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