summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc/gcc-configure-common.inc
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-27 01:24:31 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-30 16:33:26 +0100
commit55ed9ffbab5118140baac5d0d29dcc919e1f1668 (patch)
treef3d23d735db4052b919c9580c348514151284cda /meta/recipes-devtools/gcc/gcc-configure-common.inc
parent19448a50c106684ee7e3862f759418c982363a29 (diff)
downloadopenembedded-core-55ed9ffbab5118140baac5d0d29dcc919e1f1668.tar.gz
openembedded-core-55ed9ffbab5118140baac5d0d29dcc919e1f1668.tar.bz2
openembedded-core-55ed9ffbab5118140baac5d0d29dcc919e1f1668.zip
gcc-common/gcc-configure-common: Move gnu-configize to its own shared task
This command modifies ${S} and can race against other tasks running do_configure and having the scripts disappear from under them. To avoid this move to its own task and work on the shared work directory as a common task. It needs to be a python task to avoid lots of shell exported variables as dependencies. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-configure-common.inc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-common.inc10
1 files changed, 9 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 3cc5efab33..12482f81e3 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -98,6 +98,14 @@ _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)
+}
+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
@@ -126,7 +134,7 @@ do_configure () {
export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}"
export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}"
- (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+
oe_runconf
}