summaryrefslogtreecommitdiff
path: root/aclocal.m4
diff options
context:
space:
mode:
authorThomas Miedema <thomasmiedema@gmail.com>2015-03-02 11:09:33 -0600
committerAustin Seipp <austin@well-typed.com>2015-03-02 11:09:33 -0600
commit1dfab7a8ace5f09f00f8fb695932b4324e88b822 (patch)
treed9426a2f8c95ed976f8935183cb2493d622140a3 /aclocal.m4
parent6cdccb4656c22aaf809e93f8ce5886153f83096e (diff)
downloadhaskell-1dfab7a8ace5f09f00f8fb695932b4324e88b822.tar.gz
Fix detection of llvm-x.x
Summary: Four bug fixes and a little refactoring. * `find -perm \mode` should be `find -perm /mode` (#9697) * `find -regex '$3' should be `find -regex "$3"` (#7661) From `man sh` on my system (Ubuntu 14.04): "Enclosing characters in single quotes preserves the literal meaning of all the characters ..." * LlcCmd and OptCmd should be passed to ghc, using `-pgmlo` and `-pgmlc`, for detection of #9439. * -pgmlo and -pgmlc were undocumented because of an xml tag misplacement. Test Plan: The aclocal.m4 macro has seen about 10 iterations since its inception. Without a testsuite, I can't guarantee this version is bug free either. It's all pretty frustrating. Reviewers: bgamari, austin Reviewed By: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D683 GHC Trac Issues: #9697, #7661, #9439
Diffstat (limited to 'aclocal.m4')
-rw-r--r--aclocal.m420
1 files changed, 15 insertions, 5 deletions
diff --git a/aclocal.m4 b/aclocal.m4
index 73b8890075..a4944c1357 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -2095,21 +2095,31 @@ AC_DEFUN([XCODE_VERSION],[
AC_DEFUN([FIND_LLVM_PROG],[
FP_ARG_WITH_PATH_GNU_PROG_OPTIONAL_NOTARGET([$1], [$2], [$3])
if test "$$1" = ""; then
+ echo -n "checking for $3-x.x... "
save_IFS=$IFS
IFS=":;"
+ if test "$windows" = YES; then
+ PERM=
+ MODE=
+ else
+ # Search for executables.
+ PERM="-perm"
+ MODE="/+x"
+ fi
for p in ${PATH}; do
if test -d "${p}"; then
- if test "$windows" = YES; then
- $1=`${FindCmd} "${p}" -type f -maxdepth 1 -regex '.*/$3-[[0-9]]\.[[0-9]]' -or -type l -maxdepth 1 -regex '.*/$3-[[0-9]]\.[[0-9]]' | ${SortCmd} -n | tail -1`
- else
- $1=`${FindCmd} "${p}" -type f -perm \111 -maxdepth 1 -regex '.*/$3-[[0-9]]\.[[0-9]]' -or -type l -perm \111 -maxdepth 1 -regex '.*/$3-[[0-9]]\.[[0-9]]' | ${SortCmd} -n | tail -1`
- fi
+ $1=`${FindCmd} "${p}" -maxdepth 1 \( -type f -o -type l \) ${PERM} ${MODE} -regex ".*/$3-[[0-9]]\.[[0-9]]" | ${SortCmd} -n | tail -1`
if test -n "$$1"; then
break
fi
fi
done
IFS=$save_IFS
+ if test -n "$$1"; then
+ echo "$$1"
+ else
+ echo "no"
+ fi
fi
])