Skip to content

Commit f03e9c3

Browse files
authored
[deps] enable zstd support (#58344)
1 parent 4d96cb4 commit f03e9c3

30 files changed

+919
-240
lines changed

Make.inc

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ USE_SYSTEM_LIBGIT2:=0
5959
USE_SYSTEM_PATCHELF:=0
6060
USE_SYSTEM_LIBWHICH:=0
6161
USE_SYSTEM_ZLIB:=0
62+
USE_SYSTEM_ZSTD:=0
6263
USE_SYSTEM_P7ZIP:=0
6364
USE_SYSTEM_LLD:=0
6465

@@ -373,11 +374,15 @@ $(1)_rel_eval = $(call rel_path,$(2),$($(1)))
373374
$(1)_rel = $$(call hit_cache,$(1)_rel_eval)
374375
endef
375376
$(foreach D,libdir private_libdir datarootdir libexecdir private_libexecdir docdir sysconfdir includedir,$(eval $(call cache_rel_path,$(D),$(bindir))))
376-
$(foreach D,build_libdir build_private_libdir,$(eval $(call cache_rel_path,$(D),$(build_bindir))))
377+
$(foreach D,build_libdir build_private_libdir ,$(eval $(call cache_rel_path,$(D),$(build_bindir))))
377378

378379
# Save a special one: reverse_private_libdir_rel: usually just `../`, but good to be general:
379380
reverse_private_libdir_rel_eval = $(call rel_path,$(private_libdir),$(libdir))
380381
reverse_private_libdir_rel = $(call hit_cache,reverse_private_libdir_rel_eval)
382+
reverse_private_libexecdir_rel_eval = $(call rel_path,$(private_libexecdir),$(private_libdir))
383+
reverse_private_libexecdir_rel = $(call hit_cache,reverse_private_libexecdir_rel_eval)
384+
reverse_build_private_libexecdir_rel_eval = $(call rel_path,$(build_private_libexecdir),$(build_libdir))
385+
reverse_build_private_libexecdir_rel = $(call hit_cache,reverse_build_private_libexecdir_rel_eval)
381386

382387
INSTALL_F := $(JULIAHOME)/contrib/install.sh 644
383388
INSTALL_M := $(JULIAHOME)/contrib/install.sh 755
@@ -1417,7 +1422,7 @@ CSL_NEXT_GLIBCXX_VERSION=GLIBCXX_3\.4\.34|GLIBCXX_3\.5\.|GLIBCXX_4\.
14171422
# Note: we explicitly _do not_ define `CSL` here, since it requires some more
14181423
# advanced techniques to decide whether it should be installed from a BB source
14191424
# or not. See `deps/csl.mk` for more detail.
1420-
BB_PROJECTS := BLASTRAMPOLINE OPENBLAS LLVM LIBSUITESPARSE OPENLIBM GMP OPENSSL LIBSSH2 NGHTTP2 MPFR CURL LIBGIT2 PCRE LIBUV LIBUNWIND DSFMT OBJCONV ZLIB P7ZIP LLD LIBTRACYCLIENT BOLT
1425+
BB_PROJECTS := BLASTRAMPOLINE OPENBLAS LLVM LIBSUITESPARSE OPENLIBM GMP OPENSSL LIBSSH2 NGHTTP2 MPFR CURL LIBGIT2 PCRE LIBUV LIBUNWIND DSFMT OBJCONV ZLIB ZSTD P7ZIP LLD LIBTRACYCLIENT BOLT
14211426

14221427
ifeq (${USE_THIRD_PARTY_GC},mmtk)
14231428
BB_PROJECTS += MMTK_JULIA

Makefile

Lines changed: 76 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ default: $(JULIA_BUILD_MODE) # contains either "debug" or "release"
2626
all: debug release
2727

2828
# sort is used to remove potential duplicates
29-
DIRS := $(sort $(build_bindir) $(build_depsbindir) $(build_libdir) $(build_private_libdir) $(build_libexecdir) $(build_includedir) $(build_includedir)/julia $(build_sysconfdir)/julia $(build_datarootdir)/julia $(build_datarootdir)/julia/stdlib $(build_man1dir))
29+
DIRS := $(sort $(build_bindir) $(build_depsbindir) $(build_libdir) $(build_private_libdir) $(build_private_libexecdir) $(build_libexecdir) $(build_includedir) $(build_includedir)/julia $(build_sysconfdir)/julia $(build_datarootdir)/julia $(build_datarootdir)/julia/stdlib $(build_man1dir))
3030
ifneq ($(BUILDROOT),$(JULIAHOME))
3131
BUILDDIRS := $(BUILDROOT) $(addprefix $(BUILDROOT)/,base src src/flisp src/support src/clangsa cli doc deps stdlib test test/clangsa test/embedding test/gcext test/llvmpasses)
3232
BUILDDIRMAKE := $(addsuffix /Makefile,$(BUILDDIRS)) $(BUILDROOT)/sysimage.mk $(BUILDROOT)/pkgimage.mk
@@ -203,6 +203,12 @@ endif
203203

204204
# private libraries, that are installed in $(prefix)/lib/julia
205205
JL_PRIVATE_LIBS-0 := libccalltest libccalllazyfoo libccalllazybar libllvmcalltest
206+
JL_PRIVATE_LIBS-1 := # libraries from USE_SYSTEM=1
207+
JL_PRIVATE_EXES := 7z
208+
ifeq ($(OS),WINNT)
209+
JL_PRIVATE_EXES += 7z.dll
210+
endif
211+
JL_PRIVATE_TOOLS :=
206212
ifeq ($(JULIA_BUILD_MODE),release)
207213
JL_PRIVATE_LIBS-0 += libjulia-internal libjulia-codegen
208214
else ifeq ($(JULIA_BUILD_MODE),debug)
@@ -232,9 +238,12 @@ JL_PRIVATE_LIBS-$(USE_SYSTEM_ZLIB) += zlib
232238
else
233239
JL_PRIVATE_LIBS-$(USE_SYSTEM_ZLIB) += libz
234240
endif
241+
JL_PRIVATE_LIBS-$(USE_SYSTEM_ZLIB) += libzstd
242+
JL_PRIVATE_EXES += zstd$(EXE) zstdmt$(EXE)
235243
ifeq ($(USE_LLVM_SHLIB),1)
236244
JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM $(LLVM_SHARED_LIB_NAME)
237245
endif
246+
JL_PRIVATE_TOOLS += lld$(EXE) dsymutil$(EXE)
238247
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind
239248

240249
ifeq ($(USE_SYSTEM_LIBM),0)
@@ -313,45 +322,41 @@ install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index
313322

314323
$(INSTALL_M) $(JULIA_EXECUTABLE_$(JULIA_BUILD_MODE)) $(DESTDIR)$(bindir)/
315324
ifeq ($(OS),WINNT)
316-
-$(INSTALL_M) $(wildcard $(build_bindir)/*.dll) $(DESTDIR)$(bindir)/
325+
$(INSTALL_M) $(wildcard $(build_bindir)/*.dll) $(DESTDIR)$(bindir)/
317326
ifeq ($(JULIA_BUILD_MODE),release)
318-
-$(INSTALL_M) $(build_libdir)/libjulia.dll.a $(DESTDIR)$(libdir)/
319-
-$(INSTALL_M) $(build_libdir)/libjulia-internal.dll.a $(DESTDIR)$(libdir)/
327+
$(INSTALL_M) $(build_libdir)/libjulia.dll.a $(DESTDIR)$(libdir)/
328+
$(INSTALL_M) $(build_libdir)/libjulia-internal.dll.a $(DESTDIR)$(libdir)/
320329
else ifeq ($(JULIA_BUILD_MODE),debug)
321-
-$(INSTALL_M) $(build_libdir)/libjulia-debug.dll.a $(DESTDIR)$(libdir)/
322-
-$(INSTALL_M) $(build_libdir)/libjulia-internal-debug.dll.a $(DESTDIR)$(libdir)/
330+
$(INSTALL_M) $(build_libdir)/libjulia-debug.dll.a $(DESTDIR)$(libdir)/
331+
$(INSTALL_M) $(build_libdir)/libjulia-internal-debug.dll.a $(DESTDIR)$(libdir)/
323332
endif
324-
-$(INSTALL_M) $(wildcard $(build_private_libdir)/*.a) $(DESTDIR)$(private_libdir)/
325-
-rm -f $(DESTDIR)$(private_libdir)/sys-o.a
333+
$(INSTALL_M) $(filter-out %-bc.a %-o.a,$(wildcard $(build_private_libdir)/lib*.a)) $(DESTDIR)$(private_libdir)/
326334

327-
# We have a single exception; we want 7z.dll to live in private_libexecdir,
328-
# not bindir, so that 7z.exe can find it.
329-
-mv $(DESTDIR)$(bindir)/7z.dll $(DESTDIR)$(private_libexecdir)/
330-
-$(INSTALL_M) $(build_bindir)/libopenlibm.dll.a $(DESTDIR)$(libdir)/
331-
-$(INSTALL_M) $(build_libdir)/libssp.dll.a $(DESTDIR)$(libdir)/
335+
$(INSTALL_M) $(build_bindir)/libopenlibm.dll.a $(DESTDIR)$(libdir)/
336+
$(INSTALL_M) $(build_libdir)/libssp.dll.a $(DESTDIR)$(libdir)/
332337
else
333338

334339
# Copy over .dSYM directories directly for Darwin
335340
ifneq ($(DARWIN_FRAMEWORK),1)
336341
ifeq ($(OS),Darwin)
337342
ifeq ($(JULIA_BUILD_MODE),release)
338-
-cp -a $(build_libdir)/libjulia.*.dSYM $(DESTDIR)$(libdir)
339-
-cp -a $(build_libdir)/libjulia-internal.*.dSYM $(DESTDIR)$(private_libdir)
340-
-cp -a $(build_libdir)/libjulia-codegen.*.dSYM $(DESTDIR)$(private_libdir)
341-
-cp -a $(build_private_libdir)/sys.dylib.dSYM $(DESTDIR)$(private_libdir)
343+
cp -a $(build_libdir)/libjulia.*.dSYM $(DESTDIR)$(libdir)
344+
cp -a $(build_libdir)/libjulia-internal.*.dSYM $(DESTDIR)$(private_libdir)
345+
cp -a $(build_libdir)/libjulia-codegen.*.dSYM $(DESTDIR)$(private_libdir)
346+
cp -a $(build_private_libdir)/sys.dylib.dSYM $(DESTDIR)$(private_libdir)
342347
else ifeq ($(JULIA_BUILD_MODE),debug)
343-
-cp -a $(build_libdir)/libjulia-debug.*.dSYM $(DESTDIR)$(libdir)
344-
-cp -a $(build_libdir)/libjulia-internal-debug.*.dSYM $(DESTDIR)$(private_libdir)
345-
-cp -a $(build_libdir)/libjulia-codegen-debug.*.dSYM $(DESTDIR)$(private_libdir)
346-
-cp -a $(build_private_libdir)/sys-debug.dylib.dSYM $(DESTDIR)$(private_libdir)
348+
cp -a $(build_libdir)/libjulia-debug.*.dSYM $(DESTDIR)$(libdir)
349+
cp -a $(build_libdir)/libjulia-internal-debug.*.dSYM $(DESTDIR)$(private_libdir)
350+
cp -a $(build_libdir)/libjulia-codegen-debug.*.dSYM $(DESTDIR)$(private_libdir)
351+
cp -a $(build_private_libdir)/sys-debug.dylib.dSYM $(DESTDIR)$(private_libdir)
347352
endif
348353
endif
349354

350355
# Copy over shared library file for libjulia.*
351356
for suffix in $(JL_TARGETS) ; do \
352357
for lib in $(build_libdir)/lib$${suffix}.*$(SHLIB_EXT)*; do \
353358
if [ "$${lib##*.}" != "dSYM" ]; then \
354-
$(INSTALL_M) $$lib $(DESTDIR)$(libdir) ; \
359+
$(INSTALL_M) $$lib $(DESTDIR)$(libdir) || exit 1; \
355360
fi \
356361
done \
357362
done
@@ -371,26 +376,24 @@ endif
371376
for suffix in $(JL_PRIVATE_LIBS-0) ; do \
372377
for lib in $(build_libdir)/$${suffix}.*$(SHLIB_EXT)*; do \
373378
if [ "$${lib##*.}" != "dSYM" ]; then \
374-
$(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \
379+
$(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) || exit 1; \
375380
fi \
376381
done \
377382
done
378383
for suffix in $(JL_PRIVATE_LIBS-1) ; do \
379384
for lib in $(build_private_libdir)/$${suffix}.$(SHLIB_EXT)*; do \
380385
if [ "$${lib##*.}" != "dSYM" ]; then \
381-
$(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \
386+
$(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) || exit 1; \
382387
fi \
383388
done \
384389
done
385390
endif
386-
# Install `7z` into private_libexecdir
387-
$(INSTALL_M) $(build_bindir)/7z$(EXE) $(DESTDIR)$(private_libexecdir)/
388-
389-
# Install `lld` into private_libexecdir
390-
$(INSTALL_M) $(build_depsbindir)/lld$(EXE) $(DESTDIR)$(private_libexecdir)/
391-
392-
# Install `dsymutil` into private_libexecdir/
393-
$(INSTALL_M) $(build_depsbindir)/dsymutil$(EXE) $(DESTDIR)$(private_libexecdir)/
391+
for exe in $(JL_PRIVATE_EXES) ; do \
392+
$(INSTALL_M) $(build_private_libexecdir)/$$exe $(DESTDIR)$(private_libexecdir) || exit 1; \
393+
done
394+
for exe in $(JL_PRIVATE_TOOLS) ; do \
395+
$(INSTALL_M) $(build_depsbindir)/$$exe $(DESTDIR)$(private_libexecdir) || exit 1; \
396+
done
394397

395398
# Copy public headers
396399
cp -R -L $(build_includedir)/julia/* $(DESTDIR)$(includedir)/julia
@@ -442,13 +445,13 @@ ifneq ($(private_libdir_rel),$(build_private_libdir_rel))
442445
ifeq ($(OS), Darwin)
443446
ifneq ($(DARWIN_FRAMEWORK),1)
444447
for j in $(JL_TARGETS) ; do \
445-
install_name_tool -rpath @executable_path/$(build_private_libdir_rel) @executable_path/$(private_libdir_rel) $(DESTDIR)$(bindir)/$$j; \
446-
install_name_tool -add_rpath @executable_path/$(build_libdir_rel) @executable_path/$(libdir_rel) $(DESTDIR)$(bindir)/$$j; \
448+
install_name_tool -rpath @executable_path/$(build_private_libdir_rel) @executable_path/$(private_libdir_rel) $(DESTDIR)$(bindir)/$$j || exit 1; \
449+
install_name_tool -rpath @executable_path/$(build_libdir_rel) @executable_path/$(libdir_rel) $(DESTDIR)$(bindir)/$$j || exit 1; \
447450
done
448451
endif
449452
else ifneq (,$(findstring $(OS),Linux FreeBSD))
450453
for j in $(JL_TARGETS) ; do \
451-
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \
454+
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j || exit 1; \
452455
done
453456
endif
454457

@@ -471,11 +474,11 @@ endif
471474
ifeq ($(OS), Darwin)
472475
ifneq ($(DARWIN_FRAMEWORK),1)
473476
ifeq ($(JULIA_BUILD_MODE),release)
474-
install_name_tool -add_rpath @loader_path/$(reverse_private_libdir_rel)/ $(DESTDIR)$(private_libdir)/libjulia-internal.$(SHLIB_EXT)
475-
install_name_tool -add_rpath @loader_path/$(reverse_private_libdir_rel)/ $(DESTDIR)$(private_libdir)/libjulia-codegen.$(SHLIB_EXT)
477+
install_name_tool -add_rpath @loader_path/$(reverse_private_libdir_rel) $(DESTDIR)$(private_libdir)/libjulia-internal.$(SHLIB_EXT)
478+
install_name_tool -add_rpath @loader_path/$(reverse_private_libdir_rel) $(DESTDIR)$(private_libdir)/libjulia-codegen.$(SHLIB_EXT)
476479
else ifeq ($(JULIA_BUILD_MODE),debug)
477-
install_name_tool -add_rpath @loader_path/$(reverse_private_libdir_rel)/ $(DESTDIR)$(private_libdir)/libjulia-internal-debug.$(SHLIB_EXT)
478-
install_name_tool -add_rpath @loader_path/$(reverse_private_libdir_rel)/ $(DESTDIR)$(private_libdir)/libjulia-codegen-debug.$(SHLIB_EXT)
480+
install_name_tool -add_rpath @loader_path/$(reverse_private_libdir_rel) $(DESTDIR)$(private_libdir)/libjulia-internal-debug.$(SHLIB_EXT)
481+
install_name_tool -add_rpath @loader_path/$(reverse_private_libdir_rel) $(DESTDIR)$(private_libdir)/libjulia-codegen-debug.$(SHLIB_EXT)
479482
endif
480483
endif
481484
else ifneq (,$(findstring $(OS),Linux FreeBSD))
@@ -486,11 +489,43 @@ else ifeq ($(JULIA_BUILD_MODE),debug)
486489
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal-debug.$(SHLIB_EXT)
487490
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-codegen-debug.$(SHLIB_EXT)
488491
endif
492+
endif
493+
494+
ifeq ($(OS), Darwin)
495+
ifneq ($(DARWIN_FRAMEWORK),1)
496+
for j in $(JL_PRIVATE_TOOLS) ; do \
497+
[ -L $(DESTDIR)$(private_libexecdir)/$$j ] && continue; \
498+
install_name_tool -rpath @loader_path/$(build_libdir_rel) @executable_path/$(reverse_private_libexecdir_rel) $(DESTDIR)$(private_libexecdir)/$$j || exit 1; \
499+
done
500+
endif
501+
else ifneq (,$(findstring $(OS),Linux FreeBSD))
502+
for j in $(JL_PRIVATE_TOOLS) ; do \
503+
[ -L $(DESTDIR)$(private_libexecdir)/$$j ] && continue; \
504+
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN/$(reverse_private_libexecdir_rel)' $(DESTDIR)$(private_libexecdir)/$$j || exit 1; \
505+
done
506+
endif
507+
508+
ifneq ($(reverse_private_libexecdir_rel),$(reverse_build_private_libexecdir_rel))
509+
ifeq ($(OS), Darwin)
510+
ifneq ($(DARWIN_FRAMEWORK),1)
511+
for j in $(JL_PRIVATE_EXES) ; do \
512+
[ $$j = 7z ] && continue; \
513+
[ -L $(DESTDIR)$(private_libexecdir)/$$j ] && continue; \
514+
install_name_tool -rpath @executable_path/$(reverse_build_private_libexecdir_rel) @executable_path/$(reverse_private_libexecdir_rel) $(DESTDIR)$(private_libexecdir)/$$j || exit 1; \
515+
done
516+
endif
517+
else ifneq (,$(findstring $(OS),Linux FreeBSD))
518+
for j in $(JL_PRIVATE_EXES) ; do \
519+
[ $$j = 7z ] && continue; \
520+
[ -L $(DESTDIR)$(private_libexecdir)/$$j ] && continue; \
521+
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN/$(reverse_private_libexecdir_rel)' $(DESTDIR)$(private_libexecdir)/$$j || exit 1; \
522+
done
523+
endif
489524
endif
490525

491526
# Fix rpaths for dependencies. This should be fixed in BinaryBuilder later.
492527
ifeq ($(OS), Linux)
493-
-$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN' $(DESTDIR)$(private_shlibdir)/libLLVM.$(SHLIB_EXT)
528+
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN' $(DESTDIR)$(private_shlibdir)/libLLVM.$(SHLIB_EXT)
494529
endif
495530
ifneq ($(LOADER_BUILD_DEP_LIBS),$(LOADER_INSTALL_DEP_LIBS))
496531
# Next, overwrite relative path to libjulia-internal in our loader if $$(LOADER_BUILD_DEP_LIBS) != $$(LOADER_INSTALL_DEP_LIBS)
@@ -511,7 +546,7 @@ ifeq ($(OS),FreeBSD)
511546
# don't set libgfortran's RPATH, it won't be able to find its friends on systems
512547
# that don't have the exact GCC port installed used for the build.
513548
for lib in $(DESTDIR)$(private_libdir)/libgfortran*$(SHLIB_EXT)*; do \
514-
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN' $$lib; \
549+
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN' $$lib || exit 1; \
515550
done
516551
endif
517552

THIRDPARTY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ Julia bundles the following external programs and libraries:
6767

6868
- [7-Zip](https://www.7-zip.org/license.txt)
6969
- [ZLIB](https://zlib.net/zlib_license.html)
70+
- [ZSTD](https://github.com/facebook/zstd/blob/v1.5.7/LICENSE)
7071

7172
On some platforms, distributions of Julia contain SSL certificate authority certificates,
7273
released under the [Mozilla Public License](https://en.wikipedia.org/wiki/Mozilla_Public_License).

contrib/refresh_checksums.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ CLANG_TRIPLETS=$(filter %-darwin %-freebsd,$(TRIPLETS))
2424
NON_CLANG_TRIPLETS=$(filter-out %-darwin %-freebsd,$(TRIPLETS))
2525

2626
# These are the projects currently using BinaryBuilder; both GCC-expanded and non-GCC-expanded:
27-
BB_PROJECTS=openssl libssh2 nghttp2 mpfr curl libgit2 pcre libuv unwind llvmunwind dsfmt objconv p7zip zlib libsuitesparse openlibm blastrampoline libtracyclient mmtk_julia
27+
BB_PROJECTS=openssl libssh2 nghttp2 mpfr curl libgit2 pcre libuv unwind llvmunwind dsfmt objconv p7zip zlib zstd libsuitesparse openlibm blastrampoline libtracyclient mmtk_julia
2828
BB_GCC_EXPANDED_PROJECTS=openblas csl
2929
BB_CXX_EXPANDED_PROJECTS=gmp llvm clang llvm-tools lld
3030
# These are non-BB source-only deps

deps/Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,12 @@ endif
7272
endif
7373
endif
7474

75+
PATCHELF_MANIFEST :=
7576
ifneq (,$(findstring $(OS),Linux FreeBSD OpenBSD))
7677
ifeq ($(USE_SYSTEM_PATCHELF), 0)
7778
DEP_LIBS += patchelf
7879
PATCHELF:=$(build_depsbindir)/patchelf
80+
PATCHELF_MANIFEST:=$(build_prefix)/manifest/patchelf
7981
else
8082
PATCHELF:=patchelf
8183
endif
@@ -157,6 +159,10 @@ ifeq ($(USE_SYSTEM_ZLIB), 0)
157159
DEP_LIBS += zlib
158160
endif
159161

162+
ifeq ($(USE_SYSTEM_ZSTD), 0)
163+
DEP_LIBS += zstd
164+
endif
165+
160166
ifeq ($(USE_SYSTEM_P7ZIP), 0)
161167
DEP_LIBS += p7zip
162168
endif
@@ -204,7 +210,7 @@ DEP_LIBS_STAGED := $(DEP_LIBS)
204210
# list all targets
205211
DEP_LIBS_STAGED_ALL := llvm llvm-tools clang llvmunwind unwind libuv pcre \
206212
openlibm dsfmt blastrampoline openblas lapack gmp mpfr patchelf utf8proc \
207-
objconv openssl libssh2 nghttp2 curl libgit2 libwhich zlib p7zip csl \
213+
objconv openssl libssh2 nghttp2 curl libgit2 libwhich zlib zstd p7zip csl \
208214
sanitizers libsuitesparse lld libtracyclient ittapi nvtx JuliaSyntax \
209215
terminfo mmtk_julia
210216
DEP_LIBS_ALL := $(DEP_LIBS_STAGED_ALL)
@@ -256,6 +262,7 @@ include $(SRCDIR)/openblas.mk
256262
include $(SRCDIR)/utf8proc.mk
257263
include $(SRCDIR)/libsuitesparse.mk
258264
include $(SRCDIR)/zlib.mk
265+
include $(SRCDIR)/zstd.mk
259266
include $(SRCDIR)/unwind.mk
260267
include $(SRCDIR)/gmp.mk
261268
include $(SRCDIR)/mpfr.mk

0 commit comments

Comments
 (0)