efivar: 0.23 -> 0.24

Upgrade efivar from 0.23 to 0.24. Enable full native build at same
time and add patch to fix compile error of "multiple definition of
`efi_set_variable'".

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Kai Kang
2016-08-10 17:49:50 +08:00
committed by Martin Jansa
parent 2ad60db95a
commit 7f3023003c
2 changed files with 31 additions and 9 deletions

View File

@@ -0,0 +1,23 @@
Upstream-Status: Pending
It fails to create .so file when build efivar-native:
| lib.o:(*IND*+0x0): multiple definition of `efi_set_variable'
| lib.o:lib.c:(.text+0xa0): first defined here
Add link option '-z muldefs' to fix it.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
diff --git a/Make.rules b/Make.rules
index d9c0609..874bce0 100644
--- a/Make.rules
+++ b/Make.rules
@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version
$(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \
-Wl,-soname,$@.$(MAJOR_VERSION) \
-Wl,--version-script=$(MAP) \
+ -Wl,-z,muldefs \
-o $@ $^ $(LDLIBS)
%.o : %.c

View File

@@ -5,18 +5,21 @@ HOMEPAGE = "https://github.com/rhinstaller/efivar"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
DEPENDS_class-target = "popt efivar-native"
DEPENDS = "popt"
DEPENDS_append_class-target = " efivar-native"
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
SRCREV = "7367d78281fa3ce390e10c7c9f4608c58e7a6d3d"
SRC_URI = "git://github.com/rhinstaller/efivar.git"
SRCREV = "963cb2e5adc145fe00717f94e382f2973f80e753"
SRC_URI = "git://github.com/rhinstaller/efivar.git \
file://0002-disable-static-build.patch \
"
SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \
file://0002-disable-static-build.patch \
file://0003-efivar-fix-for-cross-compile.patch \
file://0004-fix-unknow-option-for-gold-linker.patch \
"
SRC_URI_append_class-native = " file://fix-compile-failure-with-host-gcc-4.6.patch \
file://allow-multi-definitions-for-native.patch \
"
S = "${WORKDIR}/git"
@@ -28,15 +31,11 @@ do_compile_prepend() {
sed -i -e s:-Werror::g ${S}/gcc.specs
}
do_compile_class-native() {
oe_runmake -C src makeguids
}
do_install() {
oe_runmake install DESTDIR=${D}
}
do_install_class-native() {
do_install_append_class-native() {
install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
}