diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2021-10-23 04:22:10 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-10-31 09:05:16 -0400 |
commit | f5471c0baaa5c05488888f6d51485031e621a90b (patch) | |
tree | 0ef66802e4a14e46e0b8e57c04c4d3eb073eca00 /configure.ac | |
parent | e4095c0c85b9c9f70f3c3d665370916e8fd4f616 (diff) | |
download | haskell-f5471c0baaa5c05488888f6d51485031e621a90b.tar.gz |
Modularize autoconf platform detection
This will allow better reuse of it, such as in the upcoming RTS
configure script.
Progress towards #17191
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index 17d87315f5..7c0f80cf68 100644 --- a/configure.ac +++ b/configure.ac @@ -265,7 +265,7 @@ AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_CANONICAL_TARGET -FPTOOLS_SET_PLATFORM_VARS +FPTOOLS_SET_PLATFORMS_VARS FP_PROG_SH @@ -374,7 +374,7 @@ case "$target" in esac AC_SUBST(TargetHasRTSLinker) -# Requires FPTOOLS_SET_PLATFORM_VARS to be run first. +# Requires FPTOOLS_SET_PLATFORMS_VARS to be run first. FP_FIND_ROOT @@ -806,6 +806,11 @@ FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE1],[CONF_GCC_LINKER_OPTS_STAG FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE2],[CONF_GCC_LINKER_OPTS_STAGE2],[CONF_LD_LINKER_OPTS_STAGE2],[CONF_CPP_OPTS_STAGE2]) # Stage 3 won't be supported by cross-compilation +GHC_LLVM_TARGET_SET_VAR +# we intend to pass trough --targets to llvm as is. +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 @@ -835,7 +840,24 @@ AC_SUBST(CONF_HC_OPTS_STAGE2) dnl ** Set up the variables for the platform in the settings file. dnl May need to use gcc to find platform details. dnl -------------------------------------------------------------- -FPTOOLS_SET_HASKELL_PLATFORM_VARS +FPTOOLS_SET_HASKELL_PLATFORM_VARS([Build]) + +FPTOOLS_SET_HASKELL_PLATFORM_VARS([Host]) +AC_SUBST(HaskellHostArch) +AC_SUBST(HaskellHostOs) + +FPTOOLS_SET_HASKELL_PLATFORM_VARS([Target]) +AC_SUBST(HaskellTargetArch) +AC_SUBST(HaskellTargetOs) + +GHC_SUBSECTIONS_VIA_SYMBOLS +AC_SUBST(TargetHasSubsectionsViaSymbols) + +GHC_IDENT_DIRECTIVE +AC_SUBST(TargetHasIdentDirective) + +GHC_GNU_NONEXEC_STACK +AC_SUBST(TargetHasGnuNonexecStack) dnl ** figure out how to do context diffs FP_PROG_CONTEXT_DIFF |