diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-12 11:35:07 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-14 11:42:18 +0000 |
| commit | 2eba066ccbbdf672315f52018fa52565713f7b2a (patch) | |
| tree | 13cd540f6aab6695107ddffbbf50128cdaba64f2 | |
| parent | 9c8fee9c62beaffa930c4b26dea70a4be5a66780 (diff) | |
| download | poky-2eba066ccbbdf672315f52018fa52565713f7b2a.tar.gz | |
autotools: Fix interaction with bitbake -b
If you run bitbake -b on something using autotools with dependencies on
m4 files, it currently fails as the TASKDEPDATA is incomplete for
bitbake -b
and this means the relevant macros aren't found.
Work around this by adding *all* m4 files for the -b case (and show a warning).
[YOCTO #8890]
(From OE-Core rev: 60207e0cf3a5bce9123d3631a10a9540c72a9034)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/classes/autotools.bbclass | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index a5f2bff1ab..6649f5df71 100644 --- a/meta/classes/autotools.bbclass +++ b/meta/classes/autotools.bbclass | |||
| @@ -148,12 +148,18 @@ python autotools_copy_aclocals () { | |||
| 148 | bb.utils.mkdirhier(aclocaldir) | 148 | bb.utils.mkdirhier(aclocaldir) |
| 149 | start = None | 149 | start = None |
| 150 | configuredeps = [] | 150 | configuredeps = [] |
| 151 | # Detect bitbake -b usage | ||
| 152 | # Everything but quilt-native would have dependencies | ||
| 153 | nodeps = (pn != "quilt-native") | ||
| 151 | 154 | ||
| 152 | for dep in taskdepdata: | 155 | for dep in taskdepdata: |
| 153 | data = taskdepdata[dep] | 156 | data = taskdepdata[dep] |
| 154 | if data[1] == "do_configure" and data[0] == pn: | 157 | if data[1] == "do_configure" and data[0] == pn: |
| 155 | start = dep | 158 | start = dep |
| 159 | if not nodeps and start: | ||
| 156 | break | 160 | break |
| 161 | if nodeps and data[0] != pn: | ||
| 162 | nodeps = False | ||
| 157 | if start is None: | 163 | if start is None: |
| 158 | bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?") | 164 | bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?") |
| 159 | 165 | ||
| @@ -188,6 +194,11 @@ python autotools_copy_aclocals () { | |||
| 188 | #bb.warn(str(configuredeps2)) | 194 | #bb.warn(str(configuredeps2)) |
| 189 | 195 | ||
| 190 | cp = [] | 196 | cp = [] |
| 197 | if nodeps: | ||
| 198 | bb.warn("autotools: Unable to find task dependencies, -b being used? Pulling in all m4 files") | ||
| 199 | for l in [d.expand("${STAGING_DATADIR_NATIVE}/aclocal/"), d.expand("${STAGING_DATADIR}/aclocal/")]: | ||
| 200 | cp.extend(os.path.join(l, f) for f in os.listdir(l)) | ||
| 201 | |||
| 191 | for c in configuredeps: | 202 | for c in configuredeps: |
| 192 | if c.endswith("-native"): | 203 | if c.endswith("-native"): |
| 193 | manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}-%s.populate_sysroot" % c) | 204 | manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}-%s.populate_sysroot" % c) |
