Skip to content

Commit

Permalink
Fix the searching of target AR tool
Browse files Browse the repository at this point in the history
Summary:
Ar was being checked twice prior to D3883 where I removed one of the checks
because the converted path was being overridden after the check because of
the second check for Ar. However the one in configure.ac was a target check
so I'm changing the path check to a target check now.

Test Plan: ./configure

Reviewers: angerman, austin, hvr, bgamari

Reviewed By: bgamari

Subscribers: rwbarton, thomie, erikd

GHC Trac Issues: #14274

Differential Revision: https://phabricator.haskell.org/D4020
  • Loading branch information
Mistuke committed Sep 25, 2017
1 parent 2b2595e commit c839c57
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
16 changes: 12 additions & 4 deletions aclocal.m4
Original file line number Diff line number Diff line change
Expand Up @@ -1071,9 +1071,20 @@ AC_SUBST([LdHasFilelist])
# FP_PROG_AR
# ----------
# Sets fp_prog_ar to a path to ar. Exits if no ar can be found
# The host normalization on Windows breaks autoconf, it no longer
# thinks that target == host so it never checks the unqualified
# tools for Windows. See #14274.
AC_DEFUN([FP_PROG_AR],
[if test -z "$fp_prog_ar"; then
AC_PATH_PROG([fp_prog_ar], [ar])
if test "$HostOS" = "mingw32"
then
AC_PATH_PROG([fp_prog_ar], [ar])
if test -n "$fp_prog_ar"; then
fp_prog_ar=$(cygpath -m $fp_prog_ar)
fi
else
AC_CHECK_TARGET_TOOL([fp_prog_ar], [ar])
fi
fi
if test -z "$fp_prog_ar"; then
AC_MSG_ERROR([cannot find ar in your PATH, no idea how to make a library])
Expand Down Expand Up @@ -1151,9 +1162,6 @@ else
fi
fi])
fp_prog_ar_args=$fp_cv_prog_ar_args
if test "$HostOS" = "mingw32"; then
ArCmd=$(cygpath -m $ArCmd)
fi
AC_SUBST([ArCmd], ["$fp_prog_ar"])
AC_SUBST([ArArgs], ["$fp_prog_ar_args"])
Expand Down
4 changes: 1 addition & 3 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -609,9 +609,7 @@ dnl ** which libtool to use?
dnl --------------------------------------------------------------
# The host normalization on Windows breaks autoconf, it no longer
# thinks that target == host so it never checks the unqualified
# tools for Windows. I don't know why we do this whole normalization thing
# as it just breaks everything.. but for now, just check the unqualified one
# if on Windows.
# tools for Windows. See #14274.
if test "$HostOS" = "mingw32"
then
AC_PATH_PROG([LIBTOOL],[libtool])
Expand Down

0 comments on commit c839c57

Please sign in to comment.