[Python-checkins] bpo-35351: Pass link time optimization flags to CFLAGS_NODIST (GH-10797)

Miss Islington (bot) webhook-mailer at python.org
Sun Dec 9 03:35:16 EST 2018


https://github.com/python/cpython/commit/f2d2cb12f2d3bd68a13c4098311e725f776768ad
commit: f2d2cb12f2d3bd68a13c4098311e725f776768ad
branch: 3.6
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2018-12-09T00:35:13-08:00
summary:

bpo-35351: Pass link time optimization flags to CFLAGS_NODIST (GH-10797)


When using link time optimizations, the -flto flag is passed to
BASECFLAGS, which makes it propagate to distutils. Those flags
should be reserved for the interpreter and the stdlib extension
modules only, thus moving those flags to CFLAGS_NODIST.
(cherry picked from commit f92c7aa1ae81efa475b5aecf66e4711ef0f52c4c)

Co-authored-by: stratakis <cstratak at redhat.com>

files:
A Misc/NEWS.d/next/Build/2018-12-04-15-33-28.bpo-35351.ZhhBfT.rst
M configure
M configure.ac

diff --git a/Misc/NEWS.d/next/Build/2018-12-04-15-33-28.bpo-35351.ZhhBfT.rst b/Misc/NEWS.d/next/Build/2018-12-04-15-33-28.bpo-35351.ZhhBfT.rst
new file mode 100644
index 000000000000..ee6c870b060f
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2018-12-04-15-33-28.bpo-35351.ZhhBfT.rst
@@ -0,0 +1,2 @@
+When building Python with clang and LTO, LTO flags are no longer passed into
+CFLAGS to build third-party C extensions through distutils.
diff --git a/configure b/configure
index 5a494d987346..8cd730d219e3 100755
--- a/configure
+++ b/configure
@@ -6726,7 +6726,7 @@ $as_echo "$as_me: llvm-ar found via xcrun: ${LLVM_AR}" >&6;}
       LTOFLAGS="$LTOFLAGS -g"
   fi
 
-  BASECFLAGS="$BASECFLAGS $LTOFLAGS"
+  CFLAGS_NODIST="$CFLAGS_NODIST $LTOFLAGS"
   LDFLAGS="$LDFLAGS $LTOFLAGS"
 fi
 
diff --git a/configure.ac b/configure.ac
index 40ecb7d93d8c..bb14a87e5463 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1400,7 +1400,7 @@ if test "$Py_LTO" = 'true' ; then
       LTOFLAGS="$LTOFLAGS -g"
   fi
 
-  BASECFLAGS="$BASECFLAGS $LTOFLAGS"
+  CFLAGS_NODIST="$CFLAGS_NODIST $LTOFLAGS"
   LDFLAGS="$LDFLAGS $LTOFLAGS"
 fi
 



More information about the Python-checkins mailing list