diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index acd33cf22c..ea3ba4efc8 100644 --- a/configure.ac +++ b/configure.ac @@ -483,6 +483,32 @@ AC_SUBST([LdCmd]) dnl ** Which nm to use? dnl -------------------------------------------------------------- FP_ARG_WITH_PATH_GNU_PROG([NM], [nm], [nm]) + +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://ghc.haskell.org/trac/ghc/ticket/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://ghc.haskell.org/trac/ghc/ticket/11744" + echo + echo "Try re-running configure with:" + echo + echo ' ./configure --with-nm=$(xcrun --find nm-classic)' + echo + exit 1 + ;; + *) + AC_MSG_RESULT(no) + ;; + esac +fi + NmCmd="$NM" AC_SUBST([NmCmd]) |