diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-05-17 19:16:47 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-05-19 04:59:39 -0400 |
commit | 35bdab1cb97f0be0ebea7cc93b977759f51d976c (patch) | |
tree | e29e88e11e74e75006c511c840224fc6dfc35218 /configure.ac | |
parent | 02d1633466733f154753753c8d9e94062d334b1a (diff) | |
download | haskell-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.ac | 6 |
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 |