]> pilppa.org Git - familiar-h63xx-build.git/commitdiff
qemu-native: error out if no GCC 3.{3,4}.x is installed.
authorRene Wagner <rw@handhelds.org>
Tue, 4 Jul 2006 23:06:04 +0000 (01:06 +0200)
committerRene Wagner <rw@handhelds.org>
Tue, 4 Jul 2006 23:06:04 +0000 (01:06 +0200)
Signed-off-by: Rene Wagner <rw@handhelds.org>
org.handhelds.familiar/packages/qemu/qemu-native_0.7.0.bb

index 9e58b5f176b5556a0dded693a86b0017789bd2e1..23ad9b02a9a29f2a02966212ac26ff1921314fbb 100644 (file)
@@ -3,13 +3,33 @@ inherit native
 S = "${WORKDIR}/qemu-${PV}"
 prefix = "${STAGING_DIR}/${BUILD_SYS}"
 
-python __anonymous() {
+python do_check_gcc () {
     from bb import which, data
        
+    cc = 'gcc'
     path = data.getVar('PATH', d)
     if len(which(path, 'gcc-3.4')) != 0:
+        cc = 'gcc-3.4'
         data.setVar('EXTRA_OECONF', " --cc=gcc-3.4", d)
     elif len(which(path, 'gcc-3.3')) != 0:
+        cc = 'gcc-3.3'
         data.setVar('EXTRA_OECONF', " --cc=gcc-3.3", d)
 
+    import os
+
+    f = os.popen ("%s --version" % cc, 'r')
+    line = f.readline()
+    if f.close() or not line:
+        raise bb.build.FuncFailed("Failed to run %s" % cc)
+    import re
+    m = re.match("^.* \(.*\) (.\..\..).*$", line)
+    if not m:
+        raise bb.build.FuncFailed("Failed to parse gcc version output")
+    v = m.group(1).split('.')
+    if not (v[0] == '3' and v[1] in ['3', '4']):
+        raise bb.build.FuncFailed("qemu requires GCC 3.3.x or 3.4.x. Please install either version to build\nthis package.\nIf you haven't explicitely asked for this package to be built, it is likely\nthat ENABLE_BINARY_LOCALE_GENERATION is set. To work around the problem set it\nto \"0\" (but note that this will break internationalization).")
 }
+
+addtask check_gcc before do_configure after do_patch