Skip to content

Commit

Permalink
bpo-38443: Check that the specified universal architectures work (GH-…
Browse files Browse the repository at this point in the history
…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.
(cherry picked from commit 0f20bd9)

Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
  • Loading branch information
miss-islington and ronaldoussoren committed Nov 22, 2020
1 parent 7e9bf4e commit 6e66542
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 0 deletions.
@@ -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.
25 changes: 25 additions & 0 deletions configure
Expand Up @@ -7493,6 +7493,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
Expand Down
7 changes: 7 additions & 0 deletions configure.ac
Expand Up @@ -1931,6 +1931,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
Expand Down

0 comments on commit 6e66542

Please sign in to comment.