From e71ee1b6638ea3cb5896805c3ada042f44106081 Mon Sep 17 00:00:00 2001
From: Ian Lynagh <igloo@earth.li>
Date: Sat, 14 Jan 2012 21:35:53 +0000
Subject: [PATCH] Define "ar command" correctly in settings file on Windows

We want to use the inplace ar, rather than whichever ar the
machine that we build on happens to have.
---
 aclocal.m4              | 3 +++
 configure.ac            | 3 +--
 distrib/configure.ac.in | 4 ++--
 settings.in             | 2 +-
 4 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/aclocal.m4 b/aclocal.m4
index 7d33fcdfbb5e..dcb8832a7549 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -349,6 +349,7 @@ AC_DEFUN([FP_SETTINGS],
     then
         SettingsCCompilerCommand='$topdir/../mingw/bin/gcc.exe'
         SettingsCCompilerFlags="$CONF_CC_OPTS_STAGE2 $CONF_GCC_LINKER_OPTS_STAGE2"
+        SettingsArCommand='$topdir/../mingw/bin/ar.exe'
         SettingsPerlCommand='$topdir/../perl/perl.exe'
         SettingsDllWrapCommand='$topdir/../mingw/bin/dllwrap.exe'
         SettingsWindresCommand='$topdir/../mingw/bin/windres.exe'
@@ -356,6 +357,7 @@ AC_DEFUN([FP_SETTINGS],
     else
         SettingsCCompilerCommand="$WhatGccIsCalled"
         SettingsCCompilerFlags="$CONF_CC_OPTS_STAGE2 $CONF_GCC_LINKER_OPTS_STAGE2"
+        SettingsArCommand="$ArCmd"
         SettingsPerlCommand="$PerlCmd"
         SettingsDllWrapCommand="/bin/false"
         SettingsWindresCommand="/bin/false"
@@ -363,6 +365,7 @@ AC_DEFUN([FP_SETTINGS],
     fi
     AC_SUBST(SettingsCCompilerCommand)
     AC_SUBST(SettingsCCompilerFlags)
+    AC_SUBST(SettingsArCommand)
     AC_SUBST(SettingsPerlCommand)
     AC_SUBST(SettingsDllWrapCommand)
     AC_SUBST(SettingsWindresCommand)
diff --git a/configure.ac b/configure.ac
index ca0513887a54..f9ec988561ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -456,8 +456,6 @@ dnl May need to use gcc to find platform details.
 dnl --------------------------------------------------------------
 FPTOOLS_SET_HASKELL_PLATFORM_VARS
 
-FP_SETTINGS
-
 dnl ** figure out how to do context diffs
 FP_PROG_CONTEXT_DIFF
 
@@ -477,6 +475,7 @@ FP_PROG_AR_NEEDS_RANLIB
 dnl ** Check to see whether ln -s works
 AC_PROG_LN_S
 
+FP_SETTINGS
 
 dnl ** Find the path to sed
 AC_PATH_PROGS(SedCmd,gsed sed,sed)
diff --git a/distrib/configure.ac.in b/distrib/configure.ac.in
index 458f5f433f82..0037ff1ce818 100644
--- a/distrib/configure.ac.in
+++ b/distrib/configure.ac.in
@@ -88,8 +88,6 @@ dnl May need to use gcc to find platform details.
 dnl --------------------------------------------------------------
 FPTOOLS_SET_HASKELL_PLATFORM_VARS
 
-FP_SETTINGS
-
 dnl WordSize for settings.in
 AC_CHECK_SIZEOF(void *, 4)
 WordSize=$ac_cv_sizeof_void_p
@@ -100,6 +98,8 @@ dnl ** how to invoke `ar' and `ranlib'
 #
 FP_PROG_AR_NEEDS_RANLIB
 
+FP_SETTINGS
+
 #
 AC_CONFIG_FILES(settings mk/config.mk mk/install.mk)
 AC_OUTPUT
diff --git a/settings.in b/settings.in
index c2c2ec5c3d12..b940a7c0a090 100644
--- a/settings.in
+++ b/settings.in
@@ -1,7 +1,7 @@
 [("GCC extra via C opts", "@GccExtraViaCOpts@"),
  ("C compiler command", "@SettingsCCompilerCommand@"),
  ("C compiler flags", "@SettingsCCompilerFlags@"),
- ("ar command", "@ArCmd@"),
+ ("ar command", "@SettingsArCommand@"),
  ("ar flags", "@ArArgs@"),
  ("ar supports at file", "@ArSupportsAtFile@"),
  ("touch command", "@SettingsTouchCommand@"),
-- 
GitLab