summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-05-17 19:16:47 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-05-19 04:59:39 -0400
commit35bdab1cb97f0be0ebea7cc93b977759f51d976c (patch)
treee29e88e11e74e75006c511c840224fc6dfc35218 /configure.ac
parent02d1633466733f154753753c8d9e94062d334b1a (diff)
downloadhaskell-35bdab1cb97f0be0ebea7cc93b977759f51d976c.tar.gz
configure: Check CC_STAGE0 for --target support
We previously only checked the stage 1/2 compiler for --target support. We got away with this for quite a while but it eventually caught up with us in #21579, where `bytestring`'s new NEON implementation was unbuildable on Darwin due to Rosetta's seemingly random logic for determining which executable image to execute. This lead to a confusing failure to build `bytestring`'s cbits, when `clang` tried to compile NEON builtins while targetting x86-64. Fix this by checking CC_STAGE0 for --target support. Fixes #21579.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac6
1 files changed, 4 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 9f673ba2d8..9bcfae04c6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -667,8 +667,10 @@ LLVMTarget_CPP=` echo "$LlvmTarget"`
AC_SUBST(LLVMTarget_CPP)
dnl ** See whether cc supports --target=<triple> and set
-dnl CONF_CC_OPTS_STAGE[12] accordingly.
-FP_CC_SUPPORTS_TARGET
+dnl CONF_CC_OPTS_STAGE[012] accordingly.
+FP_CC_SUPPORTS_TARGET([$CC_STAGE0], [CONF_CC_OPTS_STAGE0], [CONF_CXX_OPTS_STAGE0], [CONF_GCC_LINKER_OPTS_STAGE0])
+FP_CC_SUPPORTS_TARGET([$CC], [CONF_CC_OPTS_STAGE1], [CONF_CXX_OPTS_STAGE1], [CONF_GCC_LINKER_OPTS_STAGE1])
+FP_CC_SUPPORTS_TARGET([$CC], [CONF_CC_OPTS_STAGE2], [CONF_CXX_OPTS_STAGE2], [CONF_GCC_LINKER_OPTS_STAGE2])
# See rules/distdir-way-opts.mk for details.
# Flags passed to the C compiler