On 2015年10月09日 16:50, Martin Jansa wrote:
There is no gcc-native recipe.

There are 2 options that the old gcc can NOT recognize: '-Wmaybe-uninitialized' and '-std=gnu11'

I think we can drop them and use default value of option '-std=' only for native package.

It needs some tiny fixes for C99 mode:

| guid.h:34:2: error: 'for' loop initial declarations are only allowed in C99 mode

I'll send the V3 pull request if no objection.

Thanks,
Kai



On Fri, Oct 9, 2015 at 9:20 AM, Khem Raj <raj.k...@gmail.com> wrote:

On Oct 8, 2015, at 2:59 AM, Martin Jansa <martin.ja...@gmail.com> wrote:

On Tue, Sep 29, 2015 at 03:04:49PM +0800, kai.k...@windriver.com wrote:
From: Kai Kang <kai.k...@windriver.com>

Upgrade efivar from 0.7 to 0.21.

* update HOMEPAGE and git repo.
* add -native recipe to provide command makeguids
  and add patch for target package to use this native makeguids command
-native version is failing on hosts with older gcc (like Ubuntu 12.04
with 4.6*).

http://errors.yoctoproject.org/Errors/Details/20231/
may be use gcc-native ?

Signed-off-by: Kai Kang <kai.k...@windriver.com>
---
.../efivar/0001-efivar-fix-for-cross-compile.patch | 31
++++++++++++++++++++++
meta-oe/recipes-extended/efivar/efivar_0.21.bb     | 28
+++++++++++++++++++
meta-oe/recipes-extended/efivar/efivar_git.bb      | 18 -------------
3 files changed, 59 insertions(+), 18 deletions(-)
create mode 100644
meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
create mode 100644 meta-oe/recipes-extended/efivar/efivar_0.21.bb
delete mode 100644 meta-oe/recipes-extended/efivar/efivar_git.bb

diff --git
a/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
b/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
new file mode 100644
index 0000000..4bd7d95
--- /dev/null
+++
b/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
@@ -0,0 +1,31 @@
+From 7036e8b0dca61432970789e5397b6fb02b362c2b Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.k...@windriver.com>
+Date: Fri, 25 Sep 2015 18:14:31 +0800
+Subject: [PATCH] efivar: fix for cross compile
+
+It builds and calls elf file makeguids to generate a header file which
+doesn't work for cross compile. Fix it.
+
+Signed-off-by: Kai Kang <kai.k...@windriver.com>
+---
+ src/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 6eac858..ef4eb1d 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -65,8 +65,8 @@ makeguids.o : makeguids.c
+ makeguids : makeguids.o fakeguid.o
+    $(CC) $(cflags) -o $@ $^ -ldl
+
+-include/efivar/efivar-guids.h : makeguids guids.txt
+-   ./makeguids guids.txt guids.bin names.bin guid-symbols.S $@
++include/efivar/efivar-guids.h : guids.txt
++   makeguids guids.txt guids.bin names.bin guid-symbols.S $@
+
+ guidlist.o : guids.S include/efivar/efivar-guids.h
+    $(CC) $(cflags) -c -o guidlist.o guids.S
+--
+2.6.0.rc2.10.gf4d9753
+
diff --git a/meta-oe/recipes-extended/efivar/efivar_0.21.bb
b/meta-oe/recipes-extended/efivar/efivar_0.21.bb
new file mode 100644
index 0000000..2e3b643
--- /dev/null
+++ b/meta-oe/recipes-extended/efivar/efivar_0.21.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Tools to manipulate UEFI variables"
+DESCRIPTION = "efivar provides a simple command line interface to the
UEFI variable facility"
+HOMEPAGE = "https://github.com/rhinstaller/efivar";
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM =
"file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
+
+DEPENDS_class-target = "popt efivar-native"
+
+SRCREV = "aab6c2a64d90b6e5a63661fb5bd6be8d878b0784"
+SRC_URI = "git://github.com/rhinstaller/efivar.git"
+SRC_URI_append_class-target = "
file://0001-efivar-fix-for-cross-compile.patch"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+    oe_runmake install DESTDIR=${D}
+}
+
+do_compile_class-native() {
+    oe_runmake -C src makeguids
+}
+
+do_install_class-native() {
+    install -D ${B}/src/makeguids ${D}${bindir}/makeguids
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/efivar/efivar_git.bb
b/meta-oe/recipes-extended/efivar/efivar_git.bb
deleted file mode 100644
index 18446a0..0000000
--- a/meta-oe/recipes-extended/efivar/efivar_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Tools to manipulate UEFI variables"
-DESCRIPTION = "efivar provides a simple command line interface to the
UEFI variable facility"
-HOMEPAGE = "https://github.com/vathpela/efivar";
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM =
"file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-DEPENDS = "popt"
-
-SRCREV = "c9e1f24a81b5374408bca5616402276e47171cf7"
-PV = "0.7+git${SRCPV}"
-SRC_URI = "git://github.com/vathpela/efivar.git"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-    oe_runmake install DESTDIR=${D}
-}
--
2.6.0.rc2.10.gf4d9753

--
Martin 'JaMa' Jansa     jabber: martin.ja...@gmail.com
--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel




--
Regards,
Neil | Kai Kang

--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to