Skip to content

Commit 83cc36b

Browse files
vtjnashbluesmoon
authored andcommitted
[deps] enable zstd support (#58344)
1 parent 7b9081c commit 83cc36b

File tree

19 files changed

+302
-112
lines changed

19 files changed

+302
-112
lines changed

Make.inc

Lines changed: 12 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

@@ -376,11 +377,15 @@ $(1)_rel_eval = $(call rel_path,$(2),$($(1)))
376377
$(1)_rel = $$(call hit_cache,$(1)_rel_eval)
377378
endef
378379
$(foreach D,libdir private_libdir datarootdir libexecdir private_libexecdir docdir sysconfdir includedir,$(eval $(call cache_rel_path,$(D),$(bindir))))
379-
$(foreach D,build_libdir build_private_libdir,$(eval $(call cache_rel_path,$(D),$(build_bindir))))
380+
$(foreach D,build_libdir build_private_libdir ,$(eval $(call cache_rel_path,$(D),$(build_bindir))))
380381

381382
# Save a special one: reverse_private_libdir_rel: usually just `../`, but good to be general:
382383
reverse_private_libdir_rel_eval = $(call rel_path,$(private_libdir),$(libdir))
383384
reverse_private_libdir_rel = $(call hit_cache,reverse_private_libdir_rel_eval)
385+
reverse_private_libexecdir_rel_eval = $(call rel_path,$(private_libexecdir),$(private_libdir))
386+
reverse_private_libexecdir_rel = $(call hit_cache,reverse_private_libexecdir_rel_eval)
387+
reverse_build_private_libexecdir_rel_eval = $(call rel_path,$(build_private_libexecdir),$(build_libdir))
388+
reverse_build_private_libexecdir_rel = $(call hit_cache,reverse_build_private_libexecdir_rel_eval)
384389

385390
INSTALL_F := $(JULIAHOME)/contrib/install.sh 644
386391
INSTALL_M := $(JULIAHOME)/contrib/install.sh 755
@@ -1407,7 +1412,12 @@ CSL_NEXT_GLIBCXX_VERSION=GLIBCXX_3\.4\.34|GLIBCXX_3\.5\.|GLIBCXX_4\.
14071412
# Note: we explicitly _do not_ define `CSL` here, since it requires some more
14081413
# advanced techniques to decide whether it should be installed from a BB source
14091414
# or not. See `deps/csl.mk` for more detail.
1410-
BB_PROJECTS := BLASTRAMPOLINE OPENBLAS LLVM LIBSUITESPARSE OPENLIBM GMP OPENSSL LIBSSH2 NGHTTP2 MPFR CURL LIBGIT2 PCRE LIBUV LIBUNWIND DSFMT OBJCONV ZLIB P7ZIP LLD LIBTRACYCLIENT BOLT MMTK_JULIA
1415+
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
1416+
1417+
ifeq (${USE_THIRD_PARTY_GC},mmtk)
1418+
BB_PROJECTS += MMTK_JULIA
1419+
endif
1420+
14111421
define SET_BB_DEFAULT
14121422
# First, check to see if BB is disabled on a global setting
14131423
ifeq ($$(USE_BINARYBUILDER),0)

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
@@ -204,6 +204,12 @@ endif
204204

205205
# private libraries, that are installed in $(prefix)/lib/julia
206206
JL_PRIVATE_LIBS-0 := libccalltest libccalllazyfoo libccalllazybar libllvmcalltest
207+
JL_PRIVATE_LIBS-1 := # libraries from USE_SYSTEM=1
208+
JL_PRIVATE_EXES := 7z
209+
ifeq ($(OS),WINNT)
210+
JL_PRIVATE_EXES += 7z.dll
211+
endif
212+
JL_PRIVATE_TOOLS :=
207213
ifeq ($(JULIA_BUILD_MODE),release)
208214
JL_PRIVATE_LIBS-0 += libjulia-internal libjulia-codegen
209215
else ifeq ($(JULIA_BUILD_MODE),debug)
@@ -233,9 +239,12 @@ JL_PRIVATE_LIBS-$(USE_SYSTEM_ZLIB) += zlib
233239
else
234240
JL_PRIVATE_LIBS-$(USE_SYSTEM_ZLIB) += libz
235241
endif
242+
JL_PRIVATE_LIBS-$(USE_SYSTEM_ZSTD) += libzstd
243+
JL_PRIVATE_EXES += zstd$(EXE) zstdmt$(EXE)
236244
ifeq ($(USE_LLVM_SHLIB),1)
237245
JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM $(LLVM_SHARED_LIB_NAME)
238246
endif
247+
JL_PRIVATE_TOOLS += lld$(EXE) dsymutil$(EXE)
239248
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind
240249

241250
ifeq ($(USE_SYSTEM_LIBM),0)
@@ -314,45 +323,41 @@ install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index
314323

315324
$(INSTALL_M) $(JULIA_EXECUTABLE_$(JULIA_BUILD_MODE)) $(DESTDIR)$(bindir)/
316325
ifeq ($(OS),WINNT)
317-
-$(INSTALL_M) $(wildcard $(build_bindir)/*.dll) $(DESTDIR)$(bindir)/
326+
$(INSTALL_M) $(wildcard $(build_bindir)/*.dll) $(DESTDIR)$(bindir)/
318327
ifeq ($(JULIA_BUILD_MODE),release)
319-
-$(INSTALL_M) $(build_libdir)/libjulia.dll.a $(DESTDIR)$(libdir)/
320-
-$(INSTALL_M) $(build_libdir)/libjulia-internal.dll.a $(DESTDIR)$(libdir)/
328+
$(INSTALL_M) $(build_libdir)/libjulia.dll.a $(DESTDIR)$(libdir)/
329+
$(INSTALL_M) $(build_libdir)/libjulia-internal.dll.a $(DESTDIR)$(libdir)/
321330
else ifeq ($(JULIA_BUILD_MODE),debug)
322-
-$(INSTALL_M) $(build_libdir)/libjulia-debug.dll.a $(DESTDIR)$(libdir)/
323-
-$(INSTALL_M) $(build_libdir)/libjulia-internal-debug.dll.a $(DESTDIR)$(libdir)/
331+
$(INSTALL_M) $(build_libdir)/libjulia-debug.dll.a $(DESTDIR)$(libdir)/
332+
$(INSTALL_M) $(build_libdir)/libjulia-internal-debug.dll.a $(DESTDIR)$(libdir)/
324333
endif
325-
-$(INSTALL_M) $(wildcard $(build_private_libdir)/*.a) $(DESTDIR)$(private_libdir)/
326-
-rm -f $(DESTDIR)$(private_libdir)/sys-o.a
334+
$(INSTALL_M) $(filter-out %-bc.a %-o.a,$(wildcard $(build_private_libdir)/lib*.a)) $(DESTDIR)$(private_libdir)/
327335

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

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

351356
# Copy over shared library file for libjulia.*
352357
for suffix in $(JL_TARGETS) ; do \
353358
for lib in $(build_libdir)/lib$${suffix}.*$(SHLIB_EXT)*; do \
354359
if [ "$${lib##*.}" != "dSYM" ]; then \
355-
$(INSTALL_M) $$lib $(DESTDIR)$(libdir) ; \
360+
$(INSTALL_M) $$lib $(DESTDIR)$(libdir) || exit 1; \
356361
fi \
357362
done \
358363
done
@@ -372,26 +377,24 @@ endif
372377
for suffix in $(JL_PRIVATE_LIBS-0) ; do \
373378
for lib in $(build_libdir)/$${suffix}.*$(SHLIB_EXT)*; do \
374379
if [ "$${lib##*.}" != "dSYM" ]; then \
375-
$(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \
380+
$(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) || exit 1; \
376381
fi \
377382
done \
378383
done
379384
for suffix in $(JL_PRIVATE_LIBS-1) ; do \
380385
for lib in $(build_private_libdir)/$${suffix}.$(SHLIB_EXT)*; do \
381386
if [ "$${lib##*.}" != "dSYM" ]; then \
382-
$(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \
387+
$(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) || exit 1; \
383388
fi \
384389
done \
385390
done
386391
endif
387-
# Install `7z` into private_libexecdir
388-
$(INSTALL_M) $(build_bindir)/7z$(EXE) $(DESTDIR)$(private_libexecdir)/
389-
390-
# Install `lld` into private_libexecdir
391-
$(INSTALL_M) $(build_depsbindir)/lld$(EXE) $(DESTDIR)$(private_libexecdir)/
392-
393-
# Install `dsymutil` into private_libexecdir/
394-
$(INSTALL_M) $(build_depsbindir)/dsymutil$(EXE) $(DESTDIR)$(private_libexecdir)/
392+
for exe in $(JL_PRIVATE_EXES) ; do \
393+
$(INSTALL_M) $(build_private_libexecdir)/$$exe $(DESTDIR)$(private_libexecdir) || exit 1; \
394+
done
395+
for exe in $(JL_PRIVATE_TOOLS) ; do \
396+
$(INSTALL_M) $(build_depsbindir)/$$exe $(DESTDIR)$(private_libexecdir) || exit 1; \
397+
done
395398

396399
# Copy public headers
397400
cp -R -L $(build_includedir)/julia/* $(DESTDIR)$(includedir)/julia
@@ -443,13 +446,13 @@ ifneq ($(private_libdir_rel),$(build_private_libdir_rel))
443446
ifeq ($(OS), Darwin)
444447
ifneq ($(DARWIN_FRAMEWORK),1)
445448
for j in $(JL_TARGETS) ; do \
446-
install_name_tool -rpath @executable_path/$(build_private_libdir_rel) @executable_path/$(private_libdir_rel) $(DESTDIR)$(bindir)/$$j; \
447-
install_name_tool -add_rpath @executable_path/$(build_libdir_rel) @executable_path/$(libdir_rel) $(DESTDIR)$(bindir)/$$j; \
449+
install_name_tool -rpath @executable_path/$(build_private_libdir_rel) @executable_path/$(private_libdir_rel) $(DESTDIR)$(bindir)/$$j || exit 1; \
450+
install_name_tool -rpath @executable_path/$(build_libdir_rel) @executable_path/$(libdir_rel) $(DESTDIR)$(bindir)/$$j || exit 1; \
448451
done
449452
endif
450453
else ifneq (,$(findstring $(OS),Linux FreeBSD))
451454
for j in $(JL_TARGETS) ; do \
452-
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \
455+
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j || exit 1; \
453456
done
454457
endif
455458

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

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

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)