Re: git: 9a31e1b6d3bf - main - lang/python3*: add LTO option and enable by default everywhere except powerpc64 and riscv64
Date: Wed, 09 Mar 2022 17:39:44 UTC
I meant: Approved by: python (maintainer timeout, koobs got his commit bit revoked during review process) On 22-03-09 17:35:15, Piotr Kubaj wrote: > The branch main has been updated by pkubaj: > > URL: https://cgit.FreeBSD.org/ports/commit/?id=9a31e1b6d3bff1eef9fcd5e72268c238ec5335fb > > commit 9a31e1b6d3bff1eef9fcd5e72268c238ec5335fb > Author: Piotr Kubaj <pkubaj@FreeBSD.org> > AuthorDate: 2022-03-09 17:30:00 +0000 > Commit: Piotr Kubaj <pkubaj@FreeBSD.org> > CommitDate: 2022-03-09 17:30:00 +0000 > > lang/python3*: add LTO option and enable by default everywhere except powerpc64 and riscv64 > > PR: 261974 > Approved by: python (koobs got his commit bit revoked during review process) > --- > lang/python310/Makefile | 9 +++++++-- > lang/python310/files/patch-configure | 11 +++++++++++ > lang/python311/Makefile | 9 +++++++-- > lang/python311/files/patch-configure | 11 +++++++++++ > lang/python37/Makefile | 10 +++++++--- > lang/python37/files/patch-configure | 11 +++++++++++ > lang/python38/Makefile | 10 +++++++--- > lang/python38/files/patch-configure | 11 +++++++++++ > lang/python39/Makefile | 9 +++++++-- > lang/python39/files/patch-configure | 11 +++++++++++ > 10 files changed, 90 insertions(+), 12 deletions(-) > > diff --git a/lang/python310/Makefile b/lang/python310/Makefile > index 8084d9b8c66a..dd524e80e451 100644 > --- a/lang/python310/Makefile > +++ b/lang/python310/Makefile > @@ -2,6 +2,7 @@ > > PORTNAME= python > DISTVERSION= ${PYTHON_DISTVERSION} > +PORTREVISION= 1 > CATEGORIES= lang python > MASTER_SITES= PYTHON/ftp/python/${DISTVERSION:C/[a-z].*//} > PKGNAMESUFFIX= ${PYTHON_SUFFIX} > @@ -52,8 +53,10 @@ PLIST_SUB= ABI=${ABIFLAGS} \ > XYZDOT=${DISTVERSION:C/[a-z].*//} \ > OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554 > > -OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC NLS PYMALLOC > -OPTIONS_DEFAULT= LIBMPDEC PYMALLOC > +OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC LTO NLS PYMALLOC > +OPTIONS_DEFAULT= LIBMPDEC LTO PYMALLOC > +OPTIONS_EXCLUDE_powerpc64= LTO > +OPTIONS_EXCLUDE_riscv64= LTO > OPTIONS_RADIO= HASH > OPTIONS_RADIO_HASH= FNV SIPHASH > OPTIONS_SUB= yes > @@ -75,6 +78,8 @@ IPV6_CONFIGURE_ENABLE= ipv6 > LIBMPDEC_CONFIGURE_ON= --with-system-libmpdec > LIBMPDEC_LIB_DEPENDS= libmpdec.so:math/mpdecimal > > +LTO_CONFIGURE_ON= --with-lto > + > # Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat > # to break in Python 2.7, or preprocessor complaints in Python >= 3.3 > # Upstream Issue: https://bugs.python.org/issue6299 > diff --git a/lang/python310/files/patch-configure b/lang/python310/files/patch-configure > new file mode 100644 > index 000000000000..c78047439605 > --- /dev/null > +++ b/lang/python310/files/patch-configure > @@ -0,0 +1,11 @@ > +--- configure.orig 2022-02-23 19:52:00 UTC > ++++ configure > +@@ -6625,7 +6625,7 @@ fi > + > + if test "$Py_LTO" = 'true' ; then > + case $CC in > +- *clang*) > ++ *clang*|cc) > + > + if test -n "$ac_tool_prefix"; then > + # Extract the first word of "${ac_tool_prefix}llvm-ar", so it can be a program name with args. > diff --git a/lang/python311/Makefile b/lang/python311/Makefile > index 676094889cc5..2cf3cc6bdb44 100644 > --- a/lang/python311/Makefile > +++ b/lang/python311/Makefile > @@ -2,6 +2,7 @@ > > PORTNAME= python > DISTVERSION= ${PYTHON_DISTVERSION} > +PORTREVISION= 1 > CATEGORIES= lang python > MASTER_SITES= PYTHON/ftp/python/${DISTVERSION:C/[a-z].*//} > PKGNAMESUFFIX= ${PYTHON_SUFFIX} > @@ -52,8 +53,10 @@ PLIST_SUB= ABI=${ABIFLAGS} \ > XYZDOT=${DISTVERSION:C/[a-z].*//} \ > OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554 > > -OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC NLS PYMALLOC > -OPTIONS_DEFAULT= LIBMPDEC PYMALLOC > +OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC LTO NLS PYMALLOC > +OPTIONS_DEFAULT= LIBMPDEC LTO PYMALLOC > +OPTIONS_EXCLUDE_powerpc64= LTO > +OPTIONS_EXCLUDE_riscv64= LTO > OPTIONS_RADIO= HASH > OPTIONS_RADIO_HASH= FNV SIPHASH > OPTIONS_SUB= yes > @@ -75,6 +78,8 @@ IPV6_CONFIGURE_ENABLE= ipv6 > LIBMPDEC_CONFIGURE_ON= --with-system-libmpdec > LIBMPDEC_LIB_DEPENDS= libmpdec.so:math/mpdecimal > > +LTO_CONFIGURE_ON= --with-lto=thin > + > # Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat > # to break in Python 2.7, or preprocessor complaints in Python >= 3.3 > # Upstream Issue: https://bugs.python.org/issue6299 > diff --git a/lang/python311/files/patch-configure b/lang/python311/files/patch-configure > new file mode 100644 > index 000000000000..aa89baed8cc0 > --- /dev/null > +++ b/lang/python311/files/patch-configure > @@ -0,0 +1,11 @@ > +--- configure.orig 2022-02-23 19:32:58 UTC > ++++ configure > +@@ -7244,7 +7244,7 @@ fi > + > + if test "$Py_LTO" = 'true' ; then > + case $CC in > +- *clang*) > ++ *clang*|cc) > + LDFLAGS_NOLTO="-fno-lto" > + > + if test -n "$ac_tool_prefix"; then > diff --git a/lang/python37/Makefile b/lang/python37/Makefile > index 43de00c66dd0..442732efc459 100644 > --- a/lang/python37/Makefile > +++ b/lang/python37/Makefile > @@ -2,7 +2,7 @@ > > PORTNAME= python > DISTVERSION= ${PYTHON_DISTVERSION} > -PORTREVISION= 1 > +PORTREVISION= 2 > CATEGORIES= lang python > MASTER_SITES= PYTHON/ftp/python/${DISTVERSION} > PKGNAMESUFFIX= ${PYTHON_SUFFIX} > @@ -49,8 +49,10 @@ PLIST_SUB= ABI=${ABIFLAGS} \ > XYZDOT=${DISTVERSION} \ > OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554 > > -OPTIONS_DEFINE= DEBUG IPV6 NLS PYMALLOC > -OPTIONS_DEFAULT= PYMALLOC > +OPTIONS_DEFINE= DEBUG IPV6 LTO NLS PYMALLOC > +OPTIONS_DEFAULT= LTO PYMALLOC > +OPTIONS_EXCLUDE_powerpc64= LTO > +OPTIONS_EXCLUDE_riscv64= LTO > OPTIONS_RADIO= HASH > OPTIONS_RADIO_HASH= FNV SIPHASH > OPTIONS_SUB= yes > @@ -68,6 +70,8 @@ SIPHASH_CONFIGURE_ON= --with-hash-algorithm=siphash24 > DEBUG_CONFIGURE_WITH= pydebug > IPV6_CONFIGURE_ENABLE= ipv6 > > +LTO_CONFIGURE_ON= --with-lto > + > # Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat > # to break in Python 2.7, or preprocessor complaints in Python >= 3.3 > # Upstream Issue: https://bugs.python.org/issue6299 > diff --git a/lang/python37/files/patch-configure b/lang/python37/files/patch-configure > new file mode 100644 > index 000000000000..c78047439605 > --- /dev/null > +++ b/lang/python37/files/patch-configure > @@ -0,0 +1,11 @@ > +--- configure.orig 2022-02-23 19:52:00 UTC > ++++ configure > +@@ -6625,7 +6625,7 @@ fi > + > + if test "$Py_LTO" = 'true' ; then > + case $CC in > +- *clang*) > ++ *clang*|cc) > + > + if test -n "$ac_tool_prefix"; then > + # Extract the first word of "${ac_tool_prefix}llvm-ar", so it can be a program name with args. > diff --git a/lang/python38/Makefile b/lang/python38/Makefile > index 14fa1346d41c..d5a3247abef1 100644 > --- a/lang/python38/Makefile > +++ b/lang/python38/Makefile > @@ -2,7 +2,7 @@ > > PORTNAME= python > DISTVERSION= ${PYTHON_DISTVERSION} > -PORTREVISION= 1 > +PORTREVISION= 2 > CATEGORIES= lang python > MASTER_SITES= PYTHON/ftp/python/${DISTVERSION} > PKGNAMESUFFIX= ${PYTHON_SUFFIX} > @@ -52,8 +52,10 @@ PLIST_SUB= ABI=${ABIFLAGS} \ > XYZDOT=${DISTVERSION} \ > OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554 > > -OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC NLS PYMALLOC > -OPTIONS_DEFAULT= LIBMPDEC PYMALLOC > +OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC LTO NLS PYMALLOC > +OPTIONS_DEFAULT= LIBMPDEC LTO PYMALLOC > +OPTIONS_EXCLUDE_powerpc64= LTO > +OPTIONS_EXCLUDE_riscv64= LTO > OPTIONS_RADIO= HASH > OPTIONS_RADIO_HASH= FNV SIPHASH > OPTIONS_SUB= yes > @@ -75,6 +77,8 @@ IPV6_CONFIGURE_ENABLE= ipv6 > LIBMPDEC_CONFIGURE_ON= --with-system-libmpdec > LIBMPDEC_LIB_DEPENDS= libmpdec.so:math/mpdecimal > > +LTO_CONFIGURE_ON= --with-lto > + > # Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat > # to break in Python 2.7, or preprocessor complaints in Python >= 3.3 > # Upstream Issue: https://bugs.python.org/issue6299 > diff --git a/lang/python38/files/patch-configure b/lang/python38/files/patch-configure > new file mode 100644 > index 000000000000..c78047439605 > --- /dev/null > +++ b/lang/python38/files/patch-configure > @@ -0,0 +1,11 @@ > +--- configure.orig 2022-02-23 19:52:00 UTC > ++++ configure > +@@ -6625,7 +6625,7 @@ fi > + > + if test "$Py_LTO" = 'true' ; then > + case $CC in > +- *clang*) > ++ *clang*|cc) > + > + if test -n "$ac_tool_prefix"; then > + # Extract the first word of "${ac_tool_prefix}llvm-ar", so it can be a program name with args. > diff --git a/lang/python39/Makefile b/lang/python39/Makefile > index 25a7509e4959..8185af11c466 100644 > --- a/lang/python39/Makefile > +++ b/lang/python39/Makefile > @@ -2,6 +2,7 @@ > > PORTNAME= python > DISTVERSION= ${PYTHON_DISTVERSION} > +PORTREVISION= 1 > CATEGORIES= lang python > MASTER_SITES= PYTHON/ftp/python/${DISTVERSION} > PKGNAMESUFFIX= ${PYTHON_SUFFIX} > @@ -52,8 +53,10 @@ PLIST_SUB= ABI=${ABIFLAGS} \ > XYZDOT=${DISTVERSION} \ > OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554 > > -OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC NLS PYMALLOC > -OPTIONS_DEFAULT= LIBMPDEC PYMALLOC > +OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC LTO NLS PYMALLOC > +OPTIONS_DEFAULT= LIBMPDEC LTO PYMALLOC > +OPTIONS_EXCLUDE_powerpc64= LTO > +OPTIONS_EXCLUDE_riscv64= LTO > OPTIONS_RADIO= HASH > OPTIONS_RADIO_HASH= FNV SIPHASH > OPTIONS_SUB= yes > @@ -75,6 +78,8 @@ IPV6_CONFIGURE_ENABLE= ipv6 > LIBMPDEC_CONFIGURE_ON= --with-system-libmpdec > LIBMPDEC_LIB_DEPENDS= libmpdec.so:math/mpdecimal > > +LTO_CONFIGURE_ON= --with-lto > + > # Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat > # to break in Python 2.7, or preprocessor complaints in Python >= 3.3 > # Upstream Issue: https://bugs.python.org/issue6299 > diff --git a/lang/python39/files/patch-configure b/lang/python39/files/patch-configure > new file mode 100644 > index 000000000000..c78047439605 > --- /dev/null > +++ b/lang/python39/files/patch-configure > @@ -0,0 +1,11 @@ > +--- configure.orig 2022-02-23 19:52:00 UTC > ++++ configure > +@@ -6625,7 +6625,7 @@ fi > + > + if test "$Py_LTO" = 'true' ; then > + case $CC in > +- *clang*) > ++ *clang*|cc) > + > + if test -n "$ac_tool_prefix"; then > + # Extract the first word of "${ac_tool_prefix}llvm-ar", so it can be a program name with args.