Commit Graph

18 Commits

Author SHA1 Message Date
Serhii Popovych e44946bff1 autoconf: Adjust shebang lines to remove interpreter path hardcode
If build host perl (and other tools) is old and we use some kind
of toolchain to provide recent perl/python/etc to the OE build
we still locked to use build host perl due to hardcoded shebang
lines in autoconf scripts.

Behaviour was observed with Enterprise Linux 6 and devtoolset
toolchain from SCL (Software Collections) used to provide recent
version of perl (not provided with default buildtools-tarball).

Pass /usr/bin/env perl in ac_cv_path_PERL configuration variables
for class-native and class-nativesdk. Use patch to autoconf to replace
-w option in shebang line with modern way to enable warnings on perl
(i.e. "use warnings").

Also add nativesdk-m4 and nativesdk-gnu-config to RDEPENDS to bring
runtime dependencies inline with other targets.

Note that ac_cv_path_PERL must be valid perl interpreter path
since configure will check perl version and Flock implementation.
It is not possible currently to use nativeperl from native
sysroot because autoconf does not DEPENDS on perl-native (and
doing so fails due to circular dependencies). Only possible
solution is to overwrite shebangs with nativeperl somewhere at
do_install() and update RDEPENDS for class-native. Or add perl
symlinks to nativeperl in sysroot.

For now it seems good to use perl found by /usr/bin/env from
autoconf-native.

Cc: XE-Linux <xe-linux-external@cisco.com>
(From OE-Core rev: 443d2d31732fa5700aa00ff020a0d79ab245c114)

Signed-off-by: Serhii Popovych <spopovyc@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-01 23:28:20 +01:00
Khem Raj c9786e1e12 autoconf: Fix AC_HEADER_MAJOR with glibc 2.25
Backport the patch from master for 2.69

(From OE-Core rev: 83081afc08695ea42046208ca8ab077e482d3018)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Ross Burton f52cc8bdef autoconf: remove upstreamed patch
(From OE-Core rev: 3d4834860c0e9c2635c248d498d02160cbedebde)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-08 00:32:43 +01:00
Richard Purdie 98dcdcb47c autoconf: Disable macro which causes excessive delays when using dash as sh
At the start of every configure script, the check for solaris 'print' causes
significant problems on a linux machine with dash as /bin/sh since it triggers
the execution of "print" which on some linux systems is a perl script which is
part of mailcap. Worse, this perl script calls "which file" and if successful
ignores the path file was found in and just runs "file" without a path. Each
execution causes PATH to be searched. In something like gettext with multiple
configure scripts, this is worth something like 30,000 syscalls of which 3,000
are execs.

Simply assuming the shell's printf function works cuts out all the fork overhead
and when parallel tasks are running, this overhead appears to be significant.

(From OE-Core rev: 421eb8fce9856c63bf62fc3a61fe39d1e5253ff8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14 22:30:56 +00:00
Khem Raj 1ee97d844f autoconf: Add musl support
Support musl triplets

(From OE-Core rev: d3609be6f3c59ef5d213d85b44dd1ac2058632bd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-12 23:42:54 +00:00
Robert Yang 60ae5c2eb0 meta: enable parallel build for several recipes
I used a for loop to build these packages more than 520 times, these
recipes never failed.

(From OE-Core rev: 7957c5bc2771a763d26e50e716733c6335cef3c2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:27 +00:00
Dan McGregor ae7bfb2c89 autoconf: disable checking for emacs
Emacs is somewhat broken on Fedora 21. Don't check for it. We
don't need it.

(From OE-Core rev: beee408a35d459392764aafad2adea49b645b5cf)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:56 +00:00
Ross Burton 931fd019bf autoconf: remove automake patch enforcing --foreign
Since 2004 we've been carrying a patch[1] make autoreconf pass --foreign to
automake.  Presumably at the time this was due to many upstreams using
hand-coded bootstrap scripts that passed --foreign manually, but we were using
autoreconf.  These days many projects have added foreign to AM_INIT_AUTOMAKE and
use autoreconf directly, so this patch isn't as critical as it used to be.

(From OE-Core rev: 74b05bba64589da0e4439a4293559ad9670104bd)

Signed-off-by: Ross Burton <ross.burton@intel.com>

[1] oe-classic 2ab2a92eadaf2f80410d8746099f8a9b1b81ff91
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-29 09:58:26 +01:00
Ross Burton e2485940f9 autoconf: don't disable the autoheader warnings
The usual autoheader warning is due to AC_DEFINE variables not having a
description.  This results in no variable being defined in config.h, which leads
to code behaving as if the test failed when it actually succeeded.

This patch was introduced to OpenEmbedded back in 2004:

http://git.openembedded.org/openembedded/commit/?id=5eab06d132cb2895fd579f5cedffbb54c27794f8

There is no rationale for the patch so I suspect this is due to the warnings
being fatal and the submitter not understanding that the problem is more than
cosmetic.

(From OE-Core rev: de5fb9d7f60763082327ddeca71842c00a2fa23e)

(From OE-Core rev: dd9c3d7bc946ff44e0ca90f4e345711d6ad21728)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 09:26:39 +01:00
Radu Patriu bb3927d919 autoconf: new autotest/testsuite option to enable automake test result format
lib/autotest/general.m4: added "--am-fmt | -A" command line parameter
for testsuite script to enable "RESULT: testname" output format; to be
used by yocto ptest packages directly or with autoconf TESTSUITEFLAGS.

(From OE-Core rev: 9d288e5afd6696cc519574470c7d47ca55403d27)

Signed-off-by: Radu Patriu <radu.patriu@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:32 +01:00
Robert Yang 484727e25f autoconf: remove path_prog_fixes.patch
The path_prog_fixes.patch was used for fixing the perl path, but the
do_install_append() can do it, so remove this patch.

(From OE-Core rev: 117861aba856bb7ad67c3e7f3635556589474369)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-06 11:13:59 +00:00
Richard Purdie 49e754aca3 autoconf: Add fix for sh verses bash issues
Libtool scripts were finding bash was /bin/sh and then using bashisms which
then got into sstate and used on machines where /bin/sh might be dash.

This changes things to search for bash first since its preferred. We then hardcode
bash into the scripts which is more correct.

This does mean we have a dependency on bash but many of our scripts have
that anyway.

(From OE-Core rev: 367a19aaf31bcf997f10d045e7954cc800189052)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:13 +01:00
Kang Kai 52c6393375 autoconf: update RDEDENDS
The only file Glob.so provided by perl-module-file will be moved to
package perl-module-file-glob. So remove perl-module-file from RDEDENDS.

(From OE-Core rev: c76ae248334606d10ab730b1b2e9f626ff3c5809)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-07 11:09:36 +00:00
Robert Yang aea2d8c02c recipes-devtools: replace virtclass-native(sdk) with class-native(sdk)
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.

[YOCTO #3297]

(From OE-Core rev: bb67ddeb2eed3e25c626a279ef53a7e8c7bfe6f2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-02 16:18:29 +00:00
Kang Kai 3533e801ee autoconf: update runtime dependencies
Update autoconf runtime dependencies on perl and perl modules. And
remove RDEPENDS for nativesdk because the nativesdk-autoconf has same
dependencies with autoconf.

Then fixes autoreconf runs failed both on target and toolchain.

Bump up PR.

[Yocto 3100]

(From OE-Core rev: 19a4d6498b262a53456f43fabb66d821014d2656)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-24 12:50:49 +01:00
Phil Blundell 82a99a4cee autotools: Remove special handling for autoconf* and automake*
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.

(From OE-Core rev: a87db6f8dea71cbb7ead9285ff8af0e28cf75604)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:33 +01:00
Constantin Musca 3668a2de73 autoconf: use --warning=cross only if supported
Adapt autoconf to pass --warning=cross to automake only if
supported.

[YOCTO #842]

(From OE-Core rev: 16d1c8f076378d0878f332f83b7e1f5fcf16447d)

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>
2012-09-10 13:01:51 +01:00
Bogdan Marinescu 71105cce11 autoconf: updated to 2.69
Tested with core-image-sato-sdk and lib32-core-image-sato-sdk.
This update was done mainly because multilib builds failed on master with this error:

| autoreconf: running: aclocal -I /poky/build/tmp/work/x86-pokymllib32-linux/lib32-automake-1.12.1-r0/automake-1.12.1/m4/ -I /poky/build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12 -I /poky/build/tmp/work/x86-pokymllib32-linux/lib32-automake-1.12.1-r0/automake-1.12.1/aclocal-copy/ -I /poky/build/tmp/work/x86-pokymllib32-linux/lib32-automake-1.12.1-r0/automake-1.12.1/m4/ -I /poky/build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12 -I /poky/build/tmp/work/x86-pokymllib32-linux/lib32-automake-1.12.1-r0/automake-1.12.1/aclocal-copy/ --force --warnings=cross
| aclocal: warning: unknown warning category 'cross'
| configure.ac:18: error: Autoconf version 2.69 or higher is required

(From OE-Core rev: effb75d42098b3e367d393215fd5d52a0191e954)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-22 11:42:22 +01:00