summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2004-07-30 04:14:47 +0000
committerkientzle <kientzle@FreeBSD.org>2004-07-30 04:14:47 +0000
commit0a0da3ded81ae516e48317e0942d333dd78b0118 (patch)
treefddac2b611f177145ba5f5098c12c9e1408f153b
parent0f5c53085722743d2438cb5277b3f4f47c75231a (diff)
downloadFreeBSD-src-0a0da3ded81ae516e48317e0942d333dd78b0118.zip
FreeBSD-src-0a0da3ded81ae516e48317e0942d333dd78b0118.tar.gz
Conditionalize the bzip2/gzip compression/decompression
code on the existence of the relevant libraries (actually, the existence of the include files). This will allow the library to be easily ported to systems that don't have these libraries. (Of course, it also means that clients using the library on such systems will not be able to take advantage of the automatic compression format detection.)
-rw-r--r--lib/libarchive/archive_read_support_compression_all.c5
-rw-r--r--lib/libarchive/archive_read_support_compression_bzip2.c6
-rw-r--r--lib/libarchive/archive_read_support_compression_gzip.c6
-rw-r--r--lib/libarchive/archive_write_set_compression_bzip2.c6
-rw-r--r--lib/libarchive/archive_write_set_compression_gzip.c6
5 files changed, 29 insertions, 0 deletions
diff --git a/lib/libarchive/archive_read_support_compression_all.c b/lib/libarchive/archive_read_support_compression_all.c
index 9df6c4a..bd3a9b9 100644
--- a/lib/libarchive/archive_read_support_compression_all.c
+++ b/lib/libarchive/archive_read_support_compression_all.c
@@ -32,8 +32,13 @@ __FBSDID("$FreeBSD$");
int
archive_read_support_compression_all(struct archive *a)
{
+#if HAVE_BZLIB_H
archive_read_support_compression_bzip2(a);
+#endif
+ /* The decompress code doesn't use an outside library. */
archive_read_support_compression_compress(a);
+#if HAVE_ZLIB_H
archive_read_support_compression_gzip(a);
+#endif
return (ARCHIVE_OK);
}
diff --git a/lib/libarchive/archive_read_support_compression_bzip2.c b/lib/libarchive/archive_read_support_compression_bzip2.c
index 99acc62..e65d0ac 100644
--- a/lib/libarchive/archive_read_support_compression_bzip2.c
+++ b/lib/libarchive/archive_read_support_compression_bzip2.c
@@ -25,6 +25,10 @@
*/
#include "archive_platform.h"
+
+/* Don't compile this if we don't have bzlib. */
+#if HAVE_BZLIB_H
+
__FBSDID("$FreeBSD$");
#include <err.h>
@@ -361,3 +365,5 @@ fatal:
a->compression_name);
return (ARCHIVE_FATAL);
}
+
+#endif /* HAVE_BZLIB_H */
diff --git a/lib/libarchive/archive_read_support_compression_gzip.c b/lib/libarchive/archive_read_support_compression_gzip.c
index c7622a3..260e1d4 100644
--- a/lib/libarchive/archive_read_support_compression_gzip.c
+++ b/lib/libarchive/archive_read_support_compression_gzip.c
@@ -25,6 +25,10 @@
*/
#include "archive_platform.h"
+
+/* Don't compile this if we don't have zlib. */
+#if HAVE_ZLIB_H
+
__FBSDID("$FreeBSD$");
#include <errno.h>
@@ -496,3 +500,5 @@ fatal:
a->compression_name);
return (ARCHIVE_FATAL);
}
+
+#endif /* HAVE_ZLIB_H */
diff --git a/lib/libarchive/archive_write_set_compression_bzip2.c b/lib/libarchive/archive_write_set_compression_bzip2.c
index f044a0c..c7cee5e 100644
--- a/lib/libarchive/archive_write_set_compression_bzip2.c
+++ b/lib/libarchive/archive_write_set_compression_bzip2.c
@@ -25,6 +25,10 @@
*/
#include "archive_platform.h"
+
+/* Don't compile this if we don't have bzlib. */
+#if HAVE_BZLIB_H
+
__FBSDID("$FreeBSD$");
#include <errno.h>
@@ -326,3 +330,5 @@ drive_compressor(struct archive *a, struct private_data *state, int finishing)
}
}
}
+
+#endif /* HAVE_BZLIB_H */
diff --git a/lib/libarchive/archive_write_set_compression_gzip.c b/lib/libarchive/archive_write_set_compression_gzip.c
index 7b037ef..ca55410 100644
--- a/lib/libarchive/archive_write_set_compression_gzip.c
+++ b/lib/libarchive/archive_write_set_compression_gzip.c
@@ -25,6 +25,10 @@
*/
#include "archive_platform.h"
+
+/* Don't compile this if we don't have zlib. */
+#if HAVE_ZLIB_H
+
__FBSDID("$FreeBSD$");
#include <errno.h>
@@ -381,3 +385,5 @@ drive_compressor(struct archive *a, struct private_data *state, int finishing)
}
}
}
+
+#endif /* HAVE_ZLIB_H */
OpenPOWER on IntegriCloud