The library makefiles were using the lib.a() form which compiles and
ar's as a pair instead of compiling all and then ar'ing which can
parallelize better.

Signed-off-by: Saul Wold <[email protected]>
Signed-off-by: Darren Hart <[email protected]>
---
 .../gnu-efi/gnu-efi/parallel-make-archives.patch   |   45 ++++++++++++++++++++
 common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb         |    5 +-
 2 files changed, 48 insertions(+), 2 deletions(-)
 create mode 100644 
common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch

diff --git a/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch 
b/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
new file mode 100644
index 0000000..092bd90
--- /dev/null
+++ b/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
@@ -0,0 +1,45 @@
+Fix parallel make failure for archives
+
+Upstream-Status: Pending
+
+The lib and gnuefi makefiles were using the lib.a() form which compiles
+and ar's as a pair instead of compiling all and then ar'ing which can
+parallelize better. This was resulting in build failures on larger values
+of -j.
+
+Signed-off-by: Saul Wold <[email protected]>
+Signed-off-by: Darren Hart <[email protected]>
+---
+---
+ gnuefi/Makefile |    3 ++-
+ lib/Makefile    |    3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+Index: gnu-efi-3.0/lib/Makefile
+===================================================================
+--- gnu-efi-3.0.orig/lib/Makefile
++++ gnu-efi-3.0/lib/Makefile
+@@ -66,7 +66,8 @@ all: libsubdirs libefi.a
+ libsubdirs:
+       for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
+ 
+-libefi.a: libefi.a($(OBJS))
++libefi.a: $(OBJS)
++      $(AR) rv $@ $(OBJS)
+ 
+ clean:
+       rm -f libefi.a *~ $(OBJS) */*.o
+Index: gnu-efi-3.0/gnuefi/Makefile
+===================================================================
+--- gnu-efi-3.0.orig/gnuefi/Makefile
++++ gnu-efi-3.0/gnuefi/Makefile
+@@ -51,7 +51,8 @@ TARGETS      = crt0-efi-$(ARCH).o libgnuefi.a
+ 
+ all:  $(TARGETS)
+ 
+-libgnuefi.a: libgnuefi.a($(OBJS))
++libgnuefi.a: $(OBJS)
++      $(AR) rv $@ $(OBJS)
+ 
+ clean:
+       rm -f $(TARGETS) *~ *.o $(OBJS)
diff --git a/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb 
b/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb
index f8015f2..c672ab7 100644
--- a/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb
+++ b/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb
@@ -4,13 +4,14 @@ SECTION = "devel"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = 
"file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666"
 
-PR = "r2"
+PR = "r3"
 
 SRCREV = "74"
 
 SRC_URI = "http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0m.orig.tar.gz \
            file://cross-compile-support.patch \
-          file://parallel-make.patch \
+           file://parallel-make.patch \
+           file://parallel-make-archives.patch \
           "
 SRC_URI[md5sum] = "d0a21125aee56c0c7291ad260e916cb3"
 SRC_URI[sha256sum] = 
"b7fb638f5ec8faa6edebe54beb90957f01ccccf70a2a948d1b58b834c8d7f86d"
-- 
1.7.5.4

_______________________________________________
meta-intel mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-intel

Reply via email to