cpython: b77465544f28 (original) (raw)

Mercurial > cpython

changeset 103382:b77465544f28 3.5

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. [#28032]

Gregory P. Smith greg@krypto.org [Google Inc.]
date Thu, 08 Sep 2016 22:38:46 +0000
parents 0967531fc762
children 4a50d87808a6 468961cea562
files README configure configure.ac
diffstat 3 files changed, 16 insertions(+), 21 deletions(-)[+] [-] README 11 configure 13 configure.ac 13

line wrap: on

line diff

--- a/README +++ b/README @@ -48,8 +48,8 @@ You should do a "make clean" at the topl To get an optimized build of Python, "configure --with-optimizations" before you run make. This sets the default make targets up to enable Profile Guided -Optimization (PGO) and Link Time Optimization (LTO) on most platforms. -For more details, see the sections bellow. +Optimization (PGO) and may be used to auto-enable Link Time Optimization (LTO) +on some platforms. For more details, see the sections bellow. Profile Guided Optimization @@ -79,9 +79,10 @@ that is optimized and suitable for distr Link Time Optimization ---------------------- -LTO takes advantages of recent compiler toolchains ability to optimize across -the otherwise arbitrary .o file boundary when building final executables or -shared libraries for additional performance gains. +Enabled via configure's --with-lto flag. LTO takes advantages of recent +compiler toolchains ability to optimize across the otherwise arbitrary .o file +boundary when building final executables or shared libraries for additional +performance gains. What's New

--- a/configure +++ b/configure @@ -1509,7 +1509,7 @@ Optional Packages: compiler --with-suffix=.exe set executable suffix --with-pydebug build with Py_DEBUG defined

@@ -6565,13 +6565,10 @@ else fi if test "$Py_OPT" = 'true' ; then

--- 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