diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/recipes-bsp/efilinux/efilinux_1.0.bb | 28 | ||||
-rw-r--r-- | common/recipes-bsp/gnu-efi/gnu-efi/cross-compile-support.patch | 31 | ||||
-rw-r--r-- | common/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch | 22 | ||||
-rw-r--r-- | common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb | 34 |
4 files changed, 115 insertions, 0 deletions
diff --git a/common/recipes-bsp/efilinux/efilinux_1.0.bb b/common/recipes-bsp/efilinux/efilinux_1.0.bb new file mode 100644 index 00000000..2a7bf6bf --- /dev/null +++ b/common/recipes-bsp/efilinux/efilinux_1.0.bb | |||
@@ -0,0 +1,28 @@ | |||
1 | DESCRIPTION = "A UEFI OS loader" | ||
2 | LICENSE = "efilinux" | ||
3 | LIC_FILES_CHKSUM = "file://efilinux.h;beginline=5;endline=31;md5=2316abda893ef24e6cd55cef33aa0edd" | ||
4 | |||
5 | DEPENDS = "gnu-efi" | ||
6 | |||
7 | inherit deploy | ||
8 | |||
9 | SRCREV = "75b62111f83dab433e901c1a7b0f05e058aa29de" | ||
10 | PV = "1.0+git${SRCPV}" | ||
11 | PR = "r0" | ||
12 | |||
13 | SRC_URI = "git://git.kernel.org/pub/scm/boot/efilinux/efilinux.git" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)' | ||
18 | |||
19 | EXTRA_OEMAKE = "INCDIR=${STAGING_INCDIR} LIBDIR=${STAGING_LIBDIR}" | ||
20 | |||
21 | # syslinux uses $LD for linking, strip `-Wl,' so it can work | ||
22 | export LDFLAGS = "`echo $LDFLAGS | sed 's/-Wl,//g'`" | ||
23 | |||
24 | do_deploy () { | ||
25 | install ${S}/efilinux.efi ${DEPLOYDIR}/efilinux.efi | ||
26 | } | ||
27 | addtask deploy before do_build after do_compile | ||
28 | |||
diff --git a/common/recipes-bsp/gnu-efi/gnu-efi/cross-compile-support.patch b/common/recipes-bsp/gnu-efi/gnu-efi/cross-compile-support.patch new file mode 100644 index 00000000..221f80ed --- /dev/null +++ b/common/recipes-bsp/gnu-efi/gnu-efi/cross-compile-support.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | Add cross compile support | ||
2 | |||
3 | Upstream-Status: Submitted [Maintainer directly] | ||
4 | |||
5 | All the user to specify the build variables in the environment. | ||
6 | |||
7 | Signed-off-by: Darren Hart <dvhart@Linux.intel.com> | ||
8 | |||
9 | Index: gnu-efi-3.0/Make.defaults | ||
10 | =================================================================== | ||
11 | --- gnu-efi-3.0.orig/Make.defaults | ||
12 | +++ gnu-efi-3.0/Make.defaults | ||
13 | @@ -54,12 +55,12 @@ LDFLAGS = -nostdlib | ||
14 | INSTALL = install | ||
15 | prefix = /usr/bin/ | ||
16 | |||
17 | -CC = $(prefix)gcc | ||
18 | -AS = $(prefix)as | ||
19 | -LD = $(prefix)ld | ||
20 | -AR = $(prefix)ar | ||
21 | -RANLIB = $(prefix)ranlib | ||
22 | -OBJCOPY = $(prefix)objcopy | ||
23 | +CC := $(prefix)gcc | ||
24 | +AS := $(prefix)as | ||
25 | +LD := $(prefix)ld | ||
26 | +AR := $(prefix)ar | ||
27 | +RANLIB := $(prefix)ranlib | ||
28 | +OBJCOPY := $(prefix)objcopy | ||
29 | |||
30 | ifeq ($(ARCH),ia64) | ||
31 | CFLAGS += -mfixed-range=f32-f127 | ||
diff --git a/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch b/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch new file mode 100644 index 00000000..27c94e8a --- /dev/null +++ b/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | Fix parallel make failure | ||
2 | |||
3 | Upstream-Status: Submitted [Maintainer directly] | ||
4 | |||
5 | Add a missing dependency which resulted in a race leading to failure | ||
6 | on larger values of -j. | ||
7 | |||
8 | Signed-off-by: Darren Hart <dvhart@linux.intel.com> | ||
9 | |||
10 | Index: gnu-efi-3.0/Makefile | ||
11 | =================================================================== | ||
12 | --- gnu-efi-3.0.orig/Makefile | ||
13 | +++ gnu-efi-3.0/Makefile | ||
14 | @@ -42,6 +42,8 @@ include $(SRCDIR)/Make.defaults | ||
15 | |||
16 | SUBDIRS = lib gnuefi inc apps | ||
17 | |||
18 | +gnuefi: lib | ||
19 | + | ||
20 | all: check_gcc $(SUBDIRS) | ||
21 | |||
22 | $(SUBDIRS): | ||
diff --git a/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb b/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb new file mode 100644 index 00000000..252d49a1 --- /dev/null +++ b/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb | |||
@@ -0,0 +1,34 @@ | |||
1 | SUMMARY = "Libraries for producing EFI binaries" | ||
2 | HOMEPAGE = "http://sourceforge.net/projects/gnu-efi/" | ||
3 | SECTION = "devel" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666" | ||
6 | |||
7 | PR = "r2" | ||
8 | |||
9 | SRCREV = "74" | ||
10 | |||
11 | SRC_URI = "http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0m.orig.tar.gz \ | ||
12 | file://cross-compile-support.patch \ | ||
13 | file://parallel-make.patch \ | ||
14 | " | ||
15 | SRC_URI[md5sum] = "d0a21125aee56c0c7291ad260e916cb3" | ||
16 | |||
17 | S = "${WORKDIR}/gnu-efi-3.0" | ||
18 | |||
19 | def gnu_efi_arch(d): | ||
20 | import re | ||
21 | tarch = d.getVar("TARGET_ARCH", True) | ||
22 | if re.match("i[3456789]86", tarch): | ||
23 | return "ia32" | ||
24 | return tarch | ||
25 | |||
26 | EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \ | ||
27 | 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' \ | ||
28 | " | ||
29 | |||
30 | do_install() { | ||
31 | oe_runmake install INSTALLROOT="${D}${prefix}" | ||
32 | } | ||
33 | |||
34 | FILES_${PN} += "${libdir}/*.lds" | ||