qi: make it build working binaries
authorMichael 'Mickey' Lauer <mickey@vanille-media.de>
Fri, 13 Feb 2009 00:28:41 +0000 (01:28 +0100)
committerMichael 'Mickey' Lauer <mickey@vanille-media.de>
Fri, 13 Feb 2009 00:28:54 +0000 (01:28 +0100)
packages/qi/files/sanitize-makefile.patch [new file with mode: 0644]
packages/qi/qi.inc
packages/qi/qi_git.bb

diff --git a/packages/qi/files/sanitize-makefile.patch b/packages/qi/files/sanitize-makefile.patch
new file mode 100644 (file)
index 0000000..cd1abf3
--- /dev/null
@@ -0,0 +1,27 @@
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile
++++ git/Makefile
+@@ -16,12 +16,6 @@
+ include config.mk
+-BUILD_DATE := $(shell date)
+-BUILD_HOST := $(shell hostname)
+-BUILD_BRANCH := $(shell git branch | grep ^\* | cut -d' ' -f2)
+-BUILD_HEAD := $(shell git show --pretty=oneline | head -n1 | cut -d' ' -f1 | cut -b1-16)
+-BUILD_VERSION := ${BUILD_BRANCH}_${BUILD_HEAD}
+-
+ LDS   = src/cpu/$(CPU)/qi.lds
+ INCLUDE       = include
+ IMAGE_DIR     = image
+@@ -73,7 +67,7 @@ all:${UDFU_IMAGE}
+ ${OBJS}:${SRCS} ${INCLUDE}/*.h
+ ${MKUDFU}:
+-       make -C $(TOOLS)
++       gcc tools/mkudfu.c -o ${MKUDFU} -Itools/
+ ${UDFU_IMAGE}:${OBJS} ${MKUDFU}
+       mkdir -p image
index ce28508..3de44de 100644 (file)
@@ -1,45 +1,52 @@
-DESCRIPTION = "Qi bootloader w/ Openmoko GTA02 and GTA03 support"
+DESCRIPTION = "Qi bootloader w/ Openmoko GTA01, GTA02, and GTA03 support"
 LICENSE = "GPL"
 SECTION = "bootloader"
 PROVIDES = "virtual/bootloader"
 LOCALVERSION = "gitr${SRCREV}"
-PV = "0.0.0+${LOCALVERSION}"
+PV = "1.0.0+${LOCALVERSION}"
 
 EXTRA_OEMAKE = ""
 PARALLEL_MAKE = ""
-BUILD_BRANCH ?= "master"
-
-QI_MACHINES = "s3c2442 s3c6410"
 
 do_configure() {
        echo >config.mk
-       #sed -i s,@,, Makefile
+       # uncomment to debug
+#      sed -i s,@,, Makefile
+       cat >config.mk <<EOF
+
+BUILD_HOST=\$(shell hostname)
+BUILD_VERSION=${PV}
+BUILD_DATE=\$(shell date)
+
+GCCV="`${CC} -dumpversion`"
+COMPILER_LIB_PATH_PRE=${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(GCCV)
+COMPILER_LIB_PATH=\$(COMPILER_LIB_PATH_PRE)/\$(shell ls \$(COMPILER_LIB_PATH_PRE))
+
+AS=${AS}
+LD=${LD}
+CC=${CC}
+OBJCOPY=${OBJCOPY}
+OBJDUMP=${OBJDUMP}
+HOSTCC=${BUILD_CC}
+
+export HOSTCC BUILD_HOST BUILD_VERSION BUILD_DATE CROSS_COMPILE AD LD CC OBJCOPY OBJDUMP MKUDFU
+EOF    
 }
 
-do_compile () {
-       gccv=`${CC} -dumpversion`
-       for mach in ${QI_MACHINES}
-       do
-               ${MAKE} clean
-               ${MAKE} CPU=$mach \
-                       HOSTCC="${BUILD_CC}" \
-                       COMPILER_LIB_PATH="${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$gccv/" \
-                       BUILD_BRANCH="master" \
-                       BUILD_HEAD="${LOCALVERSION}"
-               cp -f image/qi-$mach* ${S}
-       done
+do_compile() {
+       make clean && \
+       make CPU=s3c2442 && \
+       make CPU=s3c2410 && \
+       make CPU=s3c6410
 }
 
 do_deploy () {
        install -d ${DEPLOY_DIR_IMAGE}
-       for mach in ${QI_MACHINES}
-       do
-               cat qi-$mach-${BUILD_BRANCH}_${LOCALVERSION} >> qi-$mach-${BUILD_BRANCH}_${LOCALVERSION}.udfu
-               install -m 0644 qi-$mach-${BUILD_BRANCH}_${LOCALVERSION}.udfu ${DEPLOY_DIR_IMAGE}/qi-$mach-${BUILD_BRANCH}-${PV}-${PR}.bin
-        ln -sf ${DEPLOY_DIR_IMAGE}/qi-${mach}-${PV}-${PR}.bin ${DEPLOY_DIR_IMAGE}/qi-${mach}-${BUILD_BRANCH}-latest.bin
-       done
+       cp -f image/qi-*.udfu ${DEPLOY_DIR_IMAGE}
 }
 
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
 do_deploy[dirs] = "${S}"
 addtask deploy before do_package after do_install
 addtask quilt before do_patch after do_unpack
index 37bf9af..968f688 100644 (file)
@@ -1,7 +1,9 @@
 require qi.inc
-BUILD_BRANCH = "master"
 PR = "r0"
 
-SRC_URI = "git://git.openmoko.org/git/qi.git;protocol=git;branch=${BUILD_BRANCH}"
+SRC_URI = "\
+  git://git.openmoko.org/git/qi.git;protocol=git;branch=master \
+  file://sanitize-makefile.patch;patch=1 \
+"
 S = "${WORKDIR}/git"