From a8d1d366f6085672d73800261afa24b85e66aa16 Mon Sep 17 00:00:00 2001 From: woclass Date: Tue, 28 Jun 2022 22:36:53 +0800 Subject: [PATCH] [deps] split `Versions.make` into standalone `*.version` file (#45720) * deps: include `$(LibName).version` * deps: rm `Versions.make` * repo: update `julia.spdx.json` * deps: split `unwind.version`, add new `llvmunwind.version` * deps: split `llvm.version` into `clang.version` + `llvm-tools.version` * stdlib: Add new makefile `all_jlls.version` to include all `_jll` names * deps/LibUnwind_jll: fix version mismatch (`Project.toml` and `checksum`), xref: #42782 --- base/Makefile | 1 - cli/Makefile | 1 - deps/Makefile | 1 - deps/Versions.make | 120 --------------------------------- deps/blastrampoline.version | 5 ++ deps/clang.version | 4 ++ deps/csl.version | 2 + deps/curl.mk | 1 + deps/curl.version | 5 ++ deps/dsfmt.mk | 1 + deps/dsfmt.version | 5 ++ deps/gmp.mk | 1 + deps/gmp.version | 5 ++ deps/libgit2.version | 10 +++ deps/libssh2.version | 5 ++ deps/libsuitesparse.mk | 1 + deps/libsuitesparse.version | 5 ++ deps/libuv.version | 5 ++ deps/lld.version | 3 + deps/llvm-tools.version | 5 ++ deps/llvm.mk | 1 + deps/llvm.version | 6 ++ deps/llvmunwind.version | 5 ++ deps/mbedtls.mk | 1 + deps/mbedtls.version | 5 ++ deps/mpfr.mk | 1 + deps/mpfr.version | 9 +++ deps/nghttp2.mk | 1 + deps/nghttp2.version | 5 ++ deps/objconv.mk | 1 + deps/objconv.version | 7 ++ deps/openblas.version | 8 +++ deps/openlibm.version | 5 ++ deps/p7zip.mk | 1 + deps/p7zip.version | 5 ++ deps/patchelf.mk | 1 + deps/patchelf.version | 3 + deps/pcre.mk | 1 + deps/pcre.version | 5 ++ deps/tools/bb-install.mk | 1 + deps/unwind.mk | 2 + deps/unwind.version | 6 ++ deps/zlib.version | 5 ++ doc/src/devdocs/build/build.md | 2 +- doc/src/devdocs/llvm.md | 2 +- julia.spdx.json | 22 +++--- src/Makefile | 1 - stdlib/Makefile | 4 +- stdlib/all_jlls.version | 31 +++++++++ 49 files changed, 194 insertions(+), 139 deletions(-) delete mode 100644 deps/Versions.make create mode 100644 deps/clang.version create mode 100644 deps/csl.version create mode 100644 deps/curl.version create mode 100644 deps/dsfmt.version create mode 100644 deps/gmp.version create mode 100644 deps/libsuitesparse.version create mode 100644 deps/lld.version create mode 100644 deps/llvm-tools.version create mode 100644 deps/llvmunwind.version create mode 100644 deps/mbedtls.version create mode 100644 deps/mpfr.version create mode 100644 deps/nghttp2.version create mode 100644 deps/objconv.version create mode 100644 deps/p7zip.version create mode 100644 deps/patchelf.version create mode 100644 deps/pcre.version create mode 100644 deps/unwind.version create mode 100644 stdlib/all_jlls.version diff --git a/base/Makefile b/base/Makefile index 72b3ed145605e..1c1901e9499fb 100644 --- a/base/Makefile +++ b/base/Makefile @@ -1,7 +1,6 @@ SRCDIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))) BUILDDIR := . JULIAHOME := $(abspath $(SRCDIR)/..) -include $(JULIAHOME)/deps/Versions.make include $(JULIAHOME)/Make.inc TAGGED_RELEASE_BANNER := "" diff --git a/cli/Makefile b/cli/Makefile index 11855ee6244dc..e5298a8da7619 100644 --- a/cli/Makefile +++ b/cli/Makefile @@ -1,7 +1,6 @@ SRCDIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))) JULIAHOME := $(abspath $(SRCDIR)/..) BUILDDIR ?= . -include $(JULIAHOME)/deps/Versions.make include $(JULIAHOME)/Make.inc include $(JULIAHOME)/deps/llvm-ver.make diff --git a/deps/Makefile b/deps/Makefile index ac0dbe7afcb1a..6c0bc6de86c54 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -8,7 +8,6 @@ BUILDDIR := scratch else BUILDDIR := . endif -include $(SRCDIR)/Versions.make include $(JULIAHOME)/Make.inc include $(SRCDIR)/tools/common.mk include $(SRCDIR)/tools/git-external.mk diff --git a/deps/Versions.make b/deps/Versions.make deleted file mode 100644 index 07dfc88f288f0..0000000000000 --- a/deps/Versions.make +++ /dev/null @@ -1,120 +0,0 @@ -## Dependencies and where to find them, listed in alphabetical order - -# To define a new dependency, you need to know the following pieces of information: -# -# * The Makefile variable stem; for LibCURL this is just "CURL". -# * The JLL name; for GMP this is "GMP", while for LLVM it could be "LLVM_full" or "LLVM_full_assert" -# * The upstream source version; for dSFMT this is currently "2.2.3" -# -# Everything else will be auto-generated. In particular, the version listed here -# represents the upstream source version; the JLL binary version that gets downloaded is -# controlled by the `Project.toml` files in `stdlib/XXX_jll/`. - -# Compiler Support Libraries -CSL_JLL_NAME := CompilerSupportLibraries - -# Clang (paired with LLVM, only here as a JLL download) -CLANG_JLL_NAME := Clang -CLANG_JLL_VER := 14.0.5+0 - -# DSFMT -DSFMT_VER := 2.2.4 -DSFMT_JLL_NAME := dSFMT - -# GMP -GMP_VER := 6.2.1 -GMP_JLL_NAME := GMP - -# LibCURL -CURL_VER := 7.83.1 -CURL_JLL_NAME := LibCURL - -# LAPACK, source-only -LAPACK_VER := 3.9.0 - -# LibGit2 -LIBGIT2_JLL_NAME := LibGit2 - -# LibSSH2 -LIBSSH2_VER := 1.10.2 -LIBSSH2_JLL_NAME := LibSSH2 - -# LibUV -LIBUV_VER := 2 -LIBUV_JLL_NAME := LibUV - -# LLVM -LLVM_VER := 14.0.2 -LLVM_ASSERT_JLL_VER := 14.0.5+0 -LLVM_JLL_NAME := libLLVM - -# LLVM_tools (downloads LLVM_jll to get things like `lit` and `opt`) -LLVM_TOOLS_JLL_NAME := LLVM -LLVM_TOOLS_JLL_VER := 14.0.5+0 -LLVM_TOOLS_ASSERT_JLL_VER := 14.0.5+0 - -# LLD -LLD_JLL_NAME := LLD -LLD_JLL_VER := 14.0.5+0 - -# LLVM libunwind -LLVMUNWIND_VER := 12.0.1 -LLVMUNWIND_JLL_NAME := LLVMLibUnwind - -# MbedTLS -MBEDTLS_VER := 2.28.0 -MBEDTLS_JLL_NAME := MbedTLS - -# MPFR -MPFR_VER := 4.1.0 -MPFR_JLL_NAME := MPFR - -# nghttp2 -NGHTTP2_VER := 1.47.0 -NGHTTP2_JLL_NAME := nghttp2 - -# Objconv (we don't ship this, so no need for a fake JLL; therefore we specify the JLL_VER here) -OBJCONV_VER := 2.49.1 -OBJCONV_JLL_NAME := Objconv -OBJCONV_JLL_VER := 2.49.1+0 - -# blastrampoline -BLASTRAMPOLINE_VER := 5.1.1 -BLASTRAMPOLINE_JLL_NAME := libblastrampoline - -# OpenBLAS -OPENBLAS_VER := 0.3.17 -OPENBLAS_JLL_NAME := OpenBLAS - -# OpenLibm -OPENLIBM_VER := 0.8.1 -OPENLIBM_JLL_NAME := OpenLibm - -# Patchelf (we don't ship this or even use a JLL, we just always build it) -PATCHELF_VER := 0.13 - -# p7zip -P7ZIP_VER := 17.04 -P7ZIP_JLL_NAME := p7zip - -# PCRE -PCRE_VER := 10.40 -PCRE_JLL_NAME := PCRE2 - -# SuiteSparse -LIBSUITESPARSE_VER := 5.10.1 -LIBSUITESPARSE_JLL_NAME := SuiteSparse - -# unwind -UNWIND_VER := 1.5.0 -UNWIND_VER_TAG := 1.5 -UNWIND_JLL_NAME := LibUnwind - -# zlib -ZLIB_VER := 1.2.12 -ZLIB_JLL_NAME := Zlib - -# Specify the version of the Mozilla CA Certificate Store to obtain. -# The versions of cacert.pem are identified by the date (YYYY-MM-DD) of their changes. -# See https://curl.haxx.se/docs/caextract.html for more details. -MOZILLA_CACERT_VERSION := 2022-02-01 diff --git a/deps/blastrampoline.version b/deps/blastrampoline.version index b034fe1402f36..7a153431bafbe 100644 --- a/deps/blastrampoline.version +++ b/deps/blastrampoline.version @@ -1,2 +1,7 @@ +## jll artifact +BLASTRAMPOLINE_JLL_NAME := libblastrampoline + +## source build +BLASTRAMPOLINE_VER := 5.1.1 BLASTRAMPOLINE_BRANCH=v5.1.1 BLASTRAMPOLINE_SHA1=bac2f810d523003fbb431ecc6e9ea81c8b86e2d6 diff --git a/deps/clang.version b/deps/clang.version new file mode 100644 index 0000000000000..c95cdeaf64787 --- /dev/null +++ b/deps/clang.version @@ -0,0 +1,4 @@ +## jll artifact +# Clang (paired with LLVM, only here as a JLL download) +CLANG_JLL_NAME := Clang +CLANG_JLL_VER := 14.0.5+0 diff --git a/deps/csl.version b/deps/csl.version new file mode 100644 index 0000000000000..51af26c566c92 --- /dev/null +++ b/deps/csl.version @@ -0,0 +1,2 @@ +## jll artifact +CSL_JLL_NAME := CompilerSupportLibraries diff --git a/deps/curl.mk b/deps/curl.mk index a7896c99b4669..3f90495c7c042 100644 --- a/deps/curl.mk +++ b/deps/curl.mk @@ -1,4 +1,5 @@ ## CURL ## +include $(SRCDIR)/curl.version ifeq ($(USE_SYSTEM_LIBSSH2), 0) $(BUILDDIR)/curl-$(CURL_VER)/build-configured: | $(build_prefix)/manifest/libssh2 diff --git a/deps/curl.version b/deps/curl.version new file mode 100644 index 0000000000000..65e60e16758f7 --- /dev/null +++ b/deps/curl.version @@ -0,0 +1,5 @@ +## jll artifact +CURL_JLL_NAME := LibCURL + +## source build +CURL_VER := 7.83.1 diff --git a/deps/dsfmt.mk b/deps/dsfmt.mk index 2300d0d5929f4..e5922187b0f0f 100644 --- a/deps/dsfmt.mk +++ b/deps/dsfmt.mk @@ -1,4 +1,5 @@ ## DSFMT ## +include $(SRCDIR)/dsfmt.version ifneq ($(USE_BINARYBUILDER_DSFMT),1) diff --git a/deps/dsfmt.version b/deps/dsfmt.version new file mode 100644 index 0000000000000..bbb63417f46cd --- /dev/null +++ b/deps/dsfmt.version @@ -0,0 +1,5 @@ +## jll artifact +DSFMT_JLL_NAME := dSFMT + +## source build +DSFMT_VER := 2.2.4 diff --git a/deps/gmp.mk b/deps/gmp.mk index 66ad92ac910ef..ccf76e12eef84 100644 --- a/deps/gmp.mk +++ b/deps/gmp.mk @@ -1,4 +1,5 @@ ## GMP ## +include $(SRCDIR)/gmp.version ifeq ($(SANITIZE),1) GMP_CONFIGURE_OPTS += --disable-assembly diff --git a/deps/gmp.version b/deps/gmp.version new file mode 100644 index 0000000000000..f77cac5906cea --- /dev/null +++ b/deps/gmp.version @@ -0,0 +1,5 @@ +## jll artifact +GMP_JLL_NAME := GMP + +## source build +GMP_VER := 6.2.1 diff --git a/deps/libgit2.version b/deps/libgit2.version index 4efb6ada585df..0c3390b350bd3 100644 --- a/deps/libgit2.version +++ b/deps/libgit2.version @@ -1,2 +1,12 @@ +## jll artifact +LIBGIT2_JLL_NAME := LibGit2 + +## source build LIBGIT2_BRANCH=v1.4.3 LIBGIT2_SHA1=465bbf88ea939a965fbcbade72870c61f815e457 + +## Other deps +# Specify the version of the Mozilla CA Certificate Store to obtain. +# The versions of cacert.pem are identified by the date (YYYY-MM-DD) of their changes. +# See https://curl.haxx.se/docs/caextract.html for more details. +MOZILLA_CACERT_VERSION := 2022-02-01 diff --git a/deps/libssh2.version b/deps/libssh2.version index 1c4d5412c0c09..3d5b2bb98d7eb 100644 --- a/deps/libssh2.version +++ b/deps/libssh2.version @@ -1,2 +1,7 @@ +## jll artifact +LIBSSH2_JLL_NAME := LibSSH2 + +## source build +LIBSSH2_VER := 1.10.2 LIBSSH2_BRANCH=libssh2-1.10.0 LIBSSH2_SHA1=635caa90787220ac3773c1d5ba11f1236c22eae8 diff --git a/deps/libsuitesparse.mk b/deps/libsuitesparse.mk index a1c0b067e6634..2a6143da797d4 100644 --- a/deps/libsuitesparse.mk +++ b/deps/libsuitesparse.mk @@ -1,4 +1,5 @@ ## LIBSUITESPARSE ## +include $(SRCDIR)/libsuitesparse.version ifeq ($(USE_BLAS64), 1) UMFPACK_CONFIG := -DLONGBLAS='long long' diff --git a/deps/libsuitesparse.version b/deps/libsuitesparse.version new file mode 100644 index 0000000000000..2237db6f2d116 --- /dev/null +++ b/deps/libsuitesparse.version @@ -0,0 +1,5 @@ +## jll artifact +LIBSUITESPARSE_JLL_NAME := SuiteSparse + +## source build +LIBSUITESPARSE_VER := 5.10.1 diff --git a/deps/libuv.version b/deps/libuv.version index 0c6bdaaf78b58..b42428669ca87 100644 --- a/deps/libuv.version +++ b/deps/libuv.version @@ -1,2 +1,7 @@ +## jll artifact +LIBUV_JLL_NAME := LibUV + +## source build +LIBUV_VER := 2 LIBUV_BRANCH=julia-uv2-1.44.1 LIBUV_SHA1=1b2d16477fe1142adea952168d828a066e03ee4c diff --git a/deps/lld.version b/deps/lld.version new file mode 100644 index 0000000000000..a365bdbbc289e --- /dev/null +++ b/deps/lld.version @@ -0,0 +1,3 @@ +## jll artifact +LLD_JLL_NAME := LLD +LLD_JLL_VER := 14.0.5+0 diff --git a/deps/llvm-tools.version b/deps/llvm-tools.version new file mode 100644 index 0000000000000..5bc9fc87d84ed --- /dev/null +++ b/deps/llvm-tools.version @@ -0,0 +1,5 @@ +## jll artifact +# LLVM_tools (downloads LLVM_jll to get things like `lit` and `opt`) +LLVM_TOOLS_JLL_NAME := LLVM +LLVM_TOOLS_JLL_VER := 14.0.5+0 +LLVM_TOOLS_ASSERT_JLL_VER := 14.0.5+0 diff --git a/deps/llvm.mk b/deps/llvm.mk index 90605deefd115..62c47d581393e 100644 --- a/deps/llvm.mk +++ b/deps/llvm.mk @@ -1,4 +1,5 @@ ## LLVM ## +include $(SRCDIR)/llvm.version include $(SRCDIR)/llvm-ver.make include $(SRCDIR)/llvm-options.mk diff --git a/deps/llvm.version b/deps/llvm.version index 232d44a614c15..e385008826e88 100644 --- a/deps/llvm.version +++ b/deps/llvm.version @@ -1,2 +1,8 @@ +## jll artifact +LLVM_JLL_NAME := libLLVM +LLVM_ASSERT_JLL_VER := 14.0.5+0 + +## source build +LLVM_VER := 14.0.2 LLVM_BRANCH=julia-14.0.5-0 LLVM_SHA1=julia-14.0.5-0 diff --git a/deps/llvmunwind.version b/deps/llvmunwind.version new file mode 100644 index 0000000000000..7d13af9a158f7 --- /dev/null +++ b/deps/llvmunwind.version @@ -0,0 +1,5 @@ +## jll artifact +LLVMUNWIND_JLL_NAME := LLVMLibUnwind + +## source build +LLVMUNWIND_VER := 12.0.1 diff --git a/deps/mbedtls.mk b/deps/mbedtls.mk index 12788e1c03a1c..0f654dfd04c58 100644 --- a/deps/mbedtls.mk +++ b/deps/mbedtls.mk @@ -1,4 +1,5 @@ ## mbedtls +include $(SRCDIR)/mbedtls.version ifneq ($(USE_BINARYBUILDER_MBEDTLS), 1) MBEDTLS_SRC = mbedtls-$(MBEDTLS_VER) diff --git a/deps/mbedtls.version b/deps/mbedtls.version new file mode 100644 index 0000000000000..eaf3bca011e1f --- /dev/null +++ b/deps/mbedtls.version @@ -0,0 +1,5 @@ +## jll artifact +MBEDTLS_JLL_NAME := MbedTLS + +## source build +MBEDTLS_VER := 2.28.0 diff --git a/deps/mpfr.mk b/deps/mpfr.mk index 4598a319df6d5..1bb3ff32c302f 100644 --- a/deps/mpfr.mk +++ b/deps/mpfr.mk @@ -1,4 +1,5 @@ ## MPFR ## +include $(SRCDIR)/mpfr.version ifeq ($(USE_SYSTEM_GMP), 0) $(BUILDDIR)/mpfr-$(MPFR_VER)/build-configured: | $(build_prefix)/manifest/gmp diff --git a/deps/mpfr.version b/deps/mpfr.version new file mode 100644 index 0000000000000..63fed0f8504f4 --- /dev/null +++ b/deps/mpfr.version @@ -0,0 +1,9 @@ +## jll artifact +MPFR_JLL_NAME := MPFR + +## source build +MPFR_VER := 4.1.0 + +# Note: jll use a different version `4.1.1+1` ("stdlib/MPFR_jll/Project.toml") +# See notes in build_tarballs.jl +# https://github.com/JuliaPackaging/Yggdrasil/blob/3c877e18dd9bb9b2e79415e00f661a7e37b2aea9/M/MPFR/build_tarballs.jl#L40-L42 diff --git a/deps/nghttp2.mk b/deps/nghttp2.mk index 54fd6a241eaba..5c12a0155c017 100644 --- a/deps/nghttp2.mk +++ b/deps/nghttp2.mk @@ -1,4 +1,5 @@ ## nghttp2 +include $(SRCDIR)/nghttp2.version ifneq ($(USE_BINARYBUILDER_NGHTTP2), 1) diff --git a/deps/nghttp2.version b/deps/nghttp2.version new file mode 100644 index 0000000000000..da553fa6ee7fc --- /dev/null +++ b/deps/nghttp2.version @@ -0,0 +1,5 @@ +## jll artifact +NGHTTP2_JLL_NAME := nghttp2 + +## source build +NGHTTP2_VER := 1.47.0 diff --git a/deps/objconv.mk b/deps/objconv.mk index 8423e476d37c6..70c7289b07bfa 100644 --- a/deps/objconv.mk +++ b/deps/objconv.mk @@ -1,4 +1,5 @@ ## objconv ## +include $(SRCDIR)/objconv.version ifneq ($(USE_BINARYBUILDER_OBJCONV),1) diff --git a/deps/objconv.version b/deps/objconv.version new file mode 100644 index 0000000000000..322c8fa828a17 --- /dev/null +++ b/deps/objconv.version @@ -0,0 +1,7 @@ +## jll artifact +# Objconv (we don't ship this, so no need for a fake JLL; therefore we specify the JLL_VER here instead of in a `stdlib/Objconv_jll/Project.toml` file) +OBJCONV_JLL_NAME := Objconv +OBJCONV_JLL_VER := 2.49.1+0 + +## source build +OBJCONV_VER := 2.49.1 diff --git a/deps/openblas.version b/deps/openblas.version index ceb01600b0ea7..843bb449c92c7 100644 --- a/deps/openblas.version +++ b/deps/openblas.version @@ -1,2 +1,10 @@ +## jll artifact +OPENBLAS_JLL_NAME := OpenBLAS + +## source build +OPENBLAS_VER := 0.3.20 OPENBLAS_BRANCH=v0.3.20 OPENBLAS_SHA1=0b678b19dc03f2a999d6e038814c4c50b9640a4e + +# LAPACK, source-only +LAPACK_VER := 3.9.0 diff --git a/deps/openlibm.version b/deps/openlibm.version index 9edba0c1f257b..f35b291260380 100644 --- a/deps/openlibm.version +++ b/deps/openlibm.version @@ -1,2 +1,7 @@ +## jll artifact +OPENLIBM_JLL_NAME := OpenLibm + +## source build +OPENLIBM_VER := 0.8.1 OPENLIBM_BRANCH=v0.8.1 OPENLIBM_SHA1=ae2d91698508701c83cab83714d42a1146dccf85 diff --git a/deps/p7zip.mk b/deps/p7zip.mk index d1e9e653e123b..5fea4b63366c2 100644 --- a/deps/p7zip.mk +++ b/deps/p7zip.mk @@ -1,4 +1,5 @@ ## p7zip ## +include $(SRCDIR)/p7zip.version ifneq ($(USE_BINARYBUILDER_P7ZIP),1) diff --git a/deps/p7zip.version b/deps/p7zip.version new file mode 100644 index 0000000000000..d4a13155d9162 --- /dev/null +++ b/deps/p7zip.version @@ -0,0 +1,5 @@ +## jll artifact +P7ZIP_JLL_NAME := p7zip + +## source build +P7ZIP_VER := 17.04 diff --git a/deps/patchelf.mk b/deps/patchelf.mk index 4d1a281ed2331..9b4947f183117 100644 --- a/deps/patchelf.mk +++ b/deps/patchelf.mk @@ -1,4 +1,5 @@ ## patchelf ## +include $(SRCDIR)/patchelf.version $(SRCCACHE)/patchelf-$(PATCHELF_VER).tar.bz2: | $(SRCCACHE) $(JLDOWNLOAD) $@ https://github.com/NixOS/patchelf/releases/download/$(PATCHELF_VER)/patchelf-$(PATCHELF_VER).tar.bz2 diff --git a/deps/patchelf.version b/deps/patchelf.version new file mode 100644 index 0000000000000..bbeaa87d25136 --- /dev/null +++ b/deps/patchelf.version @@ -0,0 +1,3 @@ +## source build +# Patchelf (we don't ship this or even use a JLL, we just always build it) +PATCHELF_VER := 0.13 diff --git a/deps/pcre.mk b/deps/pcre.mk index eedb19faf5a57..5ff91b6bc44ac 100644 --- a/deps/pcre.mk +++ b/deps/pcre.mk @@ -1,4 +1,5 @@ ## PCRE ## +include $(SRCDIR)/pcre.version ifneq ($(USE_BINARYBUILDER_PCRE),1) # Force optimization for PCRE flags (Issue #11668) diff --git a/deps/pcre.version b/deps/pcre.version new file mode 100644 index 0000000000000..522c6a5605514 --- /dev/null +++ b/deps/pcre.version @@ -0,0 +1,5 @@ +## jll artifact +PCRE_JLL_NAME := PCRE2 + +## source build +PCRE_VER := 10.40 diff --git a/deps/tools/bb-install.mk b/deps/tools/bb-install.mk index 4a56e990e5e0d..ee7f833a8ac2b 100644 --- a/deps/tools/bb-install.mk +++ b/deps/tools/bb-install.mk @@ -5,6 +5,7 @@ # 4 cxx11) # signifies a cxx11 ABI dependency define bb-install +include $$(SRCDIR)/$1.version TRIPLET_VAR := BB_TRIPLET ifeq ($(3),true) TRIPLET_VAR := $$(TRIPLET_VAR)_LIBGFORTRAN diff --git a/deps/unwind.mk b/deps/unwind.mk index da303891c5d3c..14a711b795f01 100644 --- a/deps/unwind.mk +++ b/deps/unwind.mk @@ -1,4 +1,6 @@ ## UNWIND ## +include $(SRCDIR)/unwind.version +include $(SRCDIR)/llvmunwind.version ifneq ($(USE_BINARYBUILDER_LIBUNWIND),1) LIBUNWIND_CFLAGS := -U_FORTIFY_SOURCE $(fPIC) -lz diff --git a/deps/unwind.version b/deps/unwind.version new file mode 100644 index 0000000000000..e17b2e91c2e51 --- /dev/null +++ b/deps/unwind.version @@ -0,0 +1,6 @@ +## jll artifact +UNWIND_JLL_NAME := LibUnwind + +## source build +UNWIND_VER_TAG := 1.5 +UNWIND_VER := 1.5.0 diff --git a/deps/zlib.version b/deps/zlib.version index 0b16a7f662dd1..c6a295882a7ce 100644 --- a/deps/zlib.version +++ b/deps/zlib.version @@ -1,2 +1,7 @@ +## jll artifact +ZLIB_JLL_NAME := Zlib + +## source build +ZLIB_VER := 1.2.12 ZLIB_BRANCH=v1.2.12 ZLIB_SHA1=21767c654d31d2dccdde4330529775c6c5fd5389 diff --git a/doc/src/devdocs/build/build.md b/doc/src/devdocs/build/build.md index 091a15d892513..4d410e46c4be9 100644 --- a/doc/src/devdocs/build/build.md +++ b/doc/src/devdocs/build/build.md @@ -167,7 +167,7 @@ Julia uses the following external libraries, which are automatically downloaded (or in a few cases, included in the Julia source repository) and then compiled from source the first time you run `make`. The specific version numbers of these libraries that Julia -uses are listed in [`deps/Versions.make`](https://github.com/JuliaLang/julia/blob/master/deps/Versions.make): +uses are listed in [`deps/$(LibName).version`](https://github.com/JuliaLang/julia/blob/master/deps/): - **[LLVM]** (9.0 + [patches](https://github.com/JuliaLang/julia/tree/master/deps/patches)) — compiler infrastructure (see [note below](#llvm)). - **[FemtoLisp]** — packaged with Julia source, and used to implement the compiler front-end. diff --git a/doc/src/devdocs/llvm.md b/doc/src/devdocs/llvm.md index b9890b5d7fe3e..9a833ca8af516 100644 --- a/doc/src/devdocs/llvm.md +++ b/doc/src/devdocs/llvm.md @@ -38,7 +38,7 @@ The `-O` option enables LLVM's [Basic Alias Analysis](https://llvm.org/docs/Alia ## Building Julia with a different version of LLVM -The default version of LLVM is specified in `deps/Versions.make`. You can override it by creating +The default version of LLVM is specified in `deps/llvm.version`. You can override it by creating a file called `Make.user` in the top-level directory and adding a line to it such as: ``` diff --git a/julia.spdx.json b/julia.spdx.json index d90a4e40e3273..2e7e368a49c0d 100644 --- a/julia.spdx.json +++ b/julia.spdx.json @@ -164,7 +164,7 @@ "downloadLocation": "git+https://github.com/MersenneTwister-Lab/dSFMT.git", "filesAnalyzed": false, "homepage": "https://github.com/MersenneTwister-Lab/dSFMT", - "sourceInfo": "The git hash of the version in use can be found in the file deps/Versions.make", + "sourceInfo": "The git hash of the version in use can be found in the file deps/dsfmt.version", "licenseConcluded": "BSD-3-Clause", "licenseDeclared": "BSD-3-Clause", "copyrightText": "Copyright (c) 2007, 2008, 2009 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. Copyright (c) 2011, 2002 Mutsuo Saito, Makoto Matsumoto, Hiroshima University and The University of Tokyo.", @@ -188,7 +188,7 @@ "downloadLocation": "https://gmplib.org/download/gmp/", "filesAnalyzed": false, "homepage": "https://gmplib.org/", - "sourceInfo": "The version in use can be found in the file deps/Versions.make", + "sourceInfo": "The version in use can be found in the file deps/gmp.version", "licenseConcluded": "LGPL-3.0-or-later", "licenseDeclared": "LGPL-3.0-or-later OR GPL-2.0-or-later", "copyrightText": "Copyright 1991, 1996, 1999, 2000, 2007 Free Software Foundation, Inc.", @@ -212,7 +212,7 @@ "downloadLocation": "git+https://github.com/curl/curl.git", "filesAnalyzed": false, "homepage": "https://curl.se", - "sourceInfo": "The version in use can be found in the file deps/Versions.make", + "sourceInfo": "The version in use can be found in the file deps/curl.version", "licenseConcluded": "curl", "licenseDeclared": "curl", "copyrightText": "Copyright (c) 1996 - 2021, Daniel Stenberg, daniel@haxx.se, and many contributors, see the THANKS file.", @@ -236,7 +236,7 @@ "downloadLocation": "git+https://github.com/ARMmbed/mbedtls.git", "filesAnalyzed": false, "homepage": "https://tls.mbed.org", - "sourceInfo": "The version in use can be found in the file deps/Versions.make", + "sourceInfo": "The version in use can be found in the file deps/mbedtls.version", "licenseConcluded": "Apache-2.0", "licenseDeclared": "Apache-2.0", "copyrightText": "NOASSERTION", @@ -248,7 +248,7 @@ "downloadLocation": "https://www.mpfr.org/", "filesAnalyzed": false, "homepage": "https://www.mpfr.org/", - "sourceInfo": "The version in use can be found in the file deps/Versions.make", + "sourceInfo": "The version in use can be found in the file deps/mpfr.version", "licenseConcluded": "LGPL-3.0-or-later", "licenseDeclared": "LGPL-3.0-or-later", "copyrightText": "Copyright 2000-2020 Free Software Foundation, Inc.", @@ -272,7 +272,7 @@ "downloadLocation": "https://www.netlib.org/lapack/", "filesAnalyzed": false, "homepage": "https://netlib.org/", - "sourceInfo": "The version in use can be found in the file deps/Versions.make", + "sourceInfo": "The version in use can be found in the file deps/openblas.version", "licenseConcluded": "BSD-3-Clause", "licenseDeclared": "BSD-3-Clause", "copyrightText": "Copyright (c) 1992-2013 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved.\nCopyright (c) 2000-2013 The University of California Berkeley. All rights reserved.\nCopyright (c) 2006-2013 The University of Colorado Denver. All rights reserved.", @@ -284,7 +284,7 @@ "downloadLocation": "git+https://github.com/PhilipHazel/pcre2.git", "filesAnalyzed": false, "homepage": "https://www.pcre.org", - "sourceInfo": "The version in use can be found in the file deps/Versions.make", + "sourceInfo": "The version in use can be found in the file deps/pcre.version", "licenseConcluded": "BSD-3-Clause", "licenseDeclared": "BSD-3-Clause", "copyrightText": "Copyright (c) 1997-2021 University of Cambridge All rights reserved.\nCopyright(c) 2009-2021 Zoltan Herczeg\n", @@ -297,7 +297,7 @@ "downloadLocation": "git+https://github.com/DrTimothyAldenDavis/SuiteSparse.git", "filesAnalyzed": false, "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", - "sourceInfo": "The version in use can be found in the file deps/Versions.make", + "sourceInfo": "The version in use can be found in the file deps/libsuitesparse.version", "licenseConcluded": "GPL-2.0-or-later", "licenseDeclared": "LGPL-2.0-or-later AND GPL-2.0-or-later AND BSD-3 AND Apache-2.0 ", "licenseComments": "SuiteSparse consists of many modules, each of which is licensed separately.", @@ -334,7 +334,7 @@ "downloadLocation": "git+https://github.com/libunwind/libunwind.git", "filesAnalyzed": false, "homepage": "http://www.nongnu.org/libunwind/", - "sourceInfo": "The git hash of the version in use can be found in the file deps/Versions.make", + "sourceInfo": "The git hash of the version in use can be found in the file deps/unwind.version", "licenseConcluded": "MIT", "licenseDeclared": "MIT", "copyrightText": "Copyright (c) 2002 Hewlett-Packard Co.", @@ -388,7 +388,7 @@ "downloadLocation": "https://sourceforge.net/projects/p7zip/files/p7zip", "filesAnalyzed": false, "homepage": "https://www.7-zip.org", - "sourceInfo": "The version in use can be found in the file deps/Versions.make", + "sourceInfo": "The version in use can be found in the file deps/p7zip.version", "licenseConcluded": "LGPL-3.0-or-later", "licenseDeclared": "LGPL-3.0-or-later AND BSD-3", "copyrightText": "Copyright (C) 1999-2021 Igor Pavlov", @@ -412,7 +412,7 @@ "downloadLocation": "git+https://github.com/NixOS/patchelf.git", "filesAnalyzed": false, "homepage": "https://nixos.org/patchelf.html", - "sourceInfo": "The version in use can be found in the file deps/Versions.make", + "sourceInfo": "The version in use can be found in the file deps/patchelf.version", "licenseConcluded": "GPL-3.0-or-later", "licenseDeclared": "GPL-3.0-or-later", "copyrightText": "Copyright (C) 2007 Free Software Foundation, Inc. ", diff --git a/src/Makefile b/src/Makefile index c62cf3dde1ec2..b3165777d4208 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,7 +1,6 @@ SRCDIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))) JULIAHOME := $(abspath $(SRCDIR)/..) BUILDDIR := . -include $(JULIAHOME)/deps/Versions.make include $(JULIAHOME)/Make.inc include $(JULIAHOME)/deps/llvm-ver.make diff --git a/stdlib/Makefile b/stdlib/Makefile index 44c3b97e2fb0f..4f7b04b7416c5 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -6,7 +6,7 @@ SRCCACHE := $(abspath $(SRCDIR)/srccache) BUILDDIR := . include $(JULIAHOME)/Make.inc -include $(JULIAHOME)/deps/Versions.make +include $(JULIAHOME)/stdlib/all_jlls.version include $(JULIAHOME)/deps/tools/common.mk include $(JULIAHOME)/deps/tools/stdlib-external.mk @@ -19,7 +19,7 @@ JLLS = DSFMT GMP CURL LIBGIT2 LLVM LIBSSH2 LIBUV MBEDTLS MPFR NGHTTP2 \ BLASTRAMPOLINE OPENBLAS OPENLIBM P7ZIP PCRE LIBSUITESPARSE ZLIB \ LLVMUNWIND CSL UNWIND -# Initialize this with JLLs that aren't in deps/Versions.make +# Initialize this with JLLs that aren't in "deps/$(LibName).version" JLL_NAMES := MozillaCACerts_jll get-MozillaCACerts_jll: install-MozillaCACerts_jll: diff --git a/stdlib/all_jlls.version b/stdlib/all_jlls.version new file mode 100644 index 0000000000000..5d869a7798a86 --- /dev/null +++ b/stdlib/all_jlls.version @@ -0,0 +1,31 @@ +# -*- mode: makefile -*- +## All `_jll` names and versions + +## TODO: Automatic include of all `*.version` makefile + +include $(JULIAHOME)/deps/blastrampoline.version +include $(JULIAHOME)/deps/clang.version +include $(JULIAHOME)/deps/csl.version +include $(JULIAHOME)/deps/curl.version +include $(JULIAHOME)/deps/dsfmt.version +include $(JULIAHOME)/deps/gmp.version +include $(JULIAHOME)/deps/libgit2.version +include $(JULIAHOME)/deps/libssh2.version +include $(JULIAHOME)/deps/libsuitesparse.version +include $(JULIAHOME)/deps/libuv.version +# include $(JULIAHOME)/deps/libwhich.version # no _jll pkg +include $(JULIAHOME)/deps/llvm.version +include $(JULIAHOME)/deps/llvm-tools.version +include $(JULIAHOME)/deps/llvmunwind.version +include $(JULIAHOME)/deps/mbedtls.version +include $(JULIAHOME)/deps/mpfr.version +include $(JULIAHOME)/deps/nghttp2.version +include $(JULIAHOME)/deps/objconv.version +include $(JULIAHOME)/deps/openblas.version +include $(JULIAHOME)/deps/openlibm.version +include $(JULIAHOME)/deps/p7zip.version +# include $(JULIAHOME)/deps/patchelf.version # no _jll pkg +include $(JULIAHOME)/deps/pcre.version +include $(JULIAHOME)/deps/unwind.version +# include $(JULIAHOME)/deps/utf8proc.version # no _jll pkg +include $(JULIAHOME)/deps/zlib.version