From owner-dev-commits-ports-all@freebsd.org Thu Sep 30 18:34:21 2021 Return-Path: Delivered-To: dev-commits-ports-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 1C0D36B618B; Thu, 30 Sep 2021 18:34:21 +0000 (UTC) (envelope-from git@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) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4HL22j01Qwz4gqw; Thu, 30 Sep 2021 18:34:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D4F0610A5A; Thu, 30 Sep 2021 18:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 18UIYKjt013411; Thu, 30 Sep 2021 18:34:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 18UIYKrL013410; Thu, 30 Sep 2021 18:34:20 GMT (envelope-from git) Date: Thu, 30 Sep 2021 18:34:20 GMT Message-Id: <202109301834.18UIYKrL013410@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Piotr Kubaj Subject: git: fb5f03a87cf4 - main - Mk/bsd.lto.mk: add global LTO support for ports MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pkubaj X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb5f03a87cf432751fae1f0ae7f29c9d4fc65917 Auto-Submitted: auto-generated X-BeenThere: dev-commits-ports-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Sep 2021 18:34:21 -0000 The branch main has been updated by pkubaj: URL: https://cgit.FreeBSD.org/ports/commit/?id=fb5f03a87cf432751fae1f0ae7f29c9d4fc65917 commit fb5f03a87cf432751fae1f0ae7f29c9d4fc65917 Author: Piotr Kubaj AuthorDate: 2021-09-30 18:27:50 +0000 Commit: Piotr Kubaj CommitDate: 2021-09-30 18:27:50 +0000 Mk/bsd.lto.mk: add global LTO support for ports It's well known that LTO provides both performance and size benefits for binaries. Add preliminary, opt-in support for global LTO enforcement to ports. Ports that provide LTO option on their own and the ones that don't work with LTO will need to set LTO_UNSAFE in the future. PR: 258536 --- Mk/bsd.lto.mk | 10 ++++++++++ Mk/bsd.port.mk | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/Mk/bsd.lto.mk b/Mk/bsd.lto.mk new file mode 100644 index 000000000000..c2a079ea28bb --- /dev/null +++ b/Mk/bsd.lto.mk @@ -0,0 +1,10 @@ +# LTO Support + +LTO_Include_MAINTAINER= pkubaj@FreeBSD.org + +.if !defined(LTO_UNSAFE) +# Overridable as a user may want to use -flto +LTO_CFLAGS?= -flto=thin +CFLAGS+= ${LTO_CFLAGS} +CXXFLAGS+= ${LTO_CFLAGS} +.endif diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 337d3f6be6a6..493b15a59fff 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1799,6 +1799,10 @@ INSTALL_TARGET:= ${INSTALL_TARGET:S/^install-strip$/install/g} .endif .endif +.if defined(USE_LTO) +.include "${PORTSDIR}/Mk/bsd.lto.mk" +.endif + .if !defined(WITHOUT_SSP) .include "${PORTSDIR}/Mk/bsd.ssp.mk" .endif