summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNed Deily <nad@python.org>2016-09-06 22:09:20 (GMT)
committerNed Deily <nad@python.org>2016-09-06 22:09:20 (GMT)
commit8482ce4868afe9d77cf312a29b6ccf0ab76dd1b8 (patch)
tree22173a9674e5c653afd979386ddb9b1ff337dd25
parentb84fd04f3954ce90001cfde3847e3bb4863f0220 (diff)
downloadcpython-8482ce4868afe9d77cf312a29b6ccf0ab76dd1b8.zip
cpython-8482ce4868afe9d77cf312a29b6ccf0ab76dd1b8.tar.gz
cpython-8482ce4868afe9d77cf312a29b6ccf0ab76dd1b8.tar.bz2
Issue #21122: Fix LTO builds on OS X.
Patch by Brett Cannon.
-rw-r--r--Misc/NEWS2
-rwxr-xr-xconfigure27
-rw-r--r--configure.ac13
3 files changed, 23 insertions, 19 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 6978028..88fcd98 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -212,6 +212,8 @@ Build
- Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2.
+- Issue #21122: Fix LTO builds on OS X.
+
Windows
-------
diff --git a/configure b/configure
index a7b976a..b4e82c0a 100755
--- a/configure
+++ b/configure
@@ -775,7 +775,6 @@ infodir
docdir
oldincludedir
includedir
-runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -886,7 +885,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1139,15 +1137,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
- -runstatedir | --runstatedir | --runstatedi | --runstated \
- | --runstate | --runstat | --runsta | --runst | --runs \
- | --run | --ru | --r)
- ac_prev=runstatedir ;;
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- | --run=* | --ru=* | --r=*)
- runstatedir=$ac_optarg ;;
-
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1285,7 +1274,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir runstatedir
+ libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1438,7 +1427,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -6484,13 +6472,20 @@ fi
if test "$Py_LTO" = 'true' ; then
case $CC in
*clang*)
- # Any changes made here should be reflected in the GCC+Darwin case below
- LTOFLAGS="-flto"
+ case $ac_sys_system in
+ Darwin*)
+ # Any changes made here should be reflected in the GCC+Darwin case below
+ LTOFLAGS="-flto -Wl,-export_dynamic"
+ ;;
+ *)
+ LTOFLAGS="-flto"
+ ;;
+ esac
;;
*gcc*)
case $ac_sys_system in
Darwin*)
- LTOFLAGS="-flto"
+ LTOFLAGS="-flto -Wl,-export_dynamic"
;;
*)
LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none"
diff --git a/configure.ac b/configure.ac
index b4c7016..1e77c66 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1299,13 +1299,20 @@ fi],
if test "$Py_LTO" = 'true' ; then
case $CC in
*clang*)
- # Any changes made here should be reflected in the GCC+Darwin case below
- LTOFLAGS="-flto"
+ case $ac_sys_system in
+ Darwin*)
+ # Any changes made here should be reflected in the GCC+Darwin case below
+ LTOFLAGS="-flto -Wl,-export_dynamic"
+ ;;
+ *)
+ LTOFLAGS="-flto"
+ ;;
+ esac
;;
*gcc*)
case $ac_sys_system in
Darwin*)
- LTOFLAGS="-flto"
+ LTOFLAGS="-flto -Wl,-export_dynamic"
;;
*)
LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none"