[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/2] Use libtool instead of ar to create static libr
From: |
Christopher Friedt |
Subject: |
[Qemu-devel] [PATCH 1/2] Use libtool instead of ar to create static libraries on Darwin. |
Date: |
Mon, 2 May 2016 20:47:57 -0400 |
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)
+ $(call quiet-command,rm -f $@ && libtool -static -o $@ $^," libtool
$(TARGET_DIR)$@")
+else
$(call quiet-command,rm -f $@ && $(AR) rcs $@ $^," AR
$(TARGET_DIR)$@")
+endif
quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1))