Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Sep 2021 18:34:20 GMT
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: fb5f03a87cf4 - main - Mk/bsd.lto.mk: add global LTO support for ports
Message-ID:  <202109301834.18UIYKrL013410@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fb5f03a87cf432751fae1f0ae7f29c9d4fc65917

commit fb5f03a87cf432751fae1f0ae7f29c9d4fc65917
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2021-09-30 18:27:50 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
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



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