gcc-configure/gcc-common: Move preconfigure definition to common include
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 16 Sep 2014 11:52:06 +0000 (11:52 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 16 Sep 2014 21:14:12 +0000 (22:14 +0100)
There is a race where:

NOTE: recipe libgcc-initial-4.9.1-r0: task do_configure: Started
NOTE: recipe gcc-runtime-4.9.1-r0: task do_preconfigure: Started

| checking build system type... /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-deb/build/build/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/../config.sub: line 1711: syntax error near unexpected token `;;'
| /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-deb/build/build/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/../config.sub: line 1711: ` ;;'
| configure: error: /bin/bash /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-deb/build/build/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/../config.sub x86_64-linux failed
| WARNING: exit code 2 from a shell command.

so we need to make sure the preconfigure task executes in all shared
work contexts.

(From OE-Core rev: 3c30331d6eaf804b83a6d27189a12efc94310e91)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/gcc/gcc-common.inc
meta/recipes-devtools/gcc/gcc-configure-common.inc

index b50cc1d..0bf26b5 100644 (file)
@@ -80,6 +80,16 @@ ${GNU_MIRROR}/gcc   http://gcc.get-software.com/releases/ \n \
 ${GNU_MIRROR}/gcc      http://gcc.get-software.com/releases/ \n \
 "
 
+python do_preconfigure () {
+    import subprocess
+    cmd = d.expand('PATH=${PATH} cd ${S} && gnu-configize')
+    subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
+    # See 0044-gengtypes.patch, we need to regenerate this file
+    bb.utils.remove(d.expand("${S}/gcc/gengtype-lex.c"))
+}
+addtask do_preconfigure after do_patch before do_configure
+do_preconfigure[depends] += "gnu-config-native:do_populate_sysroot autoconf-native:do_populate_sysroot"
+
 #
 # Set some default values
 #
index 48fb799..f33678c 100644 (file)
@@ -93,16 +93,6 @@ _EOF
        mv ${B}/gcc/defaults.h.new ${B}/gcc/defaults.h
 }
 
-python do_preconfigure () {
-    import subprocess
-    cmd = d.expand('PATH=${PATH} cd ${S} && gnu-configize')
-    subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
-    # See 0044-gengtypes.patch, we need to regenerate this file
-    bb.utils.remove(d.expand("${S}/gcc/gengtype-lex.c"))
-}
-addtask do_preconfigure after do_patch before do_configure
-do_preconfigure[depends] += "gnu-config-native:do_populate_sysroot autoconf-native:do_populate_sysroot"
-
 do_configure () {
        # Setup these vars for cross building only
        # ... because foo_FOR_TARGET apparently gets misinterpreted inside the