From 9377b2d902d10df32596cd28f9814abb1a619262 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Wed, 24 Mar 2010 13:29:07 +0000 Subject: [PATCH] Fix the build for non-GNU-ar --- aclocal.m4 | 1 + configure.ac | 1 + mk/config.mk.in | 1 + rules/build-package-way.mk | 4 ++++ 4 files changed, 7 insertions(+) diff --git a/aclocal.m4 b/aclocal.m4 index 816e1f5..42b8ed5 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -395,6 +395,7 @@ else fp_cv_prog_ar_is_gnu=no fi]) fp_prog_ar_is_gnu=$fp_cv_prog_ar_is_gnu +AC_SUBST([ArIsGNUAr], [`echo $fp_prog_ar_is_gnu | tr 'a-z' 'A-Z'`]) ])# FP_PROG_AR_IS_GNU diff --git a/configure.ac b/configure.ac index 849b185..236c881 100644 --- a/configure.ac +++ b/configure.ac @@ -576,6 +576,7 @@ dnl If you can run configure, you certainly have /bin/sh AC_DEFINE([HAVE_BIN_SH], [1], [Define to 1 if you have /bin/sh.]) dnl ** how to invoke `ar' and `ranlib' +FP_PROG_AR_IS_GNU FP_PROG_AR_NEEDS_RANLIB FP_PROG_AR_SUPPORTS_INPUT diff --git a/mk/config.mk.in b/mk/config.mk.in index a640c3e..db21b14 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -563,6 +563,7 @@ DLLTOOL = inplace/mingw/bin/dlltool.exe AR = @ArCmd@ AR_OPTS = @ArArgs@ ArSupportsInput = @ArSupportsInput@ +ArIsGNUAr = @ArIsGNUAr@ # Yuckage: for ghc/utils/parallel -- todo: nuke this dependency!! BASH = /usr/local/bin/bash diff --git a/rules/build-package-way.mk b/rules/build-package-way.mk index 735527c..d66ed7c 100644 --- a/rules/build-package-way.mk +++ b/rules/build-package-way.mk @@ -81,7 +81,11 @@ ifeq "$$($1_$2_SplitObjs)" "YES" else echo $$($1_$2_$3_ALL_OBJS) `$$($1_$2_$3_MKSTUBOBJS)` >> $$@.contents endif +ifeq "$$(ArIsGNUAr)" "YES" "$$(AR)" $$(AR_OPTS) $$(EXTRA_AR_ARGS) $$@ @$$@.contents +else + "$$(XARGS)" $$(XARGS_OPTS) "$$(AR)" $$(AR_OPTS) $$(EXTRA_AR_ARGS) $$@ < $$@.contents +endif "$$(RM)" $$(RM_OPTS) $$@.contents endif -- 1.7.10.4