summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-11-26 17:43:22 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2008-11-26 17:43:22 +0000
commit5591cb58fd94483ec3dc7c169ae8cf0a6b7841bd (patch)
treea0ce8d868144e60957e8c640903cf4c5804b38f3
parent9432c0c9b89ed6b3d369b377cf884918cd6180db (diff)
[script] Only use zlib if available.
Conditionally link against zlib - replaying a script will fail if the trace uses a compressed format.
-rw-r--r--configure.ac5
-rw-r--r--util/cairo-script/Makefile.am2
-rw-r--r--util/cairo-script/cairo-script-file.c5
-rw-r--r--util/cairo-script/cairo-script-operators.c2
4 files changed, 11 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 7384ccc4..47a3ac60 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,7 +29,10 @@ AC_CACHE_SAVE
dnl ===========================================================================
AC_CHECK_LIB(z, compress,
- [AC_CHECK_HEADER(zlib.h, [have_libz=yes],
+ [AC_CHECK_HEADER(zlib.h, [
+ have_libz=yes
+ AC_DEFINE(HAVE_ZLIB, 1, [Define to 1 if you have zlib available])
+ ],
[have_libz="no (requires zlib http://www.gzip.org/zlib/)"])],
[have_libz="no (requires zlib http://www.gzip.org/zlib/)"])
diff --git a/util/cairo-script/Makefile.am b/util/cairo-script/Makefile.am
index 465adf44..829b06e3 100644
--- a/util/cairo-script/Makefile.am
+++ b/util/cairo-script/Makefile.am
@@ -17,7 +17,7 @@ libcairo_script_interpreter_la_SOURCES = \
$(NULL)
libcairo_script_interpreter_la_CFLAGS = $(CAIRO_CFLAGS)
libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols)
-libcairo_script_interpreter_la_LIBADD = -lz $(top_builddir)/src/libcairo.la $(CAIRO_LIBS)
+libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS)
csi_replay_SOURCES = csi-replay.c
csi_replay_LDADD = libcairo-script-interpreter.la
diff --git a/util/cairo-script/cairo-script-file.c b/util/cairo-script/cairo-script-file.c
index c21ef630..fcdccf14 100644
--- a/util/cairo-script/cairo-script-file.c
+++ b/util/cairo-script/cairo-script-file.c
@@ -36,7 +36,6 @@
#include <stdio.h>
#include <string.h>
-#include <zlib.h>
#define CHUNK_SIZE 32768
@@ -372,6 +371,9 @@ csi_file_new_ascii85_decode (csi_t *ctx,
return _csi_file_new_filter (ctx, obj, src, &funcs, data);
}
+#if HAVE_ZLIB
+#include <zlib.h>
+
typedef struct _deflate_decode_data {
z_stream zlib_stream;
@@ -503,6 +505,7 @@ csi_file_new_deflate_decode (csi_t *ctx,
return _csi_file_new_filter (ctx, obj, src, &funcs, data);
}
+#endif
#if 0
static int
diff --git a/util/cairo-script/cairo-script-operators.c b/util/cairo-script/cairo-script-operators.c
index a70b55d5..13d6f766 100644
--- a/util/cairo-script/cairo-script-operators.c
+++ b/util/cairo-script/cairo-script-operators.c
@@ -1317,7 +1317,9 @@ _filter (csi_t *ctx)
csi_object_t *);
} filters[] = {
{ "ascii85", csi_file_new_ascii85_decode },
+#if HAVE_ZLIB
{ "deflate", csi_file_new_deflate_decode },
+#endif
#if 0
{ "lzw", csi_file_new_lzw_decode },
#endif