diff options
author | Ben Gamari <ben@smart-cactus.org> | 2021-07-25 16:44:35 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-09-23 16:00:17 -0400 |
commit | f48d747dd647111b2e78679eaf572006908a7a5a (patch) | |
tree | 3e3d611d32cd23422890b05c3d96936eea91f5c6 /m4 | |
parent | be11120f56ebe7fa28bc362056733b35ae932e1e (diff) | |
download | haskell-f48d747dd647111b2e78679eaf572006908a7a5a.tar.gz |
configure: Move nm search logic to new file
Diffstat (limited to 'm4')
-rw-r--r-- | m4/fp_find_nm.m4 | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/m4/fp_find_nm.m4 b/m4/fp_find_nm.m4 new file mode 100644 index 0000000000..f3a75440eb --- /dev/null +++ b/m4/fp_find_nm.m4 @@ -0,0 +1,40 @@ +# FP_FIND_NM +# --------------------- +# Find nm and verify that it works. +AC_DEFUN([FP_FIND_NM], +[ + if test "$HostOS" != "mingw32"; then + AC_CHECK_TARGET_TOOL([NM], [nm]) + if test "$NM" = ":"; then + AC_MSG_ERROR([cannot find nm in your PATH]) + fi + fi + NmCmd="$NM" + AC_SUBST([NmCmd]) + + if test "$TargetOS_CPP" = "darwin" + then + AC_MSG_CHECKING(whether nm program is broken) + # Some versions of Xcode ship a broken version of `nm`. Detect and work + # around this issue. See : https://gitlab.haskell.org/ghc/ghc/issues/11744 + nmver=$(${NM} --version | grep version | sed 's/ //g') + case "$nmver" in + LLVMversion7.3.0|LLVMversion7.3.1) + AC_MSG_RESULT(yes) + echo "The detected nm program is broken." + echo + echo "See: https://gitlab.haskell.org/ghc/ghc/issues/11744" + echo + echo "Try re-running configure with:" + echo + echo ' NM=$(xcrun --find nm-classic) ./configure' + echo + exit 1 + ;; + *) + AC_MSG_RESULT(no) + ;; + esac + fi +]) + |