From owner-svn-src-all@freebsd.org Sat Feb 29 13:15:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A311525F080; Sat, 29 Feb 2020 13:15:02 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48V6MV2P6Tz4DMP; Sat, 29 Feb 2020 13:15:02 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F0C381B40C; Sat, 29 Feb 2020 13:15:01 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 01TDF1XU047219; Sat, 29 Feb 2020 13:15:01 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01TDF1Dd047218; Sat, 29 Feb 2020 13:15:01 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202002291315.01TDF1Dd047218@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 29 Feb 2020 13:15:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358462 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 358462 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Feb 2020 13:15:02 -0000 Author: emaste Date: Sat Feb 29 13:15:01 2020 New Revision: 358462 URL: https://svnweb.freebsd.org/changeset/base/358462 Log: src.opts.mk: simplify Clang and lld bootstrap defaults With the retirement of GCC 4.2.1 we can assume the host compiler supports C++11, and can simplify the Clang and LLD defaults. Clang and lld are now enabled by default everywhere, and are used as the bootstrap compiler and linker for all targets except MIPS. Sponsored by: The FreeBSD Foundation Modified: head/share/mk/src.opts.mk Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Sat Feb 29 12:46:02 2020 (r358461) +++ head/share/mk/src.opts.mk Sat Feb 29 13:15:01 2020 (r358462) @@ -78,6 +78,7 @@ __DEFAULT_YES_OPTIONS = \ CASPER \ CCD \ CDDL \ + CLANG \ CPP \ CROSS_COMPILER \ CRYPT \ @@ -126,6 +127,7 @@ __DEFAULT_YES_OPTIONS = \ LEGACY_CONSOLE \ LIBPTHREAD \ LIBTHR \ + LLD \ LLVM_COV \ LLVM_TARGET_ALL \ LOADER_GELI \ @@ -287,22 +289,13 @@ MK_LLVM_TARGET_SPARC:=no __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF .include -# If the compiler is not C++11 capable, disable Clang. External toolchain will -# be required. -.if ${COMPILER_FEATURES:Mc++11} && (${__TT} != "mips") -# Clang is enabled, and will be installed as the default /usr/bin/cc. -__DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_IS_CC LLD -.elif ${COMPILER_FEATURES:Mc++11} -# If an external compiler that supports C++11 is used as ${CC} and Clang -# supports the target, then Clang is enabled but we still require an external -# toolchain. -# default /usr/bin/cc. -__DEFAULT_YES_OPTIONS+=CLANG LLD -__DEFAULT_NO_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC +.if ${__TT} != "mips" +# Clang is installed as the default /usr/bin/cc. +__DEFAULT_YES_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC .else -# Everything else disables Clang, and uses GCC instead. -__DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_IS_CC LLD +# Clang is enabled but we still require an external toolchain. +__DEFAULT_NO_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC .endif # In-tree binutils/gcc are older versions without modern architecture support. .if ${__T} == "aarch64" || ${__T:Mriscv*} != ""