summaryrefslogtreecommitdiff
path: root/src/comp.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2021-09-22 19:13:49 +0300
committerEli Zaretskii <eliz@gnu.org>2021-09-22 19:13:49 +0300
commit2386b085268af9c06aebc5c4aced1aa6a0d3f702 (patch)
tree1b2ddf258299530619e5451ed9190c09ae99e172 /src/comp.c
parenteb42c4b099c171e46baf4b579fb921d49d032f2d (diff)
downloademacs-2386b085268af9c06aebc5c4aced1aa6a0d3f702.tar.gz
Fix build with native compilation but without zlib
* src/comp.c (comp_hash_source_file): Condition code that requires zlib with HAVE_ZLIB. * etc/NEWS: Explain that '--without-compress-install' is necessary when configuring with native compilation but without zlib.
Diffstat (limited to 'src/comp.c')
-rw-r--r--src/comp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/comp.c b/src/comp.c
index e9635f219fd..bc1adcf4e2f 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -705,6 +705,12 @@ comp_hash_source_file (Lisp_Object filename)
/* Can't use Finsert_file_contents + Fbuffer_hash as this is called
by Fcomp_el_to_eln_filename too early during bootstrap. */
bool is_gz = suffix_p (filename, ".gz");
+#ifndef HAVE_ZLIB
+ if (is_gz)
+ xsignal2 (Qfile_notify_error,
+ build_string ("Cannot natively compile compressed *.el files without zlib support"),
+ filename);
+#endif
Lisp_Object encoded_filename = ENCODE_FILE (filename);
FILE *f = emacs_fopen (SSDATA (encoded_filename), is_gz ? "rb" : "r");
@@ -713,9 +719,13 @@ comp_hash_source_file (Lisp_Object filename)
Lisp_Object digest = make_uninit_string (MD5_DIGEST_SIZE * 2);
+#ifdef HAVE_ZLIB
int res = is_gz
? md5_gz_stream (f, SSDATA (digest))
: md5_stream (f, SSDATA (digest));
+#else
+ int res = md5_stream (f, SSDATA (digest));
+#endif
fclose (f);
if (res)