Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
1a7f8fc
allow finding stdlibs that are normal packages in the manifest but ar…
KristofferC Nov 10, 2025
45cbcd4
Remove precompile-time tempfiles from TEMP_CLEANUP (#60106)
deroulers Nov 13, 2025
92bc6f1
Add uninitialized multi-versioning trampoline for autoinit support (#…
topolarity Nov 19, 2025
6b14a99
Better order for stdlibs in the Julia manual navbar (#60155)
fingolfin Nov 21, 2025
6c89d07
[release-1.12] Fix namespace of `IOError` in `random_seed` (#59690)
jishnub Nov 27, 2025
b224ba6
Backport to 1.12: bump Documenter to 1.16.1 (#60217)
fingolfin Nov 27, 2025
949afc6
🤖 [backports-release-1.12] Bump LinearAlgebra stdlib 5567504 → 997c4b…
DilumAluthgeBot Nov 28, 2025
7ea108b
Mmap fix on system with 64k pagesize. (#59695)
green-br Oct 16, 2025
2ddde01
Remove list of stdlibs on the intro page (#60219)
ViralBShah Nov 25, 2025
013c7af
cgutils: fix write barrier of atomic-setonce (#59991)
vtjnash Nov 1, 2025
11014f6
deps: fix rpath of 7z after moving to libexecdir (#60098)
vtjnash Nov 11, 2025
1538877
bump Pkg to latest 1.12
KristofferC Nov 29, 2025
89c2a4e
build: More msys2 fixes (#59028)
Keno Jul 23, 2025
f090da8
doc: NEWS: single method for multiple functions (#59539)
IanButterworth Nov 30, 2025
a4d42c9
Add JuliaLang/JuliaSyntax.jl#525 to NEWS.md, flisp parser, and REPL (…
pthariensflame May 14, 2025
da44f47
Set array size only after allocating the new memory portion (#58848)
MilesCranmer Oct 4, 2025
7c7d8d6
Avoid hardcoding paths in Profile and Sys (#59998)
nalimilan Nov 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Make.inc
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,10 @@ $(foreach D,build_libdir build_private_libdir,$(eval $(call cache_rel_path,$(D),
# Save a special one: reverse_private_libdir_rel: usually just `../`, but good to be general:
reverse_private_libdir_rel_eval = $(call rel_path,$(private_libdir),$(libdir))
reverse_private_libdir_rel = $(call hit_cache,reverse_private_libdir_rel_eval)
reverse_private_libexecdir_rel_eval = $(call rel_path,$(private_libexecdir),$(libdir))
reverse_private_libexecdir_rel = $(call hit_cache,reverse_private_libexecdir_rel_eval)
reverse_build_private_libexecdir_rel_eval = $(call rel_path,$(build_private_libexecdir),$(build_libdir))
reverse_build_private_libexecdir_rel = $(call hit_cache,reverse_build_private_libexecdir_rel_eval)

INSTALL_F := $(JULIAHOME)/contrib/install.sh 644
INSTALL_M := $(JULIAHOME)/contrib/install.sh 755
Expand Down
7 changes: 7 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ New language features
* `Threads.@spawn` now takes a `:samepool` argument to specify the same threadpool as the caller.
`Threads.@spawn :samepool foo()` which is shorthand for `Threads.@spawn Threads.threadpool() foo()` ([#57109]).
* The `@ccall` macro can now take a `gc_safe` argument, that if set to true allows the runtime to run garbage collection concurrently to the `ccall` ([#49933]).
* A single method covering multiple functions is now allowed in more cases. See issue #54620. ([#58131]).
* The character U+1F8B2 🢲 (RIGHTWARDS ARROW WITH LOWER HOOK), newly added by Unicode 16,
is now a valid operator with arrow precedence, accessible as `\hookunderrightarrow` at the REPL.
([JuliaLang/JuliaSyntax.jl#525], [#57143]).

Language changes
----------------
Expand Down Expand Up @@ -289,5 +293,8 @@ Tooling Improvements
[#57081]: https://github.com/JuliaLang/julia/issues/57081
[#57087]: https://github.com/JuliaLang/julia/issues/57087
[#57109]: https://github.com/JuliaLang/julia/issues/57109
[#57143]: https://github.com/JuliaLang/julia/issues/57143
[#57253]: https://github.com/JuliaLang/julia/issues/57253
[#57727]: https://github.com/JuliaLang/julia/issues/57727
[#58131]: https://github.com/JuliaLang/julia/issues/58131
[JuliaLang/JuliaSyntax.jl#525]: https://github.com/JuliaLang/JuliaSyntax.jl/pull/525
1 change: 1 addition & 0 deletions base/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ endif
@printf "%s\n" "const PRIVATE_LIBDIR = "$(call shell_escape,$(call julia_escape,$(call normalize_path,$(private_libdir_rel)))) >> $@
@printf "%s\n" "const PRIVATE_LIBEXECDIR = "$(call shell_escape,$(call julia_escape,$(call normalize_path,$(private_libexecdir_rel)))) >> $@
@printf "%s\n" "const INCLUDEDIR = "$(call shell_escape,$(call julia_escape,$(call normalize_path,$(includedir_rel)))) >> $@
@printf "%s\n" "const SOURCEDIR = "$(call shell_escape,$(call julia_escape,$(call normalize_path,$(shell echo $(call cygpath_w,$(JULIAHOME)))))) >> $@
ifeq ($(DARWIN_FRAMEWORK), 1)
@printf "%s\n" "const DARWIN_FRAMEWORK = true" >> $@
@printf "%s\n" "const DARWIN_FRAMEWORK_NAME = \"$(FRAMEWORK_NAME)\"" >> $@
Expand Down
11 changes: 7 additions & 4 deletions base/array.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1076,10 +1076,10 @@ function _growbeg!(a::Vector, delta::Integer)
len = length(a)
offset = memoryrefoffset(ref)
newlen = len + delta
setfield!(a, :size, (newlen,))
# if offset is far enough advanced to fit data in existing memory without copying
if delta <= offset - 1
setfield!(a, :ref, @inbounds memoryref(ref, 1 - delta))
setfield!(a, :size, (newlen,))
else
@noinline (function()
@_terminates_locally_meta
Expand Down Expand Up @@ -1111,6 +1111,7 @@ function _growbeg!(a::Vector, delta::Integer)
end
setfield!(a, :ref, @inbounds memoryref(newmem, newoffset))
end)()
setfield!(a, :size, (newlen,))
end
return
end
Expand All @@ -1125,7 +1126,6 @@ function _growend!(a::Vector, delta::Integer)
len = length(a)
newlen = len + delta
offset = memoryrefoffset(ref)
setfield!(a, :size, (newlen,))
newmemlen = offset + newlen - 1
if memlen < newmemlen
@noinline (function()
Expand Down Expand Up @@ -1156,6 +1156,7 @@ function _growend!(a::Vector, delta::Integer)
setfield!(a, :ref, newref)
end)()
end
setfield!(a, :size, (newlen,))
return
end

Expand All @@ -1173,7 +1174,6 @@ function _growat!(a::Vector, i::Integer, delta::Integer)
memlen = length(mem)
newlen = len + delta
offset = memoryrefoffset(ref)
setfield!(a, :size, (newlen,))
newmemlen = offset + newlen - 1

# which side would we rather grow into?
Expand All @@ -1183,11 +1183,13 @@ function _growat!(a::Vector, i::Integer, delta::Integer)
newref = @inbounds memoryref(mem, offset - delta)
unsafe_copyto!(newref, ref, i)
setfield!(a, :ref, newref)
setfield!(a, :size, (newlen,))
for j in i:i+delta-1
@inbounds _unsetindex!(a, j)
end
elseif !prefer_start && memlen >= newmemlen
unsafe_copyto!(mem, offset - 1 + delta + i, mem, offset - 1 + i, len - i + 1)
setfield!(a, :size, (newlen,))
for j in i:i+delta-1
@inbounds _unsetindex!(a, j)
end
Expand All @@ -1201,6 +1203,7 @@ function _growat!(a::Vector, i::Integer, delta::Integer)
unsafe_copyto!(newref, ref, i-1)
unsafe_copyto!(newmem, newoffset + delta + i - 1, mem, offset + i - 1, len - i + 1)
setfield!(a, :ref, newref)
setfield!(a, :size, (newlen,))
end
end

Expand All @@ -1213,11 +1216,11 @@ function _deletebeg!(a::Vector, delta::Integer)
@inbounds _unsetindex!(a, i)
end
newlen = len - delta
setfield!(a, :size, (newlen,))
if newlen != 0 # if newlen==0 we could accidentally index past the memory
newref = @inbounds memoryref(a.ref, delta + 1)
setfield!(a, :ref, newref)
end
setfield!(a, :size, (newlen,))
return
end
function _deleteend!(a::Vector, delta::Integer)
Expand Down
2 changes: 1 addition & 1 deletion base/initdefs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ const DEPOT_PATH = String[]
function append_bundled_depot_path!(DEPOT_PATH)
path = abspath(Sys.BINDIR, "..", "local", "share", "julia")
path in DEPOT_PATH || push!(DEPOT_PATH, path)
path = abspath(Sys.BINDIR, "..", "share", "julia")
path = abspath(Sys.BINDIR, Base.DATAROOTDIR, "julia")
path in DEPOT_PATH || push!(DEPOT_PATH, path)
return DEPOT_PATH
end
Expand Down
3 changes: 3 additions & 0 deletions base/loading.jl
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,8 @@ function locate_package_env(pkg::PkgId, stopenv::Union{String, Nothing}=nothing)
path = manifest_uuid_path(env, pkg)
# missing is used as a sentinel to stop looking further down in envs
if path === missing
# Before stopping, try stdlib fallback
is_stdlib(pkg) && @goto stdlib_fallback
path = nothing
@goto done
end
Expand All @@ -473,6 +475,7 @@ function locate_package_env(pkg::PkgId, stopenv::Union{String, Nothing}=nothing)
stopenv == env && break
end
end
@label stdlib_fallback
# Allow loading of stdlibs if the name/uuid are given
# e.g. if they have been explicitly added to the project/manifest
mbypath = manifest_uuid_path(Sys.STDLIB, pkg)
Expand Down
2 changes: 1 addition & 1 deletion base/methodshow.jl
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ function fixup_stdlib_path(path::String)
if isdefined(@__MODULE__, :Core) && isdefined(Core, :Compiler)
compiler_folder = dirname(String(Base.moduleloc(Core.Compiler).file))
if dirname(path) == compiler_folder
return abspath(Sys.STDLIB, "..", "..", "Compiler", "src", basename(path))
return abspath(Sys.BINDIR, Base.DATAROOTDIR, "julia", "Compiler", "src", basename(path))
end
end
end
Expand Down
17 changes: 12 additions & 5 deletions base/sysinfo.jl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ export BINDIR,
MACHINE,
KERNEL,
JIT,
PAGESIZE,
cpu_info,
cpu_summary,
uptime,
Expand All @@ -39,7 +40,7 @@ export BINDIR,
which,
detectwsl

import ..Base: show
import ..Base: DATAROOTDIR, show

"""
Sys.BINDIR::String
Expand All @@ -53,12 +54,10 @@ global BINDIR::String = ccall(:jl_get_julia_bindir, Any, ())::String

A string containing the full path to the directory containing the `stdlib` packages.
"""
global STDLIB::String = "$BINDIR/../share/julia/stdlib/v$(VERSION.major).$(VERSION.minor)" # for bootstrap
global STDLIB::String = "$BINDIR/$DATAROOTDIR/julia/stdlib/v$(VERSION.major).$(VERSION.minor)" # for bootstrap
# In case STDLIB change after julia is built, the variable below can be used
# to update cached method locations to updated ones.
const BUILD_STDLIB_PATH = STDLIB
# Similarly, this is the root of the julia repo directory that julia was built from
const BUILD_ROOT_PATH = "$BINDIR/../.."

# helper to avoid triggering precompile warnings

Expand Down Expand Up @@ -143,6 +142,13 @@ Note: Included in the detailed system information via `versioninfo(verbose=true)
"""
global JIT::String

"""
Sys.PAGESIZE::Clong

A number providing the pagesize of the given OS. Common values being 4kb or 64kb on Linux.
"""
global PAGESIZE::Clong

function __init__()
env_threads = nothing
if haskey(ENV, "JULIA_CPU_THREADS")
Expand All @@ -161,6 +167,7 @@ function __init__()
global SC_CLK_TCK = ccall(:jl_SC_CLK_TCK, Clong, ())
global CPU_NAME = ccall(:jl_get_cpu_name, Ref{String}, ())
global JIT = ccall(:jl_get_JIT, Ref{String}, ())
global PAGESIZE = Int(Sys.isunix() ? ccall(:jl_getpagesize, Clong, ()) : ccall(:jl_getallocationgranularity, Clong, ()))
__init_build()
nothing
end
Expand All @@ -169,7 +176,7 @@ end
function __init_build()
global BINDIR = ccall(:jl_get_julia_bindir, Any, ())::String
vers = "v$(string(VERSION.major)).$(string(VERSION.minor))"
global STDLIB = abspath(BINDIR, "..", "share", "julia", "stdlib", vers)
global STDLIB = abspath(BINDIR, DATAROOTDIR, "julia", "stdlib", vers)
nothing
end

Expand Down
4 changes: 2 additions & 2 deletions contrib/generate_precompile.jl
Original file line number Diff line number Diff line change
Expand Up @@ -348,8 +348,8 @@ generate_precompile_statements() = try # Make sure `ansi_enablecursor` is printe
uuid = "$pkguuid"
""")
touch(joinpath(pkgpath, "Manifest.toml"))
tmp_prec = tempname(prec_path)
tmp_proc = tempname(prec_path)
tmp_prec = tempname(prec_path; cleanup=false)
tmp_proc = tempname(prec_path; cleanup=false)
s = """
pushfirst!(DEPOT_PATH, $(repr(joinpath(prec_path,"depot"))));
Base.PRECOMPILE_TRACE_COMPILE[] = $(repr(tmp_prec));
Expand Down
4 changes: 2 additions & 2 deletions contrib/mac/app/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ dmg/$(APP_NAME): startup.applescript julia.icns
plutil -insert CFBundleVersion -string "$(JULIA_VERSION_OPT_COMMIT)" $@/Contents/Info.plist
plutil -insert NSHumanReadableCopyright -string "$(APP_COPYRIGHT)" $@/Contents/Info.plist
-mkdir -p $@/Contents/Resources/julia
make -C $(JULIAHOME) binary-dist
tar zxf $(JULIAHOME)/$(JULIA_BINARYDIST_FILENAME).tar.gz -C $@/Contents/Resources/julia --strip-components 1
$(MAKE) -C $(JULIAHOME) binary-dist
$(TAR) -xzf $(JULIAHOME)/$(JULIA_BINARYDIST_FILENAME).tar.gz -C $@/Contents/Resources/julia --strip-components 1
find $@/Contents/Resources/julia -type f -exec chmod -w {} \;
# Even though the tarball may already be signed, we re-sign here to make it easier to add
# unsigned executables (like the app launcher) and whatnot, without needing to maintain lists
Expand Down
2 changes: 2 additions & 0 deletions deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,12 @@ endif
endif
endif

PATCHELF_MANIFEST :=
ifneq (,$(findstring $(OS),Linux FreeBSD OpenBSD))
ifeq ($(USE_SYSTEM_PATCHELF), 0)
DEP_LIBS += patchelf
PATCHELF:=$(build_depsbindir)/patchelf
PATCHELF_MANIFEST:=$(build_prefix)/manifest/patchelf
else
PATCHELF:=patchelf
endif
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1cf83c7ea8935ac0804e07ebe8ce7506
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ec3edd7208e25fb1af0b9cb2324abbfb66e556442b75df619ffdf428f1d59f851055117db896fd3514352a32c34c4c42cf50e1386deca4ebd051de98369d5a3e
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5c898e09839cfa16f80940b08bdebe9f
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5202b09eaf172291260bc69a28944986c80a4362a9ef521b05c8ce95c69c9909439b5b2f3a52326ab820f1eff2e1ba2a8ddaa90080d9e29fd2f6e226856bda3e

This file was deleted.

This file was deleted.

11 changes: 10 additions & 1 deletion deps/libgit2.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ ifneq ($(USE_BINARYBUILDER_LIBGIT2),1)
LIBGIT2_GIT_URL := https://github.com/libgit2/libgit2.git
LIBGIT2_TAR_URL = https://api.github.com/repos/libgit2/libgit2/tarball/$1
$(eval $(call git-external,libgit2,LIBGIT2,CMakeLists.txt,,$(SRCCACHE)))
$(SRCCACHE)/$(LIBGIT2_SRC_DIR)/source-extracted: $(MSYS_NONEXISTENT_SYMLINK_TARGET_FIX)

ifeq ($(USE_SYSTEM_LIBSSH2), 0)
$(BUILDDIR)/$(LIBGIT2_SRC_DIR)/build-configured: | $(build_prefix)/manifest/libssh2
Expand All @@ -13,7 +14,15 @@ ifeq ($(USE_SYSTEM_OPENSSL), 0)
$(BUILDDIR)/$(LIBGIT2_SRC_DIR)/build-configured: | $(build_prefix)/manifest/openssl
endif

LIBGIT2_OPTS := $(CMAKE_COMMON) -DCMAKE_BUILD_TYPE=Release -DUSE_THREADS=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON -DBUILD_CLI=OFF
ifeq ($(USE_SYSTEM_PCRE), 0)
$(BUILDDIR)/$(LIBGIT2_SRC_DIR)/build-configured: | $(build_prefix)/manifest/pcre
endif

ifeq ($(USE_SYSTEM_ZLIB), 0)
$(BUILDDIR)/$(LIBGIT2_SRC_DIR)/build-configured: | $(build_prefix)/manifest/zlib
endif

LIBGIT2_OPTS := $(CMAKE_COMMON) -DCMAKE_BUILD_TYPE=Release -DUSE_THREADS=ON -DUSE_BUNDLED_ZLIB=OFF -DUSE_SSH=ON -DREGEX_BACKEND=pcre2 -DBUILD_CLI=OFF -DBUILD_TESTS=OFF
ifeq ($(OS),WINNT)
LIBGIT2_OPTS += -DWIN32=ON -DMINGW=ON
ifeq ($(USE_SYSTEM_LIBSSH2), 0)
Expand Down
5 changes: 1 addition & 4 deletions deps/libssh2.mk
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ endif

ifeq ($(OS),WINNT)
LIBSSH2_OPTS += -DCRYPTO_BACKEND=WinCNG -DENABLE_ZLIB_COMPRESSION=OFF
ifeq ($(BUILD_OS),WINNT)
LIBSSH2_OPTS += -G"MSYS Makefiles"
endif
else
LIBSSH2_OPTS += -DCRYPTO_BACKEND=OpenSSL -DENABLE_ZLIB_COMPRESSION=OFF
LIBSSH2_OPTS += -DOPENSSL_ROOT_DIR=$(build_prefix)
Expand All @@ -38,7 +35,7 @@ LIBSSH2_SRC_PATH := $(SRCCACHE)/$(LIBSSH2_SRC_DIR)
$(BUILDDIR)/$(LIBSSH2_SRC_DIR)/build-configured: $(LIBSSH2_SRC_PATH)/source-extracted
mkdir -p $(dir $@)
cd $(dir $@) && \
$(CMAKE) $(dir $<) $(LIBSSH2_OPTS)
$(CMAKE) $(CMAKE_GENERATOR_COMMAND) $(dir $<) $(LIBSSH2_OPTS)
echo 1 > $@

$(BUILDDIR)/$(LIBSSH2_SRC_DIR)/build-compiled: $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/build-configured
Expand Down
2 changes: 1 addition & 1 deletion deps/libuv.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ LIBUV_GIT_URL:=https://github.com/JuliaLang/libuv.git
LIBUV_TAR_URL=https://api.github.com/repos/JuliaLang/libuv/tarball/$1
$(eval $(call git-external,libuv,LIBUV,configure,,$(SRCCACHE)))

UV_CFLAGS := -O2
UV_CFLAGS := -O2 -DBUILDING_UV_SHARED=1

UV_FLAGS := LDFLAGS="$(LDFLAGS) $(CLDFLAGS) -v"
UV_FLAGS += CFLAGS="$(CFLAGS) $(UV_CFLAGS) $(SANITIZE_OPTS)"
Expand Down
8 changes: 8 additions & 0 deletions deps/llvm.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ ifneq ($(USE_BINARYBUILDER_LLVM), 1)
LLVM_GIT_URL:=https://github.com/JuliaLang/llvm-project.git
LLVM_TAR_URL=https://api.github.com/repos/JuliaLang/llvm-project/tarball/$1
$(eval $(call git-external,llvm,LLVM,CMakeLists.txt,,$(SRCCACHE)))
# LLVM's tarball contains symlinks to non-existent targets. This breaks the
# the default msys strategy `deepcopy` symlink strategy. To workaround this,
# switch to `native` which tries native windows symlinks (possible if the
# machine is in developer mode) - or if not, falls back to cygwin-style
# symlinks. We don't particularly care either way - we just need to symlinks
# to succeed. We could guard this by a uname check, but it's harmless elsewhere,
# so let's not incur the additional overhead.
$(SRCCACHE)/$(LLVM_SRC_DIR)/source-extracted: $(MSYS_NONEXISTENT_SYMLINK_TARGET_FIX)

LLVM_BUILDDIR := $(BUILDDIR)/$(LLVM_SRC_DIR)
LLVM_BUILDDIR_withtype := $(LLVM_BUILDDIR)/build_$(LLVM_BUILDTYPE)
Expand Down
18 changes: 8 additions & 10 deletions deps/openssl.mk
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ $(BUILDDIR)/openssl-$(OPENSSL_VER)/build-configured: $(SRCCACHE)/openssl-$(OPENS
mkdir -p $(dir $@)
cd $(dir $@) && \
CC="$(CC) $(SANITIZE_OPTS)" CXX="$(CXX) $(SANITIZE_OPTS)" LDFLAGS="$(LDFLAGS) $(RPATH_ESCAPED_ORIGIN) $(SANITIZE_LDFLAGS)" \
$(dir $<)/Configure shared --prefix=$(abspath $(build_prefix)) $(OPENSSL_TARGET)
$(dir $<)/Configure shared --prefix=$(abspath $(build_prefix)) --libdir=$(abspath $(build_libdir)) $(OPENSSL_TARGET)
echo 1 > $@

$(BUILDDIR)/openssl-$(OPENSSL_VER)/build-compiled: $(BUILDDIR)/openssl-$(OPENSSL_VER)/build-configured
Expand All @@ -75,18 +75,16 @@ endif
# Override bindir and only install runtime libraries, otherwise they'll go into build_depsbindir.
OPENSSL_INSTALL = \
mkdir -p $2$$(build_shlibdir) && \
$$(MAKE) -C $1 install_dev $$(MAKE_COMMON) bindir=$$(build_shlibdir) $3 DESTDIR="$2"

OPENSSL_POST_INSTALL := \
$(WIN_MAKE_HARD_LINK) $(build_bindir)/libcrypto-*.dll $(build_bindir)/libcrypto.dll && \
$(WIN_MAKE_HARD_LINK) $(build_bindir)/libssl-*.dll $(build_bindir)/libssl.dll && \
$(INSTALL_NAME_CMD)libcrypto.$(SHLIB_EXT) $(build_shlibdir)/libcrypto.$(SHLIB_EXT) && \
$(INSTALL_NAME_CMD)libssl.$(SHLIB_EXT) $(build_shlibdir)/libssl.$(SHLIB_EXT) && \
$(INSTALL_NAME_CHANGE_CMD) $(build_shlibdir)/libcrypto.3.dylib @rpath/libcrypto.$(SHLIB_EXT) $(build_shlibdir)/libssl.$(SHLIB_EXT)
$$(MAKE) -C $1 install_runtime_libs $$(MAKE_COMMON) bindir=$$(build_shlibdir) $3 DESTDIR="$2"

$(eval $(call staged-install, \
openssl,openssl-$(OPENSSL_VER), \
OPENSSL_INSTALL,,,$(OPENSSL_POST_INSTALL)))
OPENSSL_INSTALL,,, \
$$(WIN_MAKE_HARD_LINK) $(build_bindir)/libcrypto-*.dll $(build_bindir)/libcrypto.dll && \
$$(WIN_MAKE_HARD_LINK) $(build_bindir)/libssl-*.dll $(build_bindir)/libssl.dll && \
$$(INSTALL_NAME_CMD)libcrypto.$$(SHLIB_EXT) $$(build_shlibdir)/libcrypto.$$(SHLIB_EXT) && \
$$(INSTALL_NAME_CMD)libssl.$$(SHLIB_EXT) $$(build_shlibdir)/libssl.$$(SHLIB_EXT) && \
$$(INSTALL_NAME_CHANGE_CMD) $$(build_shlibdir)/libcrypto.3.dylib @rpath/libcrypto.$$(SHLIB_EXT) $$(build_shlibdir)/libssl.$$(SHLIB_EXT)))

clean-openssl:
-rm -f $(BUILDDIR)/-openssl-$(OPENSSL_VER)/build-configured $(BUILDDIR)/-openssl-$(OPENSSL_VER)/build-compiled
Expand Down
6 changes: 5 additions & 1 deletion deps/p7zip.mk
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,14 @@ $(eval $(call bb-install,p7zip,P7ZIP,false))
# move from bindir to shlibdir, where we expect to install it
install-p7zip: post-install-p7zip
uninstall-p7zip: pre-uninstall-p7zip
post-install-p7zip: $(build_prefix)/manifest/p7zip
post-install-p7zip: $(build_prefix)/manifest/p7zip $(PATCHELF_MANIFEST)
mkdir -p $(build_private_libexecdir)/
[ ! -e $(build_bindir)/7z$(EXE) ] || mv $(build_bindir)/7z$(EXE) $(build_private_libexecdir)/7z$(EXE)
[ -e $(build_private_libexecdir)/7z$(EXE) ]
ifneq (,$(findstring $(OS),Linux FreeBSD))
[ -L $(build_private_libexecdir)/7z ] || \
$(PATCHELF) $(PATCHELF_SET_RPATH_ARG) '$$ORIGIN/$(reverse_build_private_libexecdir_rel)' $(build_private_libexecdir)/7z$(EXE)
endif
pre-uninstall-p7zip:
-rm -f $(build_private_libexecdir)/7z$(EXE)

Expand Down
Loading