qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [PATCH 1/2] Use libtool instead of ar to create stati


From: Fam Zheng
Subject: Re: [Qemu-trivial] [PATCH 1/2] Use libtool instead of ar to create static libraries on Darwin.
Date: Tue, 3 May 2016 09:04:35 +0800
User-agent: Mutt/1.6.0 (2016-04-01)

Cc'ing Peter Maydell, who must have better ideas than me on building on Mac.

On Mon, 05/02 20:47, Christopher Friedt wrote:
> 
> Currently, at least on Mac OS X 10.11.4 (El Capitan), Qemu fails to build for 
> a few reasons.
> 
> One of those reasons is that Apple's ld (at least ld64) does not properly 
> process archive files created with ar (even Apple's ar).
> 
> After some RTFM'ing, I came upon this tidbit, which is unfortunate. Luckily, 
> autotools packages are not broken.
> 
> "Libtool with -static is intended to replace ar(5) and ranlib."
> http://www.manpages.info/macosx/libtool.1.html
> 
> In any case, this change takes Apple's recommendations into account and 
> allows Qemu to build on Mac OS X El Capitan.
> 
> Signed-off-by: Christopher Friedt <address@hidden>
> ---
>  rules.mak | 4 ++++
>  1 file changed, 4 insertions(+)
> 

> diff --git a/rules.mak b/rules.mak
> index d1ff311..44421af 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -105,7 +105,11 @@ modules:
>       $(call LINK,$(filter %.o %.a %.mo, $^))
>  
>  %.a:
> +ifeq ($(shell uname),Darwin)

I think you can use "ifdef CONFIG_DARWIN" here.

> +     $(call quiet-command,rm -f $@ && libtool -static -o $@ $^,"  libtool    
> $(TARGET_DIR)$@")

Is libtool always available on Mac OS X? If not, we may need to add the
detection to ./configure.

Fam

> +else
>       $(call quiet-command,rm -f $@ && $(AR) rcs $@ $^,"  AR    
> $(TARGET_DIR)$@")
> +endif
>  
>  quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1))
>  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]