From f48d747dd647111b2e78679eaf572006908a7a5a Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Sun, 25 Jul 2021 16:44:35 -0400 Subject: configure: Move nm search logic to new file --- m4/fp_find_nm.m4 | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 m4/fp_find_nm.m4 (limited to 'm4') 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 +]) + -- cgit v1.2.1