aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac10
-rw-r--r--src/common/compress_zstd.c4
2 files changed, 14 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 1f43650b08..22c8a56137 100644
--- a/configure.ac
+++ b/configure.ac
@@ -977,6 +977,16 @@ if test "x$have_zstd" = "xyes"; then
AC_DEFINE(HAVE_ZSTD,1,[Have Zstd])
TOR_ZSTD_CFLAGS="${ZSTD_CFLAGS}"
TOR_ZSTD_LIBS="${ZSTD_LIBS}"
+
+ dnl now check for zstd functions
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS="$LIBS $ZSTD_LIBS"
+ CFLAGS="$CFLAGS $ZSTD_CFLAGS"
+ AC_CHECK_FUNCS(ZSTD_estimateCStreamSize \
+ ZSTD_estimateDCtxSize)
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
fi
AC_SUBST(TOR_ZSTD_CFLAGS)
AC_SUBST(TOR_ZSTD_LIBS)
diff --git a/src/common/compress_zstd.c b/src/common/compress_zstd.c
index 4e26c724e8..4024f5594d 100644
--- a/src/common/compress_zstd.c
+++ b/src/common/compress_zstd.c
@@ -219,10 +219,14 @@ tor_zstd_state_size_precalc(int compress, int preset)
#ifdef ZSTD_STATIC_LINKING_ONLY
if (tor_zstd_can_use_static_apis()) {
if (compress) {
+#ifdef HAVE_ZSTD_ESTIMATECSTREAMSIZE
return ZSTD_estimateCStreamSize(preset);
+#endif
} else {
+#ifdef HAVE_ZSTD_ESTIMATEDCTXSIZE
/* Could use DStream, but that takes a windowSize. */
return ZSTD_estimateDCtxSize();
+#endif
}
}
#endif