X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=aclocal.m4;h=fe83327fe70fcc1bb78c35f2a92d190b8da717bd;hp=a9bdcea2b0650832604d4a789442cb6c8406b48d;hb=e27a63d87e12d0ad1491ee372e025c65fcfd3d36;hpb=729edce172e627ba75b9fbaba35b596cb7fd4624 diff --git a/aclocal.m4 b/aclocal.m4 index a9bdcea..fe83327 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -399,6 +399,32 @@ AC_SUBST([ArIsGNUAr], [`echo $fp_prog_ar_is_gnu | tr 'a-z' 'A-Z'`]) ])# FP_PROG_AR_IS_GNU +# FP_PROG_AR_SUPPORTS_ATFILE +# ----------------- +# Sets fp_prog_ar_supports_atfile to yes or no, depending on whether +# or not it supports the @file syntax +AC_DEFUN([FP_PROG_AR_SUPPORTS_ATFILE], +[AC_REQUIRE([FP_PROG_AR]) + AC_REQUIRE([FP_PROG_AR_ARGS]) +AC_CACHE_CHECK([whether $fp_prog_ar_raw supports @file], [fp_cv_prog_ar_supports_atfile], +[ +rm -f conftest* +touch conftest.file +echo conftest.file > conftest.atfile +echo conftest.file >> conftest.atfile +"$fp_prog_ar_raw" $fp_prog_ar_args conftest.a @conftest.atfile > /dev/null 2>&1 +fp_prog_ar_supports_atfile_tmp=`"$fp_prog_ar_raw" t conftest.a 2> /dev/null | grep -c conftest.file` +rm -f conftest* +if test "$fp_prog_ar_supports_atfile_tmp" -eq 2 +then + fp_cv_prog_ar_supports_atfile=yes +else + fp_cv_prog_ar_supports_atfile=no +fi]) +fp_prog_ar_supports_atfile=$fp_cv_prog_ar_supports_atfile +AC_SUBST([ArSupportsAtFile], [`echo $fp_prog_ar_supports_atfile | tr 'a-z' 'A-Z'`]) +])# FP_PROG_AR_SUPPORTS_ATFILE + # FP_PROG_AR_ARGS # --------------- # Sets fp_prog_ar_args to the arguments for ar and the output variable ArCmd @@ -881,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