diff options
author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2021-09-30 18:27:50 +0000 |
---|---|---|
committer | Piotr Kubaj <pkubaj@FreeBSD.org> | 2021-09-30 18:27:50 +0000 |
commit | fb5f03a87cf432751fae1f0ae7f29c9d4fc65917 (patch) | |
tree | 7d6e0a0ce8cc89b60b7f23ba0e98d21b7724cddc /Mk | |
parent | b479509b7b9cee14585e438d9439e2df06738a2c (diff) | |
download | ports-fb5f03a87cf432751fae1f0ae7f29c9d4fc65917.tar.gz ports-fb5f03a87cf432751fae1f0ae7f29c9d4fc65917.zip |
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
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/bsd.lto.mk | 10 | ||||
-rw-r--r-- | Mk/bsd.port.mk | 4 |
2 files changed, 14 insertions, 0 deletions
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 |