git: 6318e220e3b8 - stable/13 - Bootstrap libz when cross-building from non-FreeBSD
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 25 Jan 2022 01:39:59 UTC
The branch stable/13 has been updated by jrtc27:
URL: https://cgit.FreeBSD.org/src/commit/?id=6318e220e3b8e34943fa74406a2de72273340cdb
commit 6318e220e3b8e34943fa74406a2de72273340cdb
Author: Jessica Clarke <jrtc27@FreeBSD.org>
AuthorDate: 2021-12-06 18:12:46 +0000
Commit: Jessica Clarke <jrtc27@FreeBSD.org>
CommitDate: 2022-01-24 23:59:14 +0000
Bootstrap libz when cross-building from non-FreeBSD
This is needed now libdwarf depends on libz.
Fixes: dbf05458e3bd ("libdwarf: Support consumption of compressed ELF sections")
MFC after: 1 week
(cherry picked from commit 8d5d329553b345c0887405db741750b0f728d902)
---
Makefile.inc1 | 4 ++++
lib/libz/Makefile | 7 ++++++-
tools/build/mk/Makefile.boot | 2 +-
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/Makefile.inc1 b/Makefile.inc1
index f4b1f0b9340b..98caae210c85 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2459,6 +2459,10 @@ _other_bootstrap_tools+=usr.bin/bmake
# Avoid dependency on host bz2 headers:
_other_bootstrap_tools+=lib/libbz2
${_bt}-usr.bin/grep: ${_bt}-lib/libbz2
+
+# libdwarf depends on libz
+_other_bootstrap_tools+=lib/libz
+${_bt}-lib/libdwarf: ${_bt}-lib/libz
.else
# All tools in _basic_bootstrap_tools have the same name as the subdirectory
# so we can use :T to get the name of the symlinks that we need to create.
diff --git a/lib/libz/Makefile b/lib/libz/Makefile
index 4ece3e3e059f..a954fee95118 100644
--- a/lib/libz/Makefile
+++ b/lib/libz/Makefile
@@ -38,9 +38,14 @@ SRCS+= inflate.c
SRCS+= inftrees.c
SRCS+= trees.c
SRCS+= uncompr.c
-SRCS+= zopen.c
SRCS+= zutil.c
+# Wrapper relies on FreeBSD-specific fpos_t representation and non-portable
+# funopen. Not needed for bootstrapping, so just disable it.
+.if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING)
+SRCS+= zopen.c
+.endif
+
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
CFLAGS+= -DUNALIGNED_OK
.endif
diff --git a/tools/build/mk/Makefile.boot b/tools/build/mk/Makefile.boot
index 8ac360e663c9..4e6f3508b30d 100644
--- a/tools/build/mk/Makefile.boot
+++ b/tools/build/mk/Makefile.boot
@@ -16,7 +16,6 @@ NM:= /usr/bin/nm
# Avoid stale dependecy warnings:
LIBC:=
-LIBZ:=
LIBM:=
LIBUTIL:=
LIBCPLUSPLUS:=
@@ -30,6 +29,7 @@ LIBL:=${WORLDTMP}/legacy/usr/lib/libl.a
LIBROKEN:=${WORLDTMP}/legacy/usr/lib/libroken.a
LIBDWARF:=${WORLDTMP}/legacy/usr/lib/libdwarf.a
LIBELF:=${WORLDTMP}/legacy/usr/lib/libelf.a
+LIBZ:=${WORLDTMP}/legacy/usr/lib/libz.a
# Add various -Werror flags to catch missing function declarations
CFLAGS+= -Werror=implicit-function-declaration -Werror=implicit-int \