From d44f005338012cc7111190122b2ab08a29c0e0e7 Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Thu, 9 May 2013 08:28:28 -0700 Subject: gnu-efi: Add parallel make patch for archives 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 Signed-off-by: Darren Hart --- .../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 (limited to 'common/recipes-bsp') 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 00000000..092bd903 --- /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 +Signed-off-by: Darren Hart +--- +--- + 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 f8015f2e..c672ab7a 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" -- cgit v1.2.3-54-g00ecf