diff options
Diffstat (limited to 'yocto-poky/meta/recipes-bsp/gummiboot')
-rw-r--r-- | yocto-poky/meta/recipes-bsp/gummiboot/gummiboot/fix-objcopy.patch | 45 | ||||
-rw-r--r-- | yocto-poky/meta/recipes-bsp/gummiboot/gummiboot_git.bb | 34 |
2 files changed, 79 insertions, 0 deletions
diff --git a/yocto-poky/meta/recipes-bsp/gummiboot/gummiboot/fix-objcopy.patch b/yocto-poky/meta/recipes-bsp/gummiboot/gummiboot/fix-objcopy.patch new file mode 100644 index 000000000..49f55930d --- /dev/null +++ b/yocto-poky/meta/recipes-bsp/gummiboot/gummiboot/fix-objcopy.patch @@ -0,0 +1,45 @@ +From 0f7f9e3bb1d0e1b93f3ad8a1d5d7bdd3fbf27494 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Thu, 27 Mar 2014 07:20:33 +0000 +Subject: [PATCH] Makefile.am: use objcopy from the env + +It uses the "objcopy" directly, which is not suitable for cross compile. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + Makefile.am | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +Index: git/Makefile.am +=================================================================== +--- git.orig/Makefile.am ++++ git/Makefile.am +@@ -19,6 +19,8 @@ + ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} + AM_MAKEFLAGS = --no-print-directory + ++OBJCOPY ?= objcopy ++ + gummibootlibdir = $(prefix)/lib/gummiboot + + AM_CPPFLAGS = -include config.h +@@ -148,7 +150,7 @@ $(gummiboot_solib): $(gummiboot_objects) + .DELETE_ON_ERROR: $(gummboot_solib) + + $(gummiboot): $(gummiboot_solib) +- $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \ ++ $(AM_V_GEN) $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \ + -j .dynsym -j .rel -j .rela -j .reloc \ + --target=efi-app-$(ARCH) $< $@ + +@@ -183,7 +185,7 @@ $(stub_solib): $(stub_objects) + .DELETE_ON_ERROR: $(gummboot_solib) + + $(stub): $(stub_solib) +- $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \ ++ $(AM_V_GEN) $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \ + -j .dynsym -j .rel -j .rela -j .reloc \ + --target=efi-app-$(ARCH) $< $@ + diff --git a/yocto-poky/meta/recipes-bsp/gummiboot/gummiboot_git.bb b/yocto-poky/meta/recipes-bsp/gummiboot/gummiboot_git.bb new file mode 100644 index 000000000..91c3db930 --- /dev/null +++ b/yocto-poky/meta/recipes-bsp/gummiboot/gummiboot_git.bb @@ -0,0 +1,34 @@ +SUMMARY = "Gummiboot is a simple UEFI boot manager which executes configured EFI images." +HOMEPAGE = "http://freedesktop.org/wiki/Software/gummiboot" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "gnu-efi util-linux" + +inherit autotools pkgconfig +inherit deploy + +PV = "48+git${SRCPV}" +SRCREV = "2bcd919c681c952eb867ef1bdb458f1bc49c2d55" +SRC_URI = "git://anongit.freedesktop.org/gummiboot \ + file://fix-objcopy.patch \ + " + +# Note: Add COMPATIBLE_HOST here is only because it depends on gnu-efi +# which has set the COMPATIBLE_HOST, the gummiboot itself may work on +# more hosts. +COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--disable-manpages --with-efi-includedir=${STAGING_INCDIR} \ + --with-efi-ldsdir=${STAGING_LIBDIR} \ + --with-efi-libdir=${STAGING_LIBDIR}" + +EXTRA_OEMAKE += "gummibootlibdir=${libdir}/gummiboot" + +do_deploy () { + install ${B}/gummiboot*.efi ${DEPLOYDIR} +} +addtask deploy before do_build after do_compile |