Age | Commit message (Collapse) | Author | Files |
|
AUTOTOOLS_COPYACLOCAL variable
Introduce a AUTOTOOLS_COPYACLOCAL variable which forces the copy of the aclocal
files even when a configure.ac/.in file isn't present.
Use this new feature in alsa-tools.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We still occasionally see race issues with cp-noerror, and it copies
too many files, we should limit the the m4 files to those explicitly in
the DEPENDS for the recipe.
This change takes advantage of the BB_TASKDEPDATA data from bitbake to
only copy in those files listed in the manifest of the recipes in DEPENDS.
I've had this testing locally for some time, its ready for wider
review/testing.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If a Makefile.in.in has existed under ${S}/po/ and is read-only, cp will fail.
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Some recipes may need to manually call the aclocal copying
functionality so factor this out into a function.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
- add EXTRACONFFUNCS variable in order to make it possible
to inject tasks after autotools_preconfigure
(From OE-Core rev: eafaeee58ab7a8f0613f54b8411f41ccefdf94c3)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
${STAGING_DATADIR_NATIVE}/gettext/po
* some packages (e.g. uptime, cpu, forecasts, news from meta-efl)
don't have remove-potcdate.sin in po subdirectory, but Makefile.in.in
supplied by autotools.bbclass depends on it and fails without like this:
| make[3]: Entering directory `/OE/shr-core/tmp-eglibc/work/x86_64-oe-linux/uptime/0.0.2+svnr80477-r0.0/E-MODULES-EXTRA/uptime/po'
| make[3]: *** No rule to make target `remove-potcdate.sin', needed by `remove-potcdate.sed'. Stop.
| make[3]: Leaving directory `/OE/shr-core/tmp-eglibc/work/x86_64-oe-linux/uptime/0.0.2+svnr80477-r0.0/E-MODULES-EXTRA/uptime/po'
| make[2]: *** [uptime.pot] Error 2
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
For builds that don't use gettext, config.rpath may not exist in the target
datadir. This change uses the native directory where it will always
be present due to gettext-minimal-native (which allows us to autoreconf
recipes using gettext even if we don't have gettext built).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
gettext m4 macros don't use the usual versioning/serial mechanism used by
aclocal. It therefore won't update them over and above any local version of
the macro. Equally, we don't run gettextize due to it doing slightly crazy
things to the build.
When we put the aclocal directory as a -I option to aclocal, if this was
found first compared to any recipe provided macros, the correct version
of the gettext macro would still "win". With the switch so correctly override
the system directory, older recipe provided macros may get used.
This patch manually removes the problematic m4 macros in the case we're using
gettext and need to use the correct m4 macros.
This patch also always ensures the gettext manipulations happen, even in the
-native case since missing or stale gettext files could cause build failures.
(From OE-Core rev: e9645d2bbeabaa5251d49edd659ab320fd66d0ee)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The previous steps taken to address races over the aclocal macro directory and the removal
of files hasn't been sufficient since aclocal still looks at that directory as part of its
default search path. This patch passes the aclocal-copy directory into aclocal as its system
directory, removing any chance of it accessing the original aclocal directory.
Hopefully this should therefore fix the race issues once and for all.
In order to do this, cp-noerror needs to not error if the directory already exists.
Its also been noticed that aclocal defaults to using STAGING_DATADIR_NATIVE even when
building for the target. Only using the target directory would cause errors such as
missing pkgconfig macros (since we only depend on pkgconfig-native, not pkgconfig).
This patch processes both sets of macros maintaining existing behaviour. At a future
date we could look into potentially optimsing this.
[YOCTO #3216]
(From OE-Core rev: ad29b331e0d61708e68ef772cdb19154956fa67e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This reverts commit aa66ef6598c84231577d139ec7be413e73fac2b1 since
bdwgc-native fails to build after it. Anything which runs with a
sub-configure will fail after this change. It therefore needs
rethinking.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Fix autotools.bbclass to use relative paths for acpaths instead of
absolute ones. Since absolute paths may cause potential autoreconf
error like:
Can't exec "/bin/sh": Argument list too long ...
This error occurs while building coreutils with long TMPDIR, because
it has bunch of m4 files need to be expanded.
[YOCTO #2766]
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
For reasons that are now shrouded in obscurity, autotools.bbclass
has long contained a special heuristic to avoid attempting to run
autoreconf when building autoconf or automake themselves. However,
the wildcard test against PN which is used there is problematic when
trying to build another package whose name happens to start with
"autoconf", and in any case it is silly to do this test at runtime
for every package. The individual recipes for autoconf and automake
can just as easily suppress the behaviour that they don't want by
providing a custom do_configure() method which just runs configure.
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
reconfiguring (and ${S} != ${B})
Unfortunately whilst rerunning configure and make against a project will mostly
work there are situations where it does not correctly do the right thing.
In particular, eglibc and gcc will fail out with errors where settings
do not match a previously built configuration. It could be argued they are
broken but the situation is what it is. There is the possibility of more subtle
errors too.
This patch adds removal of the build directory (${B}) when configure is
rerunning, the sstate checksum for do_configure has changed and ${S} != ${B}.
We could simply use a stamp but saving out the previous configuration checksum
adds some data at no real overhead.
If we find there are things where we want to disable this behaviour with
CONFIGURESTAMPFILE = "" in the recipe, or users could disable it globally.
[YOCTO #2774]
[YOCTO #2848]
This is particularly helpful for eglibc and gcc which use split builds by default and
are a particular source of reconfigure type problems.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When configure fails, it usually says "see config.log" yet nobody ever shares
the config.log file meaning the person trying to help invariably has to ask
for more information.
This patch dumps all the config.log files into the main bitbake log files when
configure fails, meaning all the information is present to help someone debug
such failures. It does make the log rather larger but this is preferable to
not having enough information in most cases.
[YOCTO #2463]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently we copy the aclocal directory to the build so that autotools
doesn't see .m4 files disappear when its processing them. This can happen
if for example, package X is being rebuilt at the same time as Y and it
gets uninstalled from sstate (assuming there are no dependencies between
X and Y). This code making the copy was added to avoid races but introduces
a race of its own, namely that the files can disappear during the copy.
This patch adds a cp-noerror script which silently ignores such errors
and gives the behaviour we need in this case. It hence fixes issues which
crop up for users and the autobuilder occasionally.
[YOCTO #2485]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
-nativesdk recipes should not have dependency to lib-cross, which is
never used. This unnecessary dependency would result different task hash
values in sstate for different MACHINE settings.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Using "1" with getVar is bad coding style and "True" is preferred.
This patch is a sed over the meta directory of the form:
sed \
-e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \
-e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \
-i `grep -ril getVar *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We need to ensure any aclocal-copy directory is removed before we s
earch for .m4 files, else the locations .m4 files are found from can
vary depending on whether its the first or second time we run configure.
Clearing any existing aclocal-copy directory before we start resolves
this issue and makes builds deterministic again.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* If configure.ac contains AM_GNU_GETTEXT and po/Makefile.in.in
doesn't exist, autotools_do_configure() copies a local
version of Makefile.in.in to this location. If the directory
'po' doesn't exist, the function aborts.
* This patch verifies that the directory exists before copying
a file to it. This fixes libcddb, which uses AM_GNU_GETTEXT,
but has no 'po' directory.
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
|
|
This variable is for holding the cached configure variables
to be specified in recipes. e.g.
CACHED_CONFIGUREVARS += "ac_cv_foo=yes ac_cv_bar=no"
This will make sure that the variables are not detected
by configure. This is useful in cross builds where
some features can not be detected correctly by configure
and having it as a variables gives us capability to
override it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
the .../usr/share/aclocal is empty for build from scratch. so avoid cp
error if the directory is empty.
Fixes this error, which is thrown before pseudo is built:
| cp: cannot stat
`/builddisk/build/build0/tmp/sysroots/x86_64-linux/usr/share/aclocal/*':
No such file or directory
NOTE: package libtool-native-2.4.2-r0.0: task do_configure: Failed
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
If the configure script isn't found, report the explicit path tried.
This can help debug subtle errors where the ${S} sourcedir may not
be exactly what is expected.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This is the result of running the following over the metadata:
sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This is needed to better support things like the following (with a
multi-word BUILD_CC):
EXTRA_OECONF += '"ac_cv_prog_CC_FOR_BUILD=${BUILD_CC}"'
Signed-off-by: Christopher Larson <kergoth@gmail.com>
|
|
If we pull SCM based code using gettext, Makefile.in.in in the
po directory can be missing. We therefore need to add this if
its not already present. We could use gettextize if it wasn't
so broken (for example requiring user input on stdin and installing
way more files that we ever care about such as the m4 files).
We also have a problem if a recipe sets a different AUX dir, for
now fix this by allowing recipes to specify when this is being done
using the AUTOTOOLS_AUXDIR variable. Ultimately we could likely
figure this out automatically.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There is no point in us spending time generating a ton of dependency
information in source directories when we don't actually use it
for our one off builds. We might as well disable the option and
take the speed up.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The help2man script is pretty useless to us. It requires to run the target
binary to extract help information which is not possible for any of our
cross compiled target binaries.
We're not interested in man pages for -cross/-native tools.
It therefore makes no sense to have this as a core build dependency.
This patch removes the dependeny and replaces it with a script
returning false. This will trigger autotool's missing utility
to use the copy of the man page included with the sources which
is what would already happen when we tried to run cross compiled
binaries anyway.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
libtool obtains the search path from /etc/ld.so.conf and hardcodes /usr/lib
and /lib. This results in host contamination and variable sets of RPATH
values ending up in binaries.
By exporting the correct values for all autotools recipes we avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If something removes .m4 files from the aclocal directory whilst aclocal is
running it gets upset. To avoid this we need to take a copy of the aclocal
directory and build against this instead.
[YOCTO #861]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This patch adds the core multilib class which can be used along with a
parameter specifying the mutlilib to use in BBCLASSEXTEND.
The MLPREFIX variable is added and can be used in cases where its too
difficult to dynmaically work out where a mutltilib prefix is needed
to be added to a variable.
This includes:
* SHLIBSDIR and PACKAGE_ARCH fixes from Lianhao Lu.
* PACKAGE_DYNAMIC mapping from Yu Ke
* PACKAGE_INSTALL mapping from Yu Ke
* RPROVIDES mapping from Yu Ke
* TARGET_VENDOR fix from Mark Hatle
* Ignorning *-native-runtime dependnecies as well as *-native from Yu Ke
* Map PKG and ALLOW_EMPTY from Dongxiao Xu
* Ensure RCONFLICTS and PKG field dependencies are remapped (from Dongxiao Xu)
* Ensure PN and MLPREFIX are set at the same time to ensure consistent BPN values (Yu Ke)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
With help2man no longer being required by sanity.bbclass we need to
make sure that if we are going to build autotools stuff that help2man
will be there as it's a frequent implicit dependency.
Signed-off-by: Tom Rini <tom_rini@mentor.com>
|
|
handling updates
This massively cleans up the dependency handling in the two classes
when interacting with BBCLASSEXTEND.
This change has a dependency on the bitbake override handling change
and also the existence of the RecipePreFinalise event.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The new bash logging class provides bbnote, bbwarn, bbfatal, and bbdebug
replacements (as well as bbplain and bberror) for the oe* equivalents. Use the
new bb* API in preparation to delete the oe* logging API.
This patch was automatically generated by a sed script. The result has been
visually inspected and used to build core-image-sato for qemux86.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Non-verbose logs are really annoying when trying to debug a build
failure. A lot of projects are copying in the flag to use
AM_SILENT_RULES which automake gained recently. We need to undo
this.
We'll get a warning from configure if it's not recognized, but that's
fine.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
If one package is configuring when automake is built, the aclocal-VERSION
directory can be created or removed and this can confuse the configure
process.
Since we always run automake-native, it should always be using the
autoake-native aclocal directory for automake files which is the
result of this patch.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
broken if generated at this point and cause file conflicts
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
in creating them
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We do not do it for native recipes, as the native compiler should
fall back to a prefix of /usr and not solely depend on the sysroot.
Otherwise we end up staging everything in the native sysroot before
we start to build target recipes.
Also remove la mangling code, which is no longer necessary.
Commit derived from Khem Raj's OE commits.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
|
eglibc glibc ncurses uclibc zlib: remove explicit siteconfig
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
|
|
aren't) used in poky now
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
warning
into a fatal error if any legacy do_stage functions are found.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
Move the functionality into autotools and ensure all our Poky recipes are no
longer using it.
Keep the autools_stage class around for OE compatability but just have it
inherit autools.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
strange testcases
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
from Chris Larson]
|