summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2013-05-09 08:28:28 -0700
committerDarren Hart <dvhart@linux.intel.com>2013-05-09 11:09:05 -0700
commit048def7bae8e3e1a11c91f5071f99bdcf8e6dd16 (patch)
tree2205866fe82b8fd642cb07e6dd4abb8247ab7273
parent6147ba0e962c3d7ba28b53b9b930f1bed5833c90 (diff)
downloadmeta-intel-048def7bae8e3e1a11c91f5071f99bdcf8e6dd16.tar.gz
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 <sgw@linux.intel.com> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
-rw-r--r--common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch45
-rw-r--r--common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb5
2 files changed, 48 insertions, 2 deletions
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 @@
1Fix parallel make failure for archives
2
3Upstream-Status: Pending
4
5The lib and gnuefi makefiles were using the lib.a() form which compiles
6and ar's as a pair instead of compiling all and then ar'ing which can
7parallelize better. This was resulting in build failures on larger values
8of -j.
9
10Signed-off-by: Saul Wold <sgw@linux.intel.com>
11Signed-off-by: Darren Hart <dvhart@linux.intel.com>
12---
13---
14 gnuefi/Makefile | 3 ++-
15 lib/Makefile | 3 ++-
16 2 files changed, 4 insertions(+), 2 deletions(-)
17
18Index: gnu-efi-3.0/lib/Makefile
19===================================================================
20--- gnu-efi-3.0.orig/lib/Makefile
21+++ gnu-efi-3.0/lib/Makefile
22@@ -66,7 +66,8 @@ all: libsubdirs libefi.a
23 libsubdirs:
24 for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
25
26-libefi.a: libefi.a($(OBJS))
27+libefi.a: $(OBJS)
28+ $(AR) rv $@ $(OBJS)
29
30 clean:
31 rm -f libefi.a *~ $(OBJS) */*.o
32Index: gnu-efi-3.0/gnuefi/Makefile
33===================================================================
34--- gnu-efi-3.0.orig/gnuefi/Makefile
35+++ gnu-efi-3.0/gnuefi/Makefile
36@@ -51,7 +51,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a
37
38 all: $(TARGETS)
39
40-libgnuefi.a: libgnuefi.a($(OBJS))
41+libgnuefi.a: $(OBJS)
42+ $(AR) rv $@ $(OBJS)
43
44 clean:
45 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"
4LICENSE = "GPLv2+" 4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666" 5LIC_FILES_CHKSUM = "file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666"
6 6
7PR = "r2" 7PR = "r3"
8 8
9SRCREV = "74" 9SRCREV = "74"
10 10
11SRC_URI = "http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0m.orig.tar.gz \ 11SRC_URI = "http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0m.orig.tar.gz \
12 file://cross-compile-support.patch \ 12 file://cross-compile-support.patch \
13 file://parallel-make.patch \ 13 file://parallel-make.patch \
14 file://parallel-make-archives.patch \
14 " 15 "
15SRC_URI[md5sum] = "d0a21125aee56c0c7291ad260e916cb3" 16SRC_URI[md5sum] = "d0a21125aee56c0c7291ad260e916cb3"
16SRC_URI[sha256sum] = "b7fb638f5ec8faa6edebe54beb90957f01ccccf70a2a948d1b58b834c8d7f86d" 17SRC_URI[sha256sum] = "b7fb638f5ec8faa6edebe54beb90957f01ccccf70a2a948d1b58b834c8d7f86d"