diff options
Diffstat (limited to 'yocto-poky/meta/recipes-devtools/mkelfimage')
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" |