diff options
author | Moritz Angermann <moritz.angermann@gmail.com> | 2020-10-09 19:05:53 +0800 |
---|---|---|
committer | Moritz Angermann <moritz.angermann@gmail.com> | 2020-10-09 19:05:53 +0800 |
commit | 13b5bca7d166a188296c95cdd8aca2e1d004e110 (patch) | |
tree | 95ffd69fdd87387f7cfa6232f6e224b3cadb5f6e | |
parent | 046365b34996756242037e8f62c1ac8c6e4687ff (diff) | |
download | haskell-13b5bca7d166a188296c95cdd8aca2e1d004e110.tar.gz |
[configure] fix LLVMTarget when native
uname -p return "arm", hence we can't work with target_cpu,
but need to match on the target triple.
-rw-r--r-- | aclocal.m4 | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/aclocal.m4 b/aclocal.m4 index 001dbd1ac2..115966a3c3 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -118,7 +118,7 @@ AC_DEFUN([FPTOOLS_SET_PLATFORM_VARS], GHC_CONVERT_OS([$target_os], [$TargetArch], [TargetOS]) fi - GHC_LLVM_TARGET([$target_cpu],[$target_vendor],[$target_os],[LlvmTarget]) + GHC_LLVM_TARGET([$target],[$target_cpu],[$target_vendor],[$target_os],[LlvmTarget]) GHC_SELECT_FILE_EXTENSIONS([$host], [exeext_host], [soext_host]) GHC_SELECT_FILE_EXTENSIONS([$target], [exeext_target], [soext_target]) @@ -2063,19 +2063,19 @@ case "$1" in esac ]) -# GHC_LLVM_TARGET(target_cpu, target_vendor, target_os, llvm_target_var) +# GHC_LLVM_TARGET(target, target_cpu, target_vendor, target_os, llvm_target_var) # -------------------------------- # converts the canonicalized target into something llvm can understand AC_DEFUN([GHC_LLVM_TARGET], [ - llvm_target_cpu=$1 - case "$1-$2-$3" in + llvm_target_cpu=$2 + case "$1" in *-freebsd*-gnueabihf) llvm_target_vendor="unknown" llvm_target_os="freebsd-gnueabihf" ;; *-hardfloat-*eabi) llvm_target_vendor="unknown" - llvm_target_os="$3""hf" + llvm_target_os="$4""hf" ;; *-mingw32|*-mingw64|*-msys) llvm_target_vendor="unknown" @@ -2086,25 +2086,25 @@ AC_DEFUN([GHC_LLVM_TARGET], [ # turned into just `-linux` and fail to be found # in the `llvm-targets` file. *-android*|*-gnueabi*|*-musleabi*) - GHC_CONVERT_VENDOR([$2],[llvm_target_vendor]) - llvm_target_os="$3" + GHC_CONVERT_VENDOR([$3],[llvm_target_vendor]) + llvm_target_os="$4" ;; # apple is a bit about their naming scheme for # aarch64; and clang on macOS doesn't know that # aarch64 would be arm64. So for LLVM we'll need # to call it arm64; while we'll refer to it internally # as aarch64 for consistency and sanity. - aarch64-apple-*) + aarch64-apple-*|arm64-apple-*) llvm_target_cpu="arm64" - GHC_CONVERT_VENDOR([$2],[llvm_target_vendor]) - GHC_CONVERT_OS([$3],[$1],[llvm_target_os]) + GHC_CONVERT_VENDOR([$3],[llvm_target_vendor]) + GHC_CONVERT_OS([$4],[$2],[llvm_target_os]) ;; *) - GHC_CONVERT_VENDOR([$2],[llvm_target_vendor]) - GHC_CONVERT_OS([$3],[$1],[llvm_target_os]) + GHC_CONVERT_VENDOR([$3],[llvm_target_vendor]) + GHC_CONVERT_OS([$4],[$2],[llvm_target_os]) ;; esac - $4="$llvm_target_cpu-$llvm_target_vendor-$llvm_target_os" + $5="$llvm_target_cpu-$llvm_target_vendor-$llvm_target_os" ]) |