summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonald Oussoren <ronaldoussoren@mac.com>2020-11-22 01:13:11 (GMT)
committerGitHub <noreply@github.com>2020-11-22 01:13:11 (GMT)
commit0f20bd9042c9b7fce20c3b9511cd0820b30094c3 (patch)
tree8c931cb6a71fb4416a0e502d718a44c5742b0d61
parent68f68fa423739802fce37589ee77683c42ddb933 (diff)
downloadcpython-0f20bd9042c9b7fce20c3b9511cd0820b30094c3.zip
cpython-0f20bd9042c9b7fce20c3b9511cd0820b30094c3.tar.gz
cpython-0f20bd9042c9b7fce20c3b9511cd0820b30094c3.tar.bz2
bpo-38443: Check that the specified universal architectures work (GH-22910)
As [bpo-38443]() says the error message from configure when specifying --enable-universalsdk with a set of architectures that is not supported by the compiler is not very helpful. This PR explicitly checks if the compiler works and bails out if it doesn't.
-rw-r--r--Misc/NEWS.d/next/macOS/2020-10-23-10-26-53.bpo-38443.vu64tl.rst2
-rwxr-xr-xconfigure25
-rw-r--r--configure.ac7
3 files changed, 34 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/macOS/2020-10-23-10-26-53.bpo-38443.vu64tl.rst b/Misc/NEWS.d/next/macOS/2020-10-23-10-26-53.bpo-38443.vu64tl.rst
new file mode 100644
index 0000000..008c972
--- /dev/null
+++ b/Misc/NEWS.d/next/macOS/2020-10-23-10-26-53.bpo-38443.vu64tl.rst
@@ -0,0 +1,2 @@
+The ``--enable-universalsdk`` and ``--with-universal-archs`` options for the
+configure script now check that the specified architectures can be used.
diff --git a/configure b/configure
index e665d13..9ee750b 100755
--- a/configure
+++ b/configure
@@ -7611,6 +7611,31 @@ $as_echo_n "checking which MACOSX_DEPLOYMENT_TARGET to use... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MACOSX_DEPLOYMENT_TARGET" >&5
$as_echo "$MACOSX_DEPLOYMENT_TARGET" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if specified universal architectures work" >&5
+$as_echo_n "checking if specified universal architectures work... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+printf("%d", 42);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ as_fn_error $? "check config.log and use the '--with-universal-archs' option" "$LINENO" 5
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
# end of Darwin* tests
;;
esac
diff --git a/configure.ac b/configure.ac
index 668715c..7f7dfa5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1978,6 +1978,13 @@ yes)
EXPORT_MACOSX_DEPLOYMENT_TARGET=''
AC_MSG_RESULT($MACOSX_DEPLOYMENT_TARGET)
+ AC_MSG_CHECKING(if specified universal architectures work)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[printf("%d", 42);]])],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ AC_MSG_ERROR(check config.log and use the '--with-universal-archs' option)
+ ])
+
# end of Darwin* tests
;;
esac