Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jan 2021 01:23:02 GMT
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: ed05bfceb819 - stable/13 - build: remove LIBPTHREAD/LIBTHR build options
Message-ID:  <202101290123.10T1N2kj070891@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by kevans:

URL: https://cgit.FreeBSD.org/src/commit/?id=ed05bfceb8191c2d50742203512bb0378d831aba

commit ed05bfceb8191c2d50742203512bb0378d831aba
Author:     Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2021-01-20 14:01:25 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2021-01-29 01:21:46 +0000

    build: remove LIBPTHREAD/LIBTHR build options
    
    WITHOUT_LIBTHR has been broken for a little over five years now, since the
    xz 5.2.0 update introduced a hard liblzma dependency on libthr, and building
    a useful system without threading support is becoming increasingly more
    difficult.
    
    Additionally, in the five plus years that it's been broken more reverse
    dependencies have cropped up in libzstd, libsqlite3, and libcrypto (among
    others) that make it more and more difficult to reconcile the effort needed
    to fix these options.
    
    Remove the broken options.
    
    PR:             252760
    
    (cherry picked from commit 123ae3045dd21badb93ce52445e18e364b3ac807)
    (cherry picked from commit 251a6ddfbdcd72e0de922e8320d2f0cc6806a423)
---
 Makefile.inc1                            |  6 +-----
 cddl/lib/Makefile                        |  2 --
 cddl/usr.bin/Makefile                    |  2 --
 cddl/usr.sbin/Makefile                   |  2 --
 lib/Makefile                             |  4 ++--
 sbin/ggate/Makefile                      |  9 ++-------
 share/man/man3/Makefile                  |  2 --
 share/man/man5/src.conf.5                | 18 +-----------------
 share/mk/src.opts.mk                     |  6 ------
 tools/build/mk/OptionalObsoleteFiles.inc |  7 -------
 tools/build/options/WITHOUT_LIBPTHREAD   |  5 -----
 tools/build/options/WITHOUT_LIBTHR       |  5 -----
 usr.sbin/Makefile                        |  2 --
 usr.sbin/ngctl/Makefile                  |  2 --
 14 files changed, 6 insertions(+), 66 deletions(-)

diff --git a/Makefile.inc1 b/Makefile.inc1
index d9ef01eefde5..f27cd2706359 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2898,7 +2898,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1} \
 		lib/libzstd \
 		${_lib_casper} \
 		lib/ncurses/ncurses \
-		lib/libopie lib/libpam/libpam ${_lib_libthr} \
+		lib/libopie lib/libpam/libpam lib/libthr \
 		${_lib_libradius} lib/libsbuf lib/libtacplus \
 		lib/libgeom \
 		${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
@@ -2932,10 +2932,6 @@ _prebuild_libs+= lib/libc++
 lib/libgeom__L: lib/libexpat__L lib/libsbuf__L
 lib/libkvm__L: lib/libelf__L
 
-.if ${MK_LIBTHR} != "no"
-_lib_libthr=	lib/libthr
-.endif
-
 .if ${MK_RADIUS_SUPPORT} != "no"
 _lib_libradius=	lib/libradius
 .endif
diff --git a/cddl/lib/Makefile b/cddl/lib/Makefile
index 38ab0358dde6..2f360a8684a2 100644
--- a/cddl/lib/Makefile
+++ b/cddl/lib/Makefile
@@ -28,11 +28,9 @@ _libicp_rescue=	libicp_rescue
 _libzfs=	libzfs
 _libzutil=	libzutil
 _libzfsbootenv=	libzfsbootenv
-.if ${MK_LIBTHR} != "no"
 _libzpool=	libzpool
 _libtpool=	libtpool
 .endif
-.endif
 
 SUBDIR_DEPEND_libctf=		libspl
 SUBDIR_DEPEND_libdtrace=	libctf
diff --git a/cddl/usr.bin/Makefile b/cddl/usr.bin/Makefile
index 8c7fa3ac83fa..5c2595df1c9f 100644
--- a/cddl/usr.bin/Makefile
+++ b/cddl/usr.bin/Makefile
@@ -15,12 +15,10 @@ SUBDIR.${MK_TESTS}+= tests
 
 .if ${MK_ZFS} != "no"
 _zinject= zinject
-.if ${MK_LIBTHR} != "no"
 _ztest=	ztest
 _zstream = zstream
 _zstreamdump = zstreamdump
 .endif
-.endif
 
 SUBDIR_PARALLEL=
 
diff --git a/cddl/usr.sbin/Makefile b/cddl/usr.sbin/Makefile
index a736a75a73ec..42de5c96c53a 100644
--- a/cddl/usr.sbin/Makefile
+++ b/cddl/usr.sbin/Makefile
@@ -13,10 +13,8 @@ SUBDIR=	${_dtrace} \
 SUBDIR.${MK_TESTS}+= tests
 
 .if ${MK_ZFS} != "no"
-.if ${MK_LIBTHR} != "no"
 _zdb=	zdb
 _zhack=	zhack
-.endif
 . if ${MK_CXX} != "no"
 _zfsd=	zfsd
 . endif
diff --git a/lib/Makefile b/lib/Makefile
index 5d7caa6b9423..ddb627917215 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -93,6 +93,7 @@ SUBDIR=	${SUBDIR_BOOTSTRAP} \
 	libstdthreads \
 	libsysdecode \
 	libtacplus \
+	libthr \
 	libthread_db \
 	libucl \
 	libufs \
@@ -137,7 +138,7 @@ SUBDIR_DEPEND_libsmb= libkiconv
 SUBDIR_DEPEND_libtacplus= libmd
 SUBDIR_DEPEND_libulog= libmd
 SUBDIR_DEPEND_libunbound= ${_libldns}
-SUBDIR_DEPEND_liblzma= ${_libthr}
+SUBDIR_DEPEND_liblzma= libthr
 .if ${MK_OFED} != "no"
 SUBDIR_DEPEND_libpcap= ofed
 .endif
@@ -189,7 +190,6 @@ _libcplusplus+=	libc++experimental
 
 SUBDIR.${MK_EFI}+=	libefivar
 SUBDIR.${MK_GOOGLETEST}+=	googletest
-SUBDIR.${MK_LIBTHR}+=	libthr
 SUBDIR.${MK_NETGRAPH}+=	libnetgraph
 SUBDIR.${MK_NIS}+=	libypclnt
 
diff --git a/sbin/ggate/Makefile b/sbin/ggate/Makefile
index b46335991671..22532cc18512 100644
--- a/sbin/ggate/Makefile
+++ b/sbin/ggate/Makefile
@@ -2,13 +2,8 @@
 
 .include <src.opts.mk>
 
-SUBDIR=	${_ggatec} \
-	${_ggated} \
+SUBDIR=	ggatec \
+	ggated \
 	ggatel
 
-.if ${MK_LIBTHR} != "no"
-_ggatec=	ggatec
-_ggated=	ggated
-.endif
-
 .include <bsd.subdir.mk>
diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile
index 7fb09f970a26..d33c0d63ea0d 100644
--- a/share/man/man3/Makefile
+++ b/share/man/man3/Makefile
@@ -370,7 +370,6 @@ MLINKS+=	tree.3 RB_EMPTY.3 \
 		tree.3 SPLAY_RIGHT.3 \
 		tree.3 SPLAY_ROOT.3
 
-.if ${MK_LIBTHR} != "no"
 PTHREAD_MAN=	pthread.3 \
 		pthread_affinity_np.3 \
 		pthread_atfork.3 \
@@ -504,6 +503,5 @@ PTHREAD_MLINKS+=pthread_testcancel.3 pthread_setcancelstate.3 \
 		pthread_testcancel.3 pthread_setcanceltype.3
 PTHREAD_MLINKS+=pthread_join.3 pthread_peekjoin_np.3 \
 		pthread_join.3 pthread_timedjoin_np.3
-.endif
 
 .include <bsd.prog.mk>
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index 9ac4df055194..9230c2b9fd84 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,6 +1,6 @@
 .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
 .\" $FreeBSD$
-.Dd January 22, 2021
+.Dd January 28, 2021
 .Dt SRC.CONF 5
 .Os
 .Sh NAME
@@ -861,25 +861,9 @@ This is a default setting on
 arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mips, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
 .It Va WITHOUT_LIBCPLUSPLUS
 Set to avoid building libcxxrt and libc++.
-.It Va WITHOUT_LIBPTHREAD
-Set to not build the
-.Nm libpthread
-providing library,
-.Nm libthr .
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_LIBTHR
-.El
 .It Va WITH_LIBSOFT
 On armv6 only, set to enable soft float ABI compatibility libraries.
 This option is for transitioning to the new hard float ABI.
-.It Va WITHOUT_LIBTHR
-Set to not build the
-.Nm libthr
-(1:1 threading)
-library.
 .It Va WITHOUT_LLD
 Set to not build LLVM's lld linker.
 .It Va WITHOUT_LLDB
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index a088adbd91f7..a7eddb12d2c8 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -126,8 +126,6 @@ __DEFAULT_YES_OPTIONS = \
     LDNS_UTILS \
     LEGACY_CONSOLE \
     LIBCPLUSPLUS \
-    LIBPTHREAD \
-    LIBTHR \
     LLD \
     LLD_BOOTSTRAP \
     LLD_IS_LD \
@@ -378,10 +376,6 @@ BROKEN_OPTIONS+=CLANG_BOOTSTRAP LLD_BOOTSTRAP
 MK_CASPER:=	no
 .endif
 
-.if ${MK_LIBPTHREAD} == "no"
-MK_LIBTHR:=	no
-.endif
-
 .if ${MK_SOURCELESS} == "no"
 MK_SOURCELESS_HOST:=	no
 MK_SOURCELESS_UCODE:= no
diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc
index 0484ad6fa30a..b517cff65338 100644
--- a/tools/build/mk/OptionalObsoleteFiles.inc
+++ b/tools/build/mk/OptionalObsoleteFiles.inc
@@ -4110,13 +4110,6 @@ OLD_DIRS+=usr/include/c++/v1/ext
 OLD_DIRS+=usr/include/c++/v1
 .endif
 
-.if ${MK_LIBTHR} == no
-OLD_LIBS+=lib/libthr.so.3
-OLD_FILES+=usr/lib/libthr.a
-OLD_FILES+=usr/lib/libthr_p.a
-OLD_FILES+=usr/share/man/man3/libthr.3.gz
-.endif
-
 .if ${MK_LLD} == no
 OLD_FILES+=usr/bin/ld.lld
 .endif
diff --git a/tools/build/options/WITHOUT_LIBPTHREAD b/tools/build/options/WITHOUT_LIBPTHREAD
deleted file mode 100644
index 28a6200bfc92..000000000000
--- a/tools/build/options/WITHOUT_LIBPTHREAD
+++ /dev/null
@@ -1,5 +0,0 @@
-.\" $FreeBSD$
-Set to not build the
-.Nm libpthread
-providing library,
-.Nm libthr .
diff --git a/tools/build/options/WITHOUT_LIBTHR b/tools/build/options/WITHOUT_LIBTHR
deleted file mode 100644
index 836473511983..000000000000
--- a/tools/build/options/WITHOUT_LIBTHR
+++ /dev/null
@@ -1,5 +0,0 @@
-.\" $FreeBSD$
-Set to not build the
-.Nm libthr
-(1:1 threading)
-library.
diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile
index da61617e408b..39913a327b87 100644
--- a/usr.sbin/Makefile
+++ b/usr.sbin/Makefile
@@ -162,10 +162,8 @@ SUBDIR.${MK_LEGACY_CONSOLE}+=	kbdcontrol
 SUBDIR.${MK_LEGACY_CONSOLE}+=	kbdmap
 SUBDIR.${MK_LEGACY_CONSOLE}+=	moused
 SUBDIR.${MK_LEGACY_CONSOLE}+=	vidcontrol
-.if ${MK_LIBTHR} != "no" || ${MK_LIBPTHREAD} != "no"
 SUBDIR.${MK_PPP}+=	pppctl
 SUBDIR.${MK_NS_CACHING}+=	nscd
-.endif
 SUBDIR.${MK_LPR}+=	lpr
 SUBDIR.${MK_MAN_UTILS}+=	manctl
 SUBDIR.${MK_MLX5TOOL}+=	mlx5tool
diff --git a/usr.sbin/ngctl/Makefile b/usr.sbin/ngctl/Makefile
index 519bf98c7813..a4831523c3fc 100644
--- a/usr.sbin/ngctl/Makefile
+++ b/usr.sbin/ngctl/Makefile
@@ -11,9 +11,7 @@ WARNS?=	3
 
 LIBADD=	netgraph
 
-.if ${MK_LIBTHR} != "no"
 CFLAGS+= -DEDITLINE
 LIBADD+=	edit pthread
-.endif
 
 .include <bsd.prog.mk>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101290123.10T1N2kj070891>