summaryrefslogtreecommitdiff
path: root/yocto-poky/meta/recipes-devtools/mkelfimage
diff options
context:
space:
mode:
Diffstat (limited to 'yocto-poky/meta/recipes-devtools/mkelfimage')
-rw-r--r--yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch71
-rw-r--r--yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/fix-makefile-to-find-libz.patch30
-rw-r--r--yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb35
3 files changed, 136 insertions, 0 deletions
diff --git a/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch b/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch
new file mode 100644
index 000000000..769270972
--- /dev/null
+++ b/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch
@@ -0,0 +1,71 @@
+make the tool to be cross compilable.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: mkelfImage/configure.ac
+===================================================================
+--- mkelfImage.orig/configure.ac 2012-07-14 14:04:48.964898667 -0700
++++ mkelfImage/configure.ac 2012-07-14 14:10:47.800916083 -0700
+@@ -70,6 +70,9 @@
+ AC_MSG_ERROR([cc not found])
+ fi
+ eval "${with_default}_CC='$CC'"
++ if test "x$HOST_CC" = 'x'; then
++ AC_CHECK_PROG([HOST_CC], [$CC], [$CC], [gcc], [$PATH])
++ fi
+ AC_PROG_CPP
+ if test "$CPP" = no; then
+ AC_MSG_ERROR([cpp not found])
+@@ -172,7 +175,6 @@
+
+ dnl ---Output variables...
+
+-HOST_CC=$CC
+ HOST_CFLAGS="$HOST_CFLAGS -O2 -Wall \$(HOST_CPPFLAGS)"
+
+ dnl TODO: figure out how to set these appropriately for compilers other than gcc
+Index: mkelfImage/linux-i386/Makefile
+===================================================================
+--- mkelfImage.orig/linux-i386/Makefile 2012-07-14 14:04:48.964898667 -0700
++++ mkelfImage/linux-i386/Makefile 2012-07-14 14:04:49.032898671 -0700
+@@ -4,7 +4,7 @@
+
+ $(LI386_OBJ)/mkelf-linux-i386.o: $(LI386_DIR)/mkelf-linux-i386.c $(LI386_DIR)/convert.bin.c $(LI386_DEP)
+ $(MKDIR) -p $(@D)
+- $(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@
++ $(CC) $(HOST_CFLAGS) -c -g $< -o $@
+
+
+ ifdef I386_CC
+Index: mkelfImage/linux-ia64/Makefile
+===================================================================
+--- mkelfImage.orig/linux-ia64/Makefile 2012-07-14 14:04:48.964898667 -0700
++++ mkelfImage/linux-ia64/Makefile 2012-07-14 14:04:49.032898671 -0700
+@@ -4,7 +4,7 @@
+
+ $(LIA64_OBJ)/mkelf-linux-ia64.o: $(LIA64_DIR)/mkelf-linux-ia64.c $(LIA64_DIR)/convert.bin.c $(LIA64_DEP)
+ $(MKDIR) -p $(@D)
+- $(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@
++ $(CC) $(HOST_CFLAGS) -c -g $< -o $@
+
+ ifdef IA64_CC
+
+Index: mkelfImage/main/Makefile
+===================================================================
+--- mkelfImage.orig/main/Makefile 2012-07-14 14:04:48.964898667 -0700
++++ mkelfImage/main/Makefile 2012-07-14 14:04:49.032898671 -0700
+@@ -4,11 +4,11 @@
+
+ $(OBJDIR)/sbin/mkelfImage: $(MKELF_OBJS) $(DEPS)
+ $(MKDIR) -p $(@D)
+- $(HOST_CC) $(HOST_CFLAGS) $(MKELF_OBJS) -o $@ $(LIBS)
++ $(CC) $(HOST_CFLAGS) $(MKELF_OBJS) -o $@ $(LIBS)
+
+ $(OBJDIR)/main/mkelfImage.o: main/mkelfImage.c include/mkelfImage.h $(DEPS)
+ $(MKDIR) -p $(@D)
+- $(HOST_CC) $(HOST_CFLAGS) -c $< -o $@
++ $(CC) $(HOST_CFLAGS) -c $< -o $@
+
+ $(OBJDIR)/man/man8/mkelfImage.8: main/mkelfImage.man
+ $(MKDIR) -p $(@D)
diff --git a/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/fix-makefile-to-find-libz.patch b/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/fix-makefile-to-find-libz.patch
new file mode 100644
index 000000000..756a65cd9
--- /dev/null
+++ b/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/fix-makefile-to-find-libz.patch
@@ -0,0 +1,30 @@
+Let makefile find libz and zlib.h by CFLAGS and LDFLAGS.
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Upstream-Status: Pending
+---
+diff --git a/configure.ac b/configure.ac
+index d1acc36..6f865b0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,7 +62,7 @@ AC_CHECK_PROG([RPM], rpm, rpm, [], [$PATH])
+ AC_CHECK_PROG([SED], sed, sed, [], [$PATH])
+ AC_CHECK_PROG([FIND], find, find, [], [$PATH])
+
+-AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, inflateInit_, [AC_DEFINE(HAVE_ZLIB_H, 1) LIBS="$LIBS -lz"]))
++AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, inflateInit_, [AC_DEFINE(HAVE_ZLIB_H, 1) LIBS="$LIBS $LDFLAGS -lz"]))
+
+ dnl Find the default programs
+ if test "with_default" != no ; then
+@@ -175,7 +175,7 @@ fi
+
+ dnl ---Output variables...
+
+-HOST_CFLAGS="$HOST_CFLAGS -O2 -Wall \$(HOST_CPPFLAGS)"
++HOST_CFLAGS="$HOST_CFLAGS -O2 -Wall \$(HOST_CPPFLAGS) $CFLAGS"
+
+ dnl TODO: figure out how to set these appropriately for compilers other than gcc
+ I386_CFLAGS="$I386_CFLAGS -Os -ffreestanding -Wall -W -Wno-format \$(I386_CPPFLAGS)"
+--
+1.7.10.4
+
diff --git a/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb b/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb
new file mode 100644
index 000000000..2845b8cc3
--- /dev/null
+++ b/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Utility for creating ELF boot images for ELF-based Linux kernel images"
+HOMEPAGE = "http://www.coreboot.org/Mkelfimage"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
+
+SRCREV = "686a48a339b3200184c27e7f98d4c03180b2be6c"
+PV = "4.0+git${SRCPV}"
+RECIPE_NO_UPDATE_REASON = "mkelfimage has been removed in coreboot 4.1 release: \
+http://review.coreboot.org/gitweb?p=coreboot.git;a=commit;h=34fc4ab80b507739e2580d490dff67fcfdde11ea"
+
+
+DEPENDS += "zlib"
+
+SRC_URI = "git://review.coreboot.org/p/coreboot;protocol=http \
+ file://cross-compile.patch \
+ file://fix-makefile-to-find-libz.patch \
+ "
+
+CLEANBROKEN = "1"
+
+S = "${WORKDIR}/git/util/mkelfImage"
+
+CFLAGS += "-fno-stack-protector"
+CACHED_CONFIGUREVARS += "HOST_CC='${BUILD_CC}'"
+EXTRA_OEMAKE += "HOST_CPPFLAGS='${BUILD_CPPFLAGS}'"
+
+inherit autotools-brokensep
+
+do_install_append() {
+ rmdir ${D}${datadir}/mkelfImage/elf32-i386
+ rmdir ${D}${datadir}/mkelfImage
+}
+
+BBCLASSEXTEND = "native"