summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorGregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) <greg@krypto.org>2016-09-08 22:38:46 +0000
committerGregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) <greg@krypto.org>2016-09-08 22:38:46 +0000
commit14c7f71150c94ca35ca913b15c3d0cd236691ed6 (patch)
treec536b17e7cba0dcf051e152f9e30a796e4fca9ab /configure.ac
parent262b6793e04993cb88847a3fb8dab22848cf6647 (diff)
downloadcpython-git-14c7f71150c94ca35ca913b15c3d0cd236691ed6.tar.gz
issue28032: never imply --with-lto as part of --with-optimizations.
Too many build tool chains do not properly support it, including building and linking an executable fine that simply segfaults when you try to run it (such as debian jessie 8.5's gcc 4.9). On others where it does appear to build (ubuntu 16.04's gcc 5.4) there are still test_distutils and test_gdb failures to deal with. We're not going to spend time attempting to maintain a complicated white list of what does and doesn't work in our configure.ac file.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac13
1 files changed, 5 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index c2aa8ae953..36758d46dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1235,7 +1235,7 @@ AC_SUBST(DEF_MAKE_ALL_RULE)
AC_SUBST(DEF_MAKE_RULE)
Py_OPT='false'
AC_MSG_CHECKING(for --with-optimizations)
-AC_ARG_WITH(optimizations, AS_HELP_STRING([--with-optimizations], [Enable all optimizations when available (LTO, PGO, etc). Disabled by default.]),
+AC_ARG_WITH(optimizations, AS_HELP_STRING([--with-optimizations], [Enable expensive optimizations (PGO, maybe LTO, etc). Disabled by default.]),
[
if test "$withval" != no
then
@@ -1247,13 +1247,10 @@ else
fi],
[AC_MSG_RESULT(no)])
if test "$Py_OPT" = 'true' ; then
- Py_LTO='true'
- case $ac_sys_system in
- Darwin*)
- # At least on macOS El Capitan, LTO does not work with PGO.
- Py_LTO='false'
- ;;
- esac
+ # Intentionally not forcing Py_LTO='true' here. Too many toolchains do not
+ # compile working code using it and both test_distutils and test_gdb are
+ # broken when you do managed to get a toolchain that works with it. People
+ # who want LTO need to use --with-lto themselves.
DEF_MAKE_ALL_RULE="profile-opt"
REQUIRE_PGO="yes"
DEF_MAKE_RULE="build_all"