Skip to content

Commit

Permalink
Do not build lint(1) by default on stable-11, add WITH_LINT to enable
Browse files Browse the repository at this point in the history
building it.

lint(1) is required on the host build system to build lint(1) libraries, and
it is no longer available on FreeBSD 12. This prevents using a 12 or later
host to build an 11 or earlier system, which causes problems for building
jails and using poudriere. The problem could be fixed by treating lint as a
bootstrap tool when building on 12+, but that just adds complexity and build
time to build a broken tool that virtually nobody uses anymore.

This is a direct commit to 11-stable because lint no longer exists in later
branches.

PR:		223892
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D13799
  • Loading branch information
ian authored and ian committed Jan 11, 2018
1 parent d9729a2 commit 5fb1dbc
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 2 deletions.
6 changes: 6 additions & 0 deletions UPDATING
Expand Up @@ -16,6 +16,12 @@ from older versions of FreeBSD, try WITHOUT_CLANG and WITH_GCC to bootstrap to
the tip of head, and then rebuild without this option. The bootstrap process
from older version of current across the gcc/clang cutover is a bit fragile.

20180108:
lint(1) binaries and library are no longer built by default. To
enable building them, define WITH_LINT in src.conf. If you are using
a FreeBSD 12 or later system to build 11-stable, you may need to
install a lint(1) binary to use WITH_LINT.

20171003:
When building multiple kernels using KERNCONF, non-existent KERNCONF
files will produce an error and buildkernel will fail. Previously
Expand Down
4 changes: 3 additions & 1 deletion share/man/man5/src.conf.5
@@ -1,6 +1,6 @@
.\" DO NOT EDIT-- this file is generated by tools/build/options/makeman.
.\" $FreeBSD$
.Dd September 7, 2017
.Dd January 8, 2018
.Dt SRC.CONF 5
.Os
.Sh NAME
Expand Down Expand Up @@ -927,6 +927,8 @@ Set to not build the
.Nm libthr
(1:1 threading)
library.
.It Va WITH_LINT
Set to build the lint binaries and library.
.It Va WITHOUT_LLD
Set to not build LLVM's lld linker.
.Pp
Expand Down
1 change: 1 addition & 0 deletions share/mk/src.opts.mk
Expand Up @@ -187,6 +187,7 @@ __DEFAULT_NO_OPTIONS = \
EISA \
HESIOD \
LIBSOFT \
LINT \
NAND \
OFED \
OPENLDAP \
Expand Down
2 changes: 1 addition & 1 deletion usr.bin/Makefile
Expand Up @@ -286,7 +286,7 @@ SUBDIR.${MK_TOOLCHAIN}+= readelf
SUBDIR.${MK_TOOLCHAIN}+= rpcgen
SUBDIR.${MK_TOOLCHAIN}+= unifdef
SUBDIR.${MK_TOOLCHAIN}+= size
.if ${MACHINE_ARCH} != "aarch64" # ARM64TODO xlint does not build
.if ${MK_LINT} != "no" && ${MACHINE_ARCH} != "aarch64" # ARM64TODO xlint does not build
SUBDIR.${MK_TOOLCHAIN}+= xlint
.endif
SUBDIR.${MK_TOOLCHAIN}+= xstr
Expand Down

0 comments on commit 5fb1dbc

Please sign in to comment.