diff options
author | Thomas Miedema <thomasmiedema@gmail.com> | 2015-03-02 11:09:33 -0600 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2015-03-02 11:09:33 -0600 |
commit | 1dfab7a8ace5f09f00f8fb695932b4324e88b822 (patch) | |
tree | d9426a2f8c95ed976f8935183cb2493d622140a3 /aclocal.m4 | |
parent | 6cdccb4656c22aaf809e93f8ce5886153f83096e (diff) | |
download | haskell-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.m4 | 20 |
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 ]) |