summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/mkelfimage
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/mkelfimage')
-rw-r--r--meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch71
-rw-r--r--meta/recipes-devtools/mkelfimage/mkelfimage/fix-makefile-to-find-libz.patch30
-rw-r--r--meta/recipes-devtools/mkelfimage/mkelfimage_git.bb30
3 files changed, 131 insertions, 0 deletions
diff --git a/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch b/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch
new file mode 100644
index 0000000000..7692709724
--- /dev/null
+++ b/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch
@@ -0,0 +1,71 @@
1make the tool to be cross compilable.
2
3Signed-off-by: Khem Raj <raj.khem@gmail.com>
4Upstream-Status: Pending
5
6Index: mkelfImage/configure.ac
7===================================================================
8--- mkelfImage.orig/configure.ac 2012-07-14 14:04:48.964898667 -0700
9+++ mkelfImage/configure.ac 2012-07-14 14:10:47.800916083 -0700
10@@ -70,6 +70,9 @@
11 AC_MSG_ERROR([cc not found])
12 fi
13 eval "${with_default}_CC='$CC'"
14+ if test "x$HOST_CC" = 'x'; then
15+ AC_CHECK_PROG([HOST_CC], [$CC], [$CC], [gcc], [$PATH])
16+ fi
17 AC_PROG_CPP
18 if test "$CPP" = no; then
19 AC_MSG_ERROR([cpp not found])
20@@ -172,7 +175,6 @@
21
22 dnl ---Output variables...
23
24-HOST_CC=$CC
25 HOST_CFLAGS="$HOST_CFLAGS -O2 -Wall \$(HOST_CPPFLAGS)"
26
27 dnl TODO: figure out how to set these appropriately for compilers other than gcc
28Index: mkelfImage/linux-i386/Makefile
29===================================================================
30--- mkelfImage.orig/linux-i386/Makefile 2012-07-14 14:04:48.964898667 -0700
31+++ mkelfImage/linux-i386/Makefile 2012-07-14 14:04:49.032898671 -0700
32@@ -4,7 +4,7 @@
33
34 $(LI386_OBJ)/mkelf-linux-i386.o: $(LI386_DIR)/mkelf-linux-i386.c $(LI386_DIR)/convert.bin.c $(LI386_DEP)
35 $(MKDIR) -p $(@D)
36- $(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@
37+ $(CC) $(HOST_CFLAGS) -c -g $< -o $@
38
39
40 ifdef I386_CC
41Index: mkelfImage/linux-ia64/Makefile
42===================================================================
43--- mkelfImage.orig/linux-ia64/Makefile 2012-07-14 14:04:48.964898667 -0700
44+++ mkelfImage/linux-ia64/Makefile 2012-07-14 14:04:49.032898671 -0700
45@@ -4,7 +4,7 @@
46
47 $(LIA64_OBJ)/mkelf-linux-ia64.o: $(LIA64_DIR)/mkelf-linux-ia64.c $(LIA64_DIR)/convert.bin.c $(LIA64_DEP)
48 $(MKDIR) -p $(@D)
49- $(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@
50+ $(CC) $(HOST_CFLAGS) -c -g $< -o $@
51
52 ifdef IA64_CC
53
54Index: mkelfImage/main/Makefile
55===================================================================
56--- mkelfImage.orig/main/Makefile 2012-07-14 14:04:48.964898667 -0700
57+++ mkelfImage/main/Makefile 2012-07-14 14:04:49.032898671 -0700
58@@ -4,11 +4,11 @@
59
60 $(OBJDIR)/sbin/mkelfImage: $(MKELF_OBJS) $(DEPS)
61 $(MKDIR) -p $(@D)
62- $(HOST_CC) $(HOST_CFLAGS) $(MKELF_OBJS) -o $@ $(LIBS)
63+ $(CC) $(HOST_CFLAGS) $(MKELF_OBJS) -o $@ $(LIBS)
64
65 $(OBJDIR)/main/mkelfImage.o: main/mkelfImage.c include/mkelfImage.h $(DEPS)
66 $(MKDIR) -p $(@D)
67- $(HOST_CC) $(HOST_CFLAGS) -c $< -o $@
68+ $(CC) $(HOST_CFLAGS) -c $< -o $@
69
70 $(OBJDIR)/man/man8/mkelfImage.8: main/mkelfImage.man
71 $(MKDIR) -p $(@D)
diff --git a/meta/recipes-devtools/mkelfimage/mkelfimage/fix-makefile-to-find-libz.patch b/meta/recipes-devtools/mkelfimage/mkelfimage/fix-makefile-to-find-libz.patch
new file mode 100644
index 0000000000..756a65cd92
--- /dev/null
+++ b/meta/recipes-devtools/mkelfimage/mkelfimage/fix-makefile-to-find-libz.patch
@@ -0,0 +1,30 @@
1Let makefile find libz and zlib.h by CFLAGS and LDFLAGS.
2
3Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
4Upstream-Status: Pending
5---
6diff --git a/configure.ac b/configure.ac
7index d1acc36..6f865b0 100644
8--- a/configure.ac
9+++ b/configure.ac
10@@ -62,7 +62,7 @@ AC_CHECK_PROG([RPM], rpm, rpm, [], [$PATH])
11 AC_CHECK_PROG([SED], sed, sed, [], [$PATH])
12 AC_CHECK_PROG([FIND], find, find, [], [$PATH])
13
14-AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, inflateInit_, [AC_DEFINE(HAVE_ZLIB_H, 1) LIBS="$LIBS -lz"]))
15+AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, inflateInit_, [AC_DEFINE(HAVE_ZLIB_H, 1) LIBS="$LIBS $LDFLAGS -lz"]))
16
17 dnl Find the default programs
18 if test "with_default" != no ; then
19@@ -175,7 +175,7 @@ fi
20
21 dnl ---Output variables...
22
23-HOST_CFLAGS="$HOST_CFLAGS -O2 -Wall \$(HOST_CPPFLAGS)"
24+HOST_CFLAGS="$HOST_CFLAGS -O2 -Wall \$(HOST_CPPFLAGS) $CFLAGS"
25
26 dnl TODO: figure out how to set these appropriately for compilers other than gcc
27 I386_CFLAGS="$I386_CFLAGS -Os -ffreestanding -Wall -W -Wno-format \$(I386_CPPFLAGS)"
28--
291.7.10.4
30
diff --git a/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb b/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb
new file mode 100644
index 0000000000..bcf68a8e37
--- /dev/null
+++ b/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb
@@ -0,0 +1,30 @@
1SUMMARY = "Utility for creating ELF boot images for ELF-based Linux kernel images"
2HOMEPAGE = "http://www.coreboot.org/Mkelfimage"
3SECTION = "devel"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
6
7SRCREV = "686a48a339b3200184c27e7f98d4c03180b2be6c"
8PV = "4.0+git${SRCPV}"
9
10DEPENDS += "zlib"
11
12SRC_URI = "git://review.coreboot.org/p/coreboot;protocol=http \
13 file://cross-compile.patch \
14 file://fix-makefile-to-find-libz.patch \
15 "
16
17S = "${WORKDIR}/git/util/mkelfImage"
18
19CFLAGS += "-fno-stack-protector"
20CACHED_CONFIGUREVARS += "HOST_CC='${BUILD_CC}'"
21EXTRA_OEMAKE += "HOST_CPPFLAGS='${BUILD_CPPFLAGS}'"
22
23inherit autotools-brokensep
24
25do_install_append() {
26 rmdir ${D}${datadir}/mkelfImage/elf32-i386
27 rmdir ${D}${datadir}/mkelfImage
28}
29
30BBCLASSEXTEND = "native"