diff options
author | Ned Deily <nad@python.org> | 2021-05-25 03:00:04 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-25 03:00:04 (GMT) |
commit | 59acfd4a09df1c141dac7845eed008af8970fce7 (patch) | |
tree | c77f69c62077c90815dc4a473f148e38b4d7d654 | |
parent | 2f3a87856c7033227577b9ed0c77ed75311430b7 (diff) | |
download | cpython-59acfd4a09df1c141dac7845eed008af8970fce7.zip cpython-59acfd4a09df1c141dac7845eed008af8970fce7.tar.gz cpython-59acfd4a09df1c141dac7845eed008af8970fce7.tar.bz2 |
bpo-43109: Fix --with-lto configure option on macOS (GH-26341)
Allow --with-lto configure option to work with Apple-supplied Xcode or
Command Line Tools which do not provide llvm-ar.
-rw-r--r-- | Misc/NEWS.d/next/macOS/2021-05-24-21-15-41.bpo-43109.npKJ9c.rst | 2 | ||||
-rwxr-xr-x | configure | 9 | ||||
-rw-r--r-- | configure.ac | 9 |
3 files changed, 14 insertions, 6 deletions
diff --git a/Misc/NEWS.d/next/macOS/2021-05-24-21-15-41.bpo-43109.npKJ9c.rst b/Misc/NEWS.d/next/macOS/2021-05-24-21-15-41.bpo-43109.npKJ9c.rst new file mode 100644 index 0000000..bb4d24f --- /dev/null +++ b/Misc/NEWS.d/next/macOS/2021-05-24-21-15-41.bpo-43109.npKJ9c.rst @@ -0,0 +1,2 @@ +Allow --with-lto configure option to work with Apple-supplied Xcode or +Command Line Tools. @@ -6711,10 +6711,11 @@ fi fi if test "$ac_sys_system" = "Darwin" -a "${LLVM_AR_FOUND}" = "not-found" then - found_llvm_ar=`/usr/bin/xcrun -find llvm-ar 2>/dev/null` + # The Apple-supplied ar in Xcode or the Command Line Tools is apparently sufficient + found_llvm_ar=`/usr/bin/xcrun -find ar 2>/dev/null` if test -n "${found_llvm_ar}" then - LLVM_AR='/usr/bin/xcrun llvm-ar' + LLVM_AR='/usr/bin/xcrun ar' LLVM_AR_FOUND=found { $as_echo "$as_me:${as_lineno-$LINENO}: llvm-ar found via xcrun: ${LLVM_AR}" >&5 $as_echo "$as_me: llvm-ar found via xcrun: ${LLVM_AR}" >&6;} @@ -6732,6 +6733,7 @@ $as_echo "$as_me: llvm-ar found via xcrun: ${LLVM_AR}" >&6;} Darwin*) # Any changes made here should be reflected in the GCC+Darwin case below LTOFLAGS="-flto -Wl,-export_dynamic" + LTOCFLAGS="-flto" ;; *) LTOFLAGS="-flto" @@ -6742,6 +6744,7 @@ $as_echo "$as_me: llvm-ar found via xcrun: ${LLVM_AR}" >&6;} case $ac_sys_system in Darwin*) LTOFLAGS="-flto -Wl,-export_dynamic" + LTOCFLAGS="-flto" ;; *) LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none" @@ -6757,7 +6760,7 @@ $as_echo "$as_me: llvm-ar found via xcrun: ${LLVM_AR}" >&6;} LTOFLAGS="$LTOFLAGS -g" fi - CFLAGS_NODIST="$CFLAGS_NODIST $LTOFLAGS" + CFLAGS_NODIST="$CFLAGS_NODIST ${LTOCFLAGS-$LTOFLAGS}" LDFLAGS_NODIST="$LDFLAGS_NODIST $LTOFLAGS" fi diff --git a/configure.ac b/configure.ac index 553f8ad..2f792aa 100644 --- a/configure.ac +++ b/configure.ac @@ -1385,10 +1385,11 @@ if test "$Py_LTO" = 'true' ; then fi if test "$ac_sys_system" = "Darwin" -a "${LLVM_AR_FOUND}" = "not-found" then - found_llvm_ar=`/usr/bin/xcrun -find llvm-ar 2>/dev/null` + # The Apple-supplied ar in Xcode or the Command Line Tools is apparently sufficient + found_llvm_ar=`/usr/bin/xcrun -find ar 2>/dev/null` if test -n "${found_llvm_ar}" then - LLVM_AR='/usr/bin/xcrun llvm-ar' + LLVM_AR='/usr/bin/xcrun ar' LLVM_AR_FOUND=found AC_MSG_NOTICE([llvm-ar found via xcrun: ${LLVM_AR}]) fi @@ -1405,6 +1406,7 @@ if test "$Py_LTO" = 'true' ; then Darwin*) # Any changes made here should be reflected in the GCC+Darwin case below LTOFLAGS="-flto -Wl,-export_dynamic" + LTOCFLAGS="-flto" ;; *) LTOFLAGS="-flto" @@ -1415,6 +1417,7 @@ if test "$Py_LTO" = 'true' ; then case $ac_sys_system in Darwin*) LTOFLAGS="-flto -Wl,-export_dynamic" + LTOCFLAGS="-flto" ;; *) LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none" @@ -1430,7 +1433,7 @@ if test "$Py_LTO" = 'true' ; then LTOFLAGS="$LTOFLAGS -g" fi - CFLAGS_NODIST="$CFLAGS_NODIST $LTOFLAGS" + CFLAGS_NODIST="$CFLAGS_NODIST ${LTOCFLAGS-$LTOFLAGS}" LDFLAGS_NODIST="$LDFLAGS_NODIST $LTOFLAGS" fi |