Commit ee9a93fd authored by Ian Lynagh's avatar Ian Lynagh

Tweak the ghc-pkg finding code

It now understand the ghc-stage[123] names we use in-tree, and it won't
go looking for any old ghc-pkg if it can't find the one that matches
ghc.
parent 0a6f3373
......@@ -907,24 +907,24 @@ fi
# FP_PROG_GHC_PKG
# ----------------
# Try to find a ghc-pkg matching the ghc mentioned in the environment variable
# WithGhc. If the latter is unset or no matching ghc-pkg can be found, try to
# find a plain ghc-pkg. Sets the output variable GhcPkgCmd.
# WithGhc. Sets the output variable GhcPkgCmd.
AC_DEFUN([FP_PROG_GHC_PKG],
[AC_CACHE_CHECK([for ghc-pkg matching $WithGhc], fp_cv_matching_ghc_pkg,
[fp_ghc_pkg_guess=`echo $WithGhc | sed 's,ghc\(@<:@^/\\@:>@*\)$,ghc-pkg\1,'`
if "$fp_ghc_pkg_guess" -l > /dev/null 2>&1; then
fp_cv_matching_ghc_pkg=$fp_ghc_pkg_guess
elif "$fp_ghc_pkg_guess" list > /dev/null 2>&1; then
# from 6.10, ghc-pkg doesn't support the old -l syntax any more
[
# If we are told to use ghc-stage2, then we're using an in-tree
# compiler. In this case, we just want ghc-pkg, not ghc-pkg-stage2,
# so we sed off -stage[0-9]$. However, if we are told to use
# ghc-6.12.1 then we want to use ghc-pkg-6.12.1, so we keep any
# other suffix.
fp_ghc_pkg_guess=`echo $WithGhc | sed -e 's/-stage@<:@0-9@:>@$//' -e 's,ghc\(@<:@^/\\@:>@*\)$,ghc-pkg\1,'`
if "$fp_ghc_pkg_guess" list > /dev/null 2>&1; then
fp_cv_matching_ghc_pkg=$fp_ghc_pkg_guess
else
fp_cv_matching_ghc_pkg=no
AC_MSG_ERROR([Cannot find matching ghc-pkg])
fi])
if test x"$fp_cv_matching_ghc_pkg" = xno; then
AC_PATH_PROG([GhcPkgCmd], [ghc-pkg])
else
GhcPkgCmd=$fp_cv_matching_ghc_pkg
fi])# FP_PROG_GHC_PKG
GhcPkgCmd=$fp_cv_matching_ghc_pkg
AC_SUBST([GhcPkgCmd])
])# FP_PROG_GHC_PKG
# FP_GCC_EXTRA_FLAGS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment