summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-07-14 14:14:07 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-17 10:43:24 +0100
commit0d828f19f7ef2d852bbe6da4510efea76a39b982 (patch)
tree3ef39c15d5133a3234294b481c3153345a8d0d7c
parent77278bd23617834c7f90b3b24a9945ec081dbb38 (diff)
downloadopenembedded-core-0d828f19f7ef2d852bbe6da4510efea76a39b982.tar.gz
mkelfimage: Fix cross build
This patch fixes building this tool in cross environment It uses tools such as CC, HOST_CC, I386_CC etc. and as long as you are building native it does not matter since they all are same namely 'gcc' but in cross compiling that wont work. So we make the makefiles and configure scripts aware of that fact Upstream hosts this program in a svn repo. So change the SRC_URI to official svn repo. With git we were checking out a lot more that just mkelfimage which is not required. There were unpackaged empty directories too so we make sure they are removed as well. Fixes Yocto bug# 2765 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch71
-rw-r--r--meta/recipes-devtools/mkelfimage/mkelfimage_git.bb17
-rw-r--r--meta/recipes-devtools/mkelfimage/mkelfimage_svn.bb30
3 files changed, 101 insertions, 17 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 @@
+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/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb b/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb
deleted file mode 100644
index 4b45c677f6..0000000000
--- a/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "A utility to create ELF boot images from Linux kernel images"
-HOMEPAGE = "http://www.coreboot.org/Mkelfimage"
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
-
-SRCREV = "e1e6a91ce0738400fa1615179de88ebc0df29f66"
-PV = "1.0.0+gitr${SRCPV}"
-PR = "r1"
-
-SRC_URI = "git://review.coreboot.org/p/coreboot;protocol=http;branch=master"
-
-S = "${WORKDIR}/git/util/mkelfImage"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/mkelfimage/mkelfimage_svn.bb b/meta/recipes-devtools/mkelfimage/mkelfimage_svn.bb
new file mode 100644
index 0000000000..c670f23e25
--- /dev/null
+++ b/meta/recipes-devtools/mkelfimage/mkelfimage_svn.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "A utility to create ELF boot images from Linux kernel images"
+HOMEPAGE = "http://www.coreboot.org/Mkelfimage"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
+
+SRCREV = "6637"
+PV = "1.0.0+svn${SRCPV}"
+PR = "r1"
+
+DEPENDS += "zlib"
+
+SRC_URI = "svn://coreboot.org/coreboot/trunk/util;module=mkelfImage \
+ file://cross-compile.patch \
+ "
+
+S = "${WORKDIR}/mkelfImage"
+
+CFLAGS += "-fno-stack-protector"
+CACHED_CONFIGUREVARS += "HOST_CC='${BUILD_CC}'"
+EXTRA_OEMAKE += "HOST_CPPFLAGS='${BUILD_CPPFLAGS}'"
+
+inherit autotools
+
+do_install_append() {
+ rmdir ${D}${datadir}/mkelfImage/elf32-i386
+ rmdir ${D}${datadir}/mkelfImage
+}
+
+BBCLASSEXTEND = "native"