diff options
Diffstat (limited to 'poky/meta/recipes-devtools/autoconf')
15 files changed, 1030 insertions, 0 deletions
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf.inc b/poky/meta/recipes-devtools/autoconf/autoconf.inc new file mode 100644 index 000000000..df81bc610 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf.inc @@ -0,0 +1,53 @@ +SUMMARY = "A GNU tool that produce shell scripts to automatically configure software" +DESCRIPTION = "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically \ +configure software source code packages. Autoconf creates a configuration script for a package from a template \ +file that lists the operating system features that the package can use, in the form of M4 macro calls." +LICENSE = "GPLv3" +HOMEPAGE = "http://www.gnu.org/software/autoconf/" +SECTION = "devel" +DEPENDS += "m4-native" +DEPENDS_class-native = "m4-native gnu-config-native" +DEPENDS_class-nativesdk = "nativesdk-m4 nativesdk-gnu-config" +RDEPENDS_${PN} = "m4 gnu-config \ + perl \ + perl-module-carp \ + perl-module-constant \ + perl-module-errno \ + perl-module-exporter \ + perl-module-file-basename \ + perl-module-file-compare \ + perl-module-file-copy \ + perl-module-file-glob \ + perl-module-file-path \ + perl-module-file-stat \ + perl-module-file-find \ + perl-module-getopt-long \ + perl-module-io-file \ + perl-module-posix \ + perl-module-data-dumper \ + " +RDEPENDS_${PN}_class-native = "m4-native gnu-config-native" +RDEPENDS_${PN}_class-nativesdk = "nativesdk-m4 nativesdk-gnu-config" + +SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.gz \ + file://program_prefix.patch" + +inherit autotools texinfo + +PERL = "${USRBINPATH}/perl" +PERL_class-native = "/usr/bin/env perl" +PERL_class-nativesdk = "/usr/bin/env perl" + +CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'" + +do_configure() { + # manually install a newer config.guess/.sub + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/build-aux + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/build-aux + + oe_runconf +} + +do_install_append() { + rm -rf ${D}${datadir}/emacs +} diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch b/poky/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch new file mode 100644 index 000000000..fc37236bf --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch @@ -0,0 +1,162 @@ +From e17a30e987d7ee695fb4294a82d987ec3dc9b974 Mon Sep 17 00:00:00 2001 +From: Eric Blake <eblake@redhat.com> +Date: Wed, 14 Sep 2016 08:17:06 -0500 +Subject: [PATCH] AC_HEADER_MAJOR: port to glibc 2.25 + +glibc 2.25 is deprecating the namespace pollution of <sys/types.h> +injecting major(), minor(), and makedev() into the compilation +environment, with a warning that insists that users include +<sys/sysmacros.h> instead. However, because the expansion of +AC_HEADER_MAJOR didn't bother checking sys/sysmacros.h until +after probing whether sys/types.h pollutes the namespace, it was +not defining MAJOR_IN_SYSMACROS, with the result that code +compiled with -Werror chokes on the deprecation warnings because +it was not including sysmacros.h. + +In addition to fixing autoconf (which only benefits projects +that rebuild configure after this fix is released), we can also +give a hint to distros on how they can populate config.site with +a cache variable to force pre-existing configure scripts without +the updated macro to behave sanely in the presence of glibc 2.25 +(the documentation is especially useful since that cache variable +is no longer present in autoconf after this patch). + +Note that mingw lacks major/minor/makedev in any of its standard +headers; for that platform, the behavior of this macro is unchanged +(code using the recommended include formula will get a compile error +when trying to use major(), whether before or after this patch); but +for now, it is assumed that programs actually concerned with +creating devices are not worried about portability to mingw. If +desired, a later patch could tighten AC_HEADER_MAJOR to fail at +configure time if the macros are unavailable in any of the three +system headers, but that semantic change is not worth mixing into +this patch. + +* lib/autoconf/headers.m4 (AC_HEADER_MAJOR): Drop check for +major within sys/types.h; it interferes with the need to check +sysmacros.h first. +* doc/autoconf.texi (Particular Headers) <AC_HEADER_MAJOR>: Expand +details on usage, and on workarounds for non-updated projects. + +Signed-off-by: Eric Blake <eblake@redhat.com> +--- +Upstream-Status: Backport + + doc/autoconf.texi | 35 +++++++++++++++++++++++++++++++---- + lib/autoconf/headers.m4 | 30 ++++++++++++++---------------- + 2 files changed, 45 insertions(+), 20 deletions(-) + +Index: autoconf-2.69/doc/autoconf.texi +=================================================================== +--- autoconf-2.69.orig/doc/autoconf.texi ++++ autoconf-2.69/doc/autoconf.texi +@@ -15,7 +15,7 @@ + @c The ARG is an optional argument. To be used for macro arguments in + @c their documentation (@defmac). + @macro ovar{varname} +-@r{[}@var{\varname\}@r{]}@c ++@r{[}@var{\varname\}@r{]} + @end macro + + @c @dvar(ARG, DEFAULT) +@@ -23,7 +23,7 @@ + @c The ARG is an optional argument, defaulting to DEFAULT. To be used + @c for macro arguments in their documentation (@defmac). + @macro dvar{varname, default} +-@r{[}@var{\varname\} = @samp{\default\}@r{]}@c ++@r{[}@var{\varname\} = @samp{\default\}@r{]} + @end macro + + @c Handling the indexes with Texinfo yields several different problems. +@@ -5926,10 +5926,37 @@ Also see @code{AC_STRUCT_DIRENT_D_INO} a + @cvindex MAJOR_IN_SYSMACROS + @hdrindex{sys/mkdev.h} + @hdrindex{sys/sysmacros.h} +-If @file{sys/types.h} does not define @code{major}, @code{minor}, and +-@code{makedev}, but @file{sys/mkdev.h} does, define +-@code{MAJOR_IN_MKDEV}; otherwise, if @file{sys/sysmacros.h} does, define +-@code{MAJOR_IN_SYSMACROS}. ++Detect the headers required to use @code{makedev}, @code{major}, and ++@code{minor}. These functions may be defined by @file{sys/mkdev.h}, ++@code{sys/sysmacros.h}, or @file{sys/types.h}. ++ ++@code{AC_HEADER_MAJOR} defines @code{MAJOR_IN_MKDEV} if they are in ++@file{sys/mkdev.h}, or @code{MAJOR_IN_SYSMACROS} if they are in ++@file{sys/sysmacros.h}. If neither macro is defined, they are either in ++@file{sys/types.h} or unavailable. ++ ++To properly use these functions, your code should contain something ++like: ++ ++@verbatim ++#include <sys/types.h> ++#ifdef MAJOR_IN_MKDEV ++# include <sys/mkdev.h> ++#elif defined MAJOR_IN_SYSMACROS ++# include <sys/sysmacros.h> ++#endif ++@end verbatim ++ ++Note: Configure scripts built with Autoconf 2.69 or earlier will not ++detect a problem if @file{sys/types.h} contains definitions of ++@code{major}, @code{minor}, and/or @code{makedev} that trigger compiler ++warnings upon use. This is known to occur with GNU libc 2.25, where ++those definitions are being deprecated to reduce namespace pollution. ++If it is not practical to use Autoconf 2.70 to regenerate the configure ++script of affected software, you can work around the problem by setting ++@samp{ac_cv_header_sys_types_h_makedev=no}, as an argument to ++@command{configure} or as part of a @file{config.site} site default file ++(@pxref{Site Defaults}). + @end defmac + + @defmac AC_HEADER_RESOLV +Index: autoconf-2.69/lib/autoconf/headers.m4 +=================================================================== +--- autoconf-2.69.orig/lib/autoconf/headers.m4 ++++ autoconf-2.69/lib/autoconf/headers.m4 +@@ -502,31 +502,29 @@ fi + + # AC_HEADER_MAJOR + # --------------- ++# Thanks to glibc 2.25 deprecating macros in sys/types.h, coupled with ++# back-compat to autoconf 2.69, we need the following logic: ++# Check whether <sys/types.h> compiles. ++# If <sys/mkdev.h> compiles, assume it provides major/minor/makedev. ++# Otherwise, if <sys/sysmacros.h> compiles, assume it provides the macros. ++# Otherwise, either the macros were provided by <sys/types.h>, or do ++# not exist on the platform. Code trying to use these three macros is ++# assumed to not care about platforms that lack the macros. + AN_FUNCTION([major], [AC_HEADER_MAJOR]) + AN_FUNCTION([makedev], [AC_HEADER_MAJOR]) + AN_FUNCTION([minor], [AC_HEADER_MAJOR]) + AN_HEADER([sys/mkdev.h], [AC_HEADER_MAJOR]) + AC_DEFUN([AC_HEADER_MAJOR], +-[AC_CACHE_CHECK(whether sys/types.h defines makedev, +- ac_cv_header_sys_types_h_makedev, +-[AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <sys/types.h>]], +- [[return makedev(0, 0);]])], +- [ac_cv_header_sys_types_h_makedev=yes], +- [ac_cv_header_sys_types_h_makedev=no]) +-]) +- +-if test $ac_cv_header_sys_types_h_makedev = no; then ++[AC_CHECK_HEADERS_ONCE([sys/types.h]) + AC_CHECK_HEADER(sys/mkdev.h, + [AC_DEFINE(MAJOR_IN_MKDEV, 1, + [Define to 1 if `major', `minor', and `makedev' are + declared in <mkdev.h>.])]) +- +- if test $ac_cv_header_sys_mkdev_h = no; then +- AC_CHECK_HEADER(sys/sysmacros.h, +- [AC_DEFINE(MAJOR_IN_SYSMACROS, 1, +- [Define to 1 if `major', `minor', and `makedev' +- are declared in <sysmacros.h>.])]) +- fi ++if test $ac_cv_header_sys_mkdev_h = no; then ++ AC_CHECK_HEADER(sys/sysmacros.h, ++ [AC_DEFINE(MAJOR_IN_SYSMACROS, 1, ++ [Define to 1 if `major', `minor', and `makedev' ++ are declared in <sysmacros.h>.])]) + fi + ])# AC_HEADER_MAJOR + diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/add_musl_config.patch b/poky/meta/recipes-devtools/autoconf/autoconf/add_musl_config.patch new file mode 100644 index 000000000..a9094d212 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/add_musl_config.patch @@ -0,0 +1,26 @@ +backport http://git.savannah.gnu.org/cgit/config.git/commit/config.sub?id=062587eaa891396c936555ae51f7e77eeb71a5fe + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Backport +Index: autoconf-2.69/build-aux/config.sub +=================================================================== +--- autoconf-2.69.orig/build-aux/config.sub ++++ autoconf-2.69/build-aux/config.sub +@@ -123,7 +123,7 @@ esac + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` + case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ +- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ ++ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) +@@ -1360,7 +1360,7 @@ case $os in + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ +- | -linux-newlib* | -linux-uclibc* \ ++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/autoconf-replace-w-option-in-shebangs-with-modern-use-warnings.patch b/poky/meta/recipes-devtools/autoconf/autoconf/autoconf-replace-w-option-in-shebangs-with-modern-use-warnings.patch new file mode 100644 index 000000000..ae0e3825f --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/autoconf-replace-w-option-in-shebangs-with-modern-use-warnings.patch @@ -0,0 +1,120 @@ +From 236552ff5b9f1ebf666d8d0e9850007dcce03d26 Mon Sep 17 00:00:00 2001 +From: Serhii Popovych <spopovyc@cisco.com> +Date: Wed, 10 Feb 2016 16:32:44 +0000 +Subject: [PATCH] perl: Replace -w option in shebangs with modern "use + warnings" + +In some builds we might provide ac_cv_path_PERL as /usr/bin/env perl +to use newer version of the perl from users PATH rather than +older from standard system path. + +However using /usr/bin/env perl -w from shebang line isn't +possible because it translates to something like +/usr/bin/env -w perl and env complains about illegal option. + +To address this we can remove -w option from perl shebang +line and add "use warnings" statement. + +Upstream-Status: Pending +Signed-off-by: Serhii Popovych <spopovyc@cisco.com> +--- + bin/autom4te.in | 3 ++- + bin/autoreconf.in | 3 ++- + bin/autoscan.in | 3 ++- + bin/autoupdate.in | 3 ++- + bin/ifnames.in | 3 ++- + 5 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/bin/autom4te.in b/bin/autom4te.in +index 11773c9..a8f5e41 100644 +--- a/bin/autom4te.in ++++ b/bin/autom4te.in +@@ -1,4 +1,4 @@ +-#! @PERL@ -w ++#! @PERL@ + # -*- perl -*- + # @configure_input@ + +@@ -42,6 +42,7 @@ use Autom4te::General; + use Autom4te::XFile; + use File::Basename; + use strict; ++use warnings; + + # Data directory. + my $pkgdatadir = $ENV{'AC_MACRODIR'} || '@pkgdatadir@'; +diff --git a/bin/autoreconf.in b/bin/autoreconf.in +index e245db4..1a318cb 100644 +--- a/bin/autoreconf.in ++++ b/bin/autoreconf.in +@@ -1,4 +1,4 @@ +-#! @PERL@ -w ++#! @PERL@ + # -*- perl -*- + # @configure_input@ + +@@ -45,6 +45,7 @@ use Autom4te::XFile; + # Do not use Cwd::chdir, since it might hang. + use Cwd 'cwd'; + use strict; ++use warnings; + + ## ----------- ## + ## Variables. ## +diff --git a/bin/autoscan.in b/bin/autoscan.in +index a67c48d..b931249 100644 +--- a/bin/autoscan.in ++++ b/bin/autoscan.in +@@ -1,4 +1,4 @@ +-#! @PERL@ -w ++#! @PERL@ + # -*- perl -*- + # @configure_input@ + +@@ -43,6 +43,7 @@ use Autom4te::XFile; + use File::Basename; + use File::Find; + use strict; ++use warnings; + + use vars qw(@cfiles @makefiles @shfiles @subdirs %printed); + +diff --git a/bin/autoupdate.in b/bin/autoupdate.in +index 9737d49..92cb147 100644 +--- a/bin/autoupdate.in ++++ b/bin/autoupdate.in +@@ -1,4 +1,4 @@ +-#! @PERL@ -w ++#! @PERL@ + # -*- perl -*- + # @configure_input@ + +@@ -44,6 +44,7 @@ use Autom4te::General; + use Autom4te::XFile; + use File::Basename; + use strict; ++use warnings; + + # Lib files. + my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@'; +diff --git a/bin/ifnames.in b/bin/ifnames.in +index ba2cd05..74b0278 100644 +--- a/bin/ifnames.in ++++ b/bin/ifnames.in +@@ -1,4 +1,4 @@ +-#! @PERL@ -w ++#! @PERL@ + # -*- perl -*- + # @configure_input@ + +@@ -44,6 +44,7 @@ BEGIN + use Autom4te::General; + use Autom4te::XFile; + use Autom4te::FileUtils; ++use warnings; + + # $HELP + # ----- +-- +2.3.0 + diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/autoreconf-exclude.patch b/poky/meta/recipes-devtools/autoconf/autoconf/autoreconf-exclude.patch new file mode 100644 index 000000000..d1bd3a2a3 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/autoreconf-exclude.patch @@ -0,0 +1,139 @@ +Upstream-Status: Pending + +Index: autoconf-2.63/bin/autoreconf.in +=================================================================== +--- autoconf-2.63.orig/bin/autoreconf.in 2008-12-31 17:39:01.000000000 +0000 ++++ autoconf-2.63/bin/autoreconf.in 2008-12-31 17:43:38.000000000 +0000 +@@ -76,6 +76,7 @@ + -i, --install copy missing auxiliary files + --no-recursive don't rebuild sub-packages + -s, --symlink with -i, install symbolic links instead of copies ++ -x, --exclude=STEPS steps we should not run + -m, --make when applicable, re-run ./configure && make + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax] + +@@ -136,6 +137,13 @@ + # Recurse into subpackages + my $recursive = 1; + ++# Steps to exclude ++my @exclude; ++my @ex; ++ ++my $uses_gettext; ++my $configure_ac; ++ + ## ---------- ## + ## Routines. ## + ## ---------- ## +@@ -153,6 +161,7 @@ + 'B|prepend-include=s' => \@prepend_include, + 'i|install' => \$install, + 's|symlink' => \$symlink, ++ 'x|exclude=s' => \@exclude, + 'm|make' => \$run_make, + 'recursive!' => \$recursive); + +@@ -162,6 +171,8 @@ + parse_WARNINGS; + parse_warnings '--warnings', @warning; + ++ @exclude = map { split /,/ } @exclude; ++ + # Even if the user specified a configure.ac, trim to get the + # directory, and look for configure.ac again. Because (i) the code + # is simpler, and (ii) we are still able to diagnose simultaneous +@@ -255,6 +266,11 @@ + { + my ($aclocal, $flags) = @_; + ++ @ex = grep (/^aclocal$/, @exclude); ++ if ($#ex != -1) { ++ return; ++ } ++ + # aclocal 1.8+ does all this for free. It can be recognized by its + # --force support. + if ($aclocal_supports_force) +@@ -368,7 +384,10 @@ + } + else + { +- xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint"); ++ @ex = grep (/^autopoint$/, @exclude); ++ if ($#ex == -1) { ++ xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint"); ++ } + } + + +@@ -532,16 +551,17 @@ + { + $libtoolize .= " --ltdl"; + } +- xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize); +- $rerun_aclocal = 1; ++ @ex = grep (/^libtoolize$/, @exclude); ++ if ($#ex == -1) { ++ xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize); ++ $rerun_aclocal = 1; ++ } + } + else + { + verb "$configure_ac: not running libtoolize: --install not given"; + } + +- +- + # ------------------- # + # Rerunning aclocal. # + # ------------------- # +@@ -572,7 +592,10 @@ + # latter runs the former, and (ii) autoconf is stricter than + # autoheader. So all in all, autoconf should give better error + # messages. +- xsystem ($autoconf); ++ @ex = grep (/^autoconf$/, @exclude); ++ if ($#ex == -1) { ++ xsystem ("$autoconf"); ++ } + + + # -------------------- # +@@ -593,7 +616,10 @@ + } + else + { +- xsystem ($autoheader); ++ @ex = grep (/^autoheader$/, @exclude); ++ if ($#ex == -1) { ++ xsystem ("$autoheader"); ++ } + } + + +@@ -610,7 +636,10 @@ + # We should always run automake, and let it decide whether it shall + # update the file or not. In fact, the effect of `$force' is already + # included in `$automake' via `--no-force'. +- xsystem ($automake); ++ @ex = grep (/^automake$/, @exclude); ++ if ($#ex == -1) { ++ xsystem ("$automake"); ++ } + } + + +@@ -634,7 +663,10 @@ + } + else + { +- xsystem ("$make"); ++ @ex = grep (/^make$/, @exclude); ++ if ($#ex == -1) { ++ xsystem ("$make"); ++ } + } + } + } diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/autoreconf-gnuconfigize.patch b/poky/meta/recipes-devtools/autoconf/autoconf/autoreconf-gnuconfigize.patch new file mode 100644 index 000000000..5ff18c235 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/autoreconf-gnuconfigize.patch @@ -0,0 +1,38 @@ +Upstream-Status: Pending + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +Index: autoconf-2.63/bin/autoreconf.in +=================================================================== +--- autoconf-2.63.orig/bin/autoreconf.in 2008-12-31 17:43:55.000000000 +0000 ++++ autoconf-2.63/bin/autoreconf.in 2008-12-31 17:46:16.000000000 +0000 +@@ -58,7 +58,7 @@ + $help = "Usage: $0 [OPTION]... [DIRECTORY]... + + Run `autoconf' (and `autoheader', `aclocal', `automake', `autopoint' +-(formerly `gettextize'), and `libtoolize' where appropriate) ++(formerly `gettextize'), `libtoolize', and `gnu-configize' where appropriate) + repeatedly to remake the GNU Build System files in specified + DIRECTORIES and their subdirectories (defaulting to `.'). + +@@ -115,6 +115,7 @@ + my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize'; + my $autopoint = $ENV{'AUTOPOINT'} || 'autopoint'; + my $make = $ENV{'MAKE'} || 'make'; ++my $gnuconfigize = $ENV{'GNUCONFIGIZE'} || 'gnu-configize'; + + # --install -- as --add-missing in other tools. + my $install = 0; +@@ -644,6 +645,10 @@ + } + } + ++ @ex = grep (/^gnu-configize$/, @exclude); ++ if ($#ex == -1) { ++ xsystem ("$gnuconfigize"); ++ } + + # -------------- # + # Running make. # diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/autotest-automake-result-format.patch b/poky/meta/recipes-devtools/autoconf/autoconf/autotest-automake-result-format.patch new file mode 100644 index 000000000..b5e8174ef --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/autotest-automake-result-format.patch @@ -0,0 +1,136 @@ +From a7e722f974e2529d3e564d8d94c86cc8bdbc40e7 Mon Sep 17 00:00:00 2001 +From: Radu Patriu <radu.patriu@enea.com> +Date: Mon, 24 Mar 2014 16:33:19 +0200 +Subject: [PATCH] autotest: new 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; +will be used by yocto ptest packages. + +Upstream-Status: Pending + +Signed-off-by: Radu Patriu <radu.patriu@enea.com> +--- + lib/autotest/general.m4 | 39 +++++++++++++++++++++++++++++---------- + 1 file changed, 29 insertions(+), 10 deletions(-) + +diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4 +index 60c0352..c1f5a9b 100644 +--- a/lib/autotest/general.m4 ++++ b/lib/autotest/general.m4 +@@ -412,6 +412,9 @@ at_recheck= + # Whether a write failure occurred + at_write_fail=0 + ++# Automake result format "result: testname" ++at_am_fmt=false ++ + # The directory we run the suite in. Default to . if no -C option. + at_dir=`pwd` + # An absolute reference to this testsuite script. +@@ -530,6 +533,10 @@ do + at_check_filter_trace=at_fn_filter_trace + ;; + ++ --am-fmt | -A ) ++ at_am_fmt=: ++ ;; ++ + [[0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]]) + at_fn_validate_ranges at_option + AS_VAR_APPEND([at_groups], ["$at_option$as_nl"]) +@@ -718,10 +725,10 @@ m4_divert_push([HELP_MODES])dnl + cat <<_ATEOF || at_write_fail=1 + + Operation modes: +- -h, --help print the help message, then exit +- -V, --version print version number, then exit +- -c, --clean remove all the files this test suite might create and exit +- -l, --list describes all the tests, or the selected TESTS ++ -h, --help print the help message, then exit ++ -V, --version print version number, then exit ++ -c, --clean remove all the files this test suite might create and exit ++ -l, --list describes all the tests, or the selected TESTS + _ATEOF + m4_divert_pop([HELP_MODES])dnl + m4_wrap([m4_divert_push([HELP_TUNING_BEGIN])dnl +@@ -747,6 +754,7 @@ Execution tuning: + -d, --debug inhibit clean up and top-level logging + [ default for debugging scripts] + -x, --trace enable tests shell tracing ++ -A, --am-fmt automake result format "result: testname" + _ATEOF + m4_divert_pop([HELP_TUNING_BEGIN])])dnl + m4_divert_push([HELP_END])dnl +@@ -1162,7 +1170,9 @@ at_fn_group_banner () + [*]) at_desc_line="$[1]: " ;; + esac + AS_VAR_APPEND([at_desc_line], ["$[3]$[4]"]) +- $at_quiet AS_ECHO_N(["$at_desc_line"]) ++ if ! $at_am_fmt; then ++ $at_quiet AS_ECHO_N(["$at_desc_line"]) ++ fi + echo "# -*- compilation -*-" >> "$at_group_log" + } + +@@ -1188,42 +1198,51 @@ _ATEOF + case $at_xfail:$at_status in + yes:0) + at_msg="UNEXPECTED PASS" ++ at_am_msg="XPASS" + at_res=xpass + at_errexit=$at_errexit_p + at_color=$at_red + ;; + no:0) + at_msg="ok" ++ at_am_msg="PASS" + at_res=pass + at_errexit=false + at_color=$at_grn + ;; + *:77) + at_msg='skipped ('`cat "$at_check_line_file"`')' ++ at_am_msg="SKIP" + at_res=skip + at_errexit=false + at_color=$at_blu + ;; + no:* | *:99) + at_msg='FAILED ('`cat "$at_check_line_file"`')' ++ at_am_msg="FAIL" + at_res=fail + at_errexit=$at_errexit_p + at_color=$at_red + ;; + yes:*) + at_msg='expected failure ('`cat "$at_check_line_file"`')' ++ at_am_msg="XFAIL" + at_res=xfail + at_errexit=false + at_color=$at_lgn + ;; + esac + echo "$at_res" > "$at_job_dir/$at_res" +- # In parallel mode, output the summary line only afterwards. +- if test $at_jobs -ne 1 && test -n "$at_verbose"; then +- AS_ECHO(["$at_desc_line $at_color$at_msg$at_std"]) ++ if $at_am_fmt; then ++ AS_ECHO(["$at_am_msg: $at_desc"]) + else +- # Make sure there is a separator even with long titles. +- AS_ECHO([" $at_color$at_msg$at_std"]) ++ # In parallel mode, output the summary line only afterwards. ++ if test $at_jobs -ne 1 && test -n "$at_verbose"; then ++ AS_ECHO(["$at_desc_line $at_color$at_msg$at_std"]) ++ else ++ # Make sure there is a separator even with long titles. ++ AS_ECHO([" $at_color$at_msg$at_std"]) ++ fi + fi + at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" + case $at_status in +-- +1.7.9.5 + diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/check-automake-cross-warning.patch b/poky/meta/recipes-devtools/autoconf/autoconf/check-automake-cross-warning.patch new file mode 100644 index 000000000..73394d7d5 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/check-automake-cross-warning.patch @@ -0,0 +1,34 @@ +Use --warning=cross only if supported by automake + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Constantin Musca <constantinx.musca@intel.com> + +--- a/bin/autoreconf.in ++++ b/bin/autoreconf.in +@@ -127,6 +127,8 @@ my $aclocal_supports_warnings = 0; + my $automake_supports_force_missing = 0; + # Does automake support -Wfoo? + my $automake_supports_warnings = 0; ++# Does automake support --warning=cross ++my $automake_supports_cross_warning = 0; + + my @prepend_include; + my @include; +@@ -191,6 +193,7 @@ sub parse_args () + $aclocal_supports_warnings = $aclocal_help =~ /--warnings/; + $automake_supports_force_missing = $automake_help =~ /--force-missing/; + $automake_supports_warnings = $automake_help =~ /--warnings/; ++ $automake_supports_cross_warning = $automake_help =~ /cross/; + + # Dispatch autoreconf's option to the tools. + # --include; +@@ -244,6 +247,8 @@ sub parse_args () + $libtoolize .= ' --debug'; + } + # --warnings; ++ @warning = grep { $_ ne "cross" } @warning ++ if ! $automake_supports_cross_warning; + if (@warning) + { + my $warn = ' --warnings=' . join (',', @warning); diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/config_site.patch b/poky/meta/recipes-devtools/autoconf/autoconf/config_site.patch new file mode 100644 index 000000000..9f044404d --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/config_site.patch @@ -0,0 +1,40 @@ +Upstream-Status: Pending + +Poky provides a list of site files in CONFIG_SITE whereas autoconf +only expects one file. This patch changes autoconf to accept a list of +them. + +RP 1/2/10 + +Updated for 2.68 version: the CONFIG_SITE var was not getting used at all +fixed the 2.68 code +Nitin A Kamble <nitin.a.kamble@intel.com> 2011/05/27 + +Index: autoconf-2.68/lib/autoconf/general.m4 +=================================================================== +--- autoconf-2.68.orig/lib/autoconf/general.m4 ++++ autoconf-2.68/lib/autoconf/general.m4 +@@ -1878,7 +1878,6 @@ AU_DEFUN([AC_VALIDATE_CACHED_SYSTEM_TUPL + m4_define([AC_SITE_LOAD], + [# Prefer an explicitly selected file to automatically selected ones. + ac_site_file1=NONE +-ac_site_file2=NONE + if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in @%:@(( +@@ -1886,14 +1885,8 @@ if test -n "$CONFIG_SITE"; then + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +-elif test "x$prefix" != xNONE; then +- ac_site_file1=$prefix/share/config.site +- ac_site_file2=$prefix/etc/config.site +-else +- ac_site_file1=$ac_default_prefix/share/config.site +- ac_site_file2=$ac_default_prefix/etc/config.site + fi +-for ac_site_file in "$ac_site_file1" "$ac_site_file2" ++for ac_site_file in $ac_site_file1 + do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/fix_path_xtra.patch b/poky/meta/recipes-devtools/autoconf/autoconf/fix_path_xtra.patch new file mode 100644 index 000000000..65df88f8f --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/fix_path_xtra.patch @@ -0,0 +1,120 @@ +Upstream-Status: Pending + +We don't build xmkmf so any values returned from it are going to be wrong. +Using any paths in /usr/ for x headers/libs is a bad idea when cross compiling. +This patch removes them to stop any confusion. + +RP - 20071115 + +Index: autoconf-2.68/lib/autoconf/libs.m4 +=================================================================== +--- autoconf-2.68.orig/lib/autoconf/libs.m4 ++++ autoconf-2.68/lib/autoconf/libs.m4 +@@ -159,53 +159,6 @@ m4_popdef([AC_Lib_Name])dnl + # --------------------- # + + +-# _AC_PATH_X_XMKMF +-# ---------------- +-# Internal subroutine of _AC_PATH_X. +-# Set ac_x_includes and/or ac_x_libraries. +-m4_define([_AC_PATH_X_XMKMF], +-[AC_ARG_VAR(XMKMF, [Path to xmkmf, Makefile generator for X Window System])dnl +-rm -f -r conftest.dir +-if mkdir conftest.dir; then +- cd conftest.dir +- cat >Imakefile <<'_ACEOF' +-incroot: +- @echo incroot='${INCROOT}' +-usrlibdir: +- @echo usrlibdir='${USRLIBDIR}' +-libdir: +- @echo libdir='${LIBDIR}' +-_ACEOF +- if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then +- # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +- for ac_var in incroot usrlibdir libdir; do +- eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" +- done +- # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. +- for ac_extension in a so sl dylib la dll; do +- if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && +- test -f "$ac_im_libdir/libX11.$ac_extension"; then +- ac_im_usrlibdir=$ac_im_libdir; break +- fi +- done +- # Screen out bogus values from the imake configuration. They are +- # bogus both because they are the default anyway, and because +- # using them would break gcc on systems where it needs fixed includes. +- case $ac_im_incroot in +- /usr/include) ac_x_includes= ;; +- *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; +- esac +- case $ac_im_usrlibdir in +- /usr/lib | /usr/lib64 | /lib | /lib64) ;; +- *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; +- esac +- fi +- cd .. +- rm -f -r conftest.dir +-fi +-])# _AC_PATH_X_XMKMF +- +- + # _AC_PATH_X_DIRECT + # ----------------- + # Internal subroutine of _AC_PATH_X. +@@ -213,44 +166,7 @@ fi + m4_define([_AC_PATH_X_DIRECT], + [# Standard set of common directories for X headers. + # Check X11 before X11Rn because it is often a symlink to the current release. +-ac_x_header_dirs=' +-/usr/X11/include +-/usr/X11R7/include +-/usr/X11R6/include +-/usr/X11R5/include +-/usr/X11R4/include +- +-/usr/include/X11 +-/usr/include/X11R7 +-/usr/include/X11R6 +-/usr/include/X11R5 +-/usr/include/X11R4 +- +-/usr/local/X11/include +-/usr/local/X11R7/include +-/usr/local/X11R6/include +-/usr/local/X11R5/include +-/usr/local/X11R4/include +- +-/usr/local/include/X11 +-/usr/local/include/X11R7 +-/usr/local/include/X11R6 +-/usr/local/include/X11R5 +-/usr/local/include/X11R4 +- +-/usr/X386/include +-/usr/x386/include +-/usr/XFree86/include/X11 +- +-/usr/include +-/usr/local/include +-/usr/unsupported/include +-/usr/athena/include +-/usr/local/x11r5/include +-/usr/lpp/Xamples/include +- +-/usr/openwin/include +-/usr/openwin/share/include' ++ac_x_header_dirs='' + + if test "$ac_x_includes" = no; then + # Guess where to find include files, by looking for Xlib.h. +@@ -299,7 +215,6 @@ AC_DEFUN([_AC_PATH_X], + [AC_CACHE_VAL(ac_cv_have_x, + [# One or both of the vars are not set, and there is no cached value. + ac_x_includes=no ac_x_libraries=no +-_AC_PATH_X_XMKMF + _AC_PATH_X_DIRECT + case $ac_x_includes,$ac_x_libraries in #( + no,* | *,no | *\'*) diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/performance.patch b/poky/meta/recipes-devtools/autoconf/autoconf/performance.patch new file mode 100644 index 000000000..1842fe92b --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/performance.patch @@ -0,0 +1,60 @@ +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 exection causes PATH to be searched. + +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. + +RP +2015/11/28 +Upstream-Status: Inappropriate + +Index: autoconf-2.69/lib/m4sugar/m4sh.m4 +=================================================================== +--- autoconf-2.69.orig/lib/m4sugar/m4sh.m4 ++++ autoconf-2.69/lib/m4sugar/m4sh.m4 +@@ -1045,40 +1045,8 @@ m4_defun([_AS_ECHO_PREPARE], + [[as_nl=' + ' + export as_nl +-# Printing a long string crashes Solaris 7 /usr/bin/printf. +-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +-# Prefer a ksh shell builtin over an external printf program on Solaris, +-# but without wasting forks for bash or zsh. +-if test -z "$BASH_VERSION$ZSH_VERSION" \ +- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then +- as_echo='print -r --' +- as_echo_n='print -rn --' +-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +- as_echo='printf %s\n' +- as_echo_n='printf %s' +-else +- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then +- as_echo_body='eval /usr/ucb/echo -n "$][1$as_nl"' +- as_echo_n='/usr/ucb/echo -n' +- else +- as_echo_body='eval expr "X$][1" : "X\\(.*\\)"' +- as_echo_n_body='eval +- arg=$][1; +- case $arg in @%:@( +- *"$as_nl"*) +- expr "X$arg" : "X\\(.*\\)$as_nl"; +- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; +- esac; +- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" +- ' +- export as_echo_n_body +- as_echo_n='sh -c $as_echo_n_body as_echo' +- fi +- export as_echo_body +- as_echo='sh -c $as_echo_body as_echo' +-fi ++as_echo='printf %s\n' ++as_echo_n='printf %s' + ]])# _AS_ECHO_PREPARE + + diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/preferbash.patch b/poky/meta/recipes-devtools/autoconf/autoconf/preferbash.patch new file mode 100644 index 000000000..fa76ee9bd --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/preferbash.patch @@ -0,0 +1,25 @@ +This value is used to determine CONFIG_SHELL and SHELL which may get exported into +scripts shared via sstate onto other systems. + +Some systems have /bin/sh -> dash and others /bin/sh -> bash. Bash is preferred +but sometimes we can sometimes end up exporting /bin/sh yet use bashisms. + +This patch puts bash first in the search results which avoids the bash/dash confusion. + +RP 2012/9/23 + +Upstream-Status: Inappropriate [OE specific configuration] + +Index: autoconf-2.69/lib/m4sugar/m4sh.m4 +=================================================================== +--- autoconf-2.69.orig/lib/m4sugar/m4sh.m4 2012-03-07 17:35:26.000000000 +0000 ++++ autoconf-2.69/lib/m4sugar/m4sh.m4 2013-09-23 16:12:38.853597515 +0000 +@@ -229,7 +229,7 @@ + [_AS_PATH_WALK([/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH], + [case $as_dir in @%:@( + /*) +- for as_base in sh bash ksh sh5; do ++ for as_base in bash sh ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + AS_IF([{ test -f "$as_shell" || test -f "$as_shell.exe"; } && diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/program_prefix.patch b/poky/meta/recipes-devtools/autoconf/autoconf/program_prefix.patch new file mode 100644 index 000000000..978a401f0 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/program_prefix.patch @@ -0,0 +1,20 @@ +Upstream-Status: Pending + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- autoconf-2.57/lib/autoconf/general.m4~program_prefix ++++ autoconf-2.57/lib/autoconf/general.m4 +@@ -1676,8 +1676,9 @@ + # The aliases save the names the user supplied, while $host etc. + # will get canonicalized. + test -n "$target_alias" && +- test "$program_prefix$program_suffix$program_transform_name" = \ +- NONENONEs,x,x, && ++ test "$target_alias" != "$host_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && + program_prefix=${target_alias}-[]dnl + ])# AC_CANONICAL_TARGET + diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/remove-usr-local-lib-from-m4.patch b/poky/meta/recipes-devtools/autoconf/autoconf/remove-usr-local-lib-from-m4.patch new file mode 100644 index 000000000..55d2e2fe7 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/remove-usr-local-lib-from-m4.patch @@ -0,0 +1,29 @@ +We have problem using hardcoded directories like /usr/local here +which will be checked for cross builds. This is a special case which +is valid for AIX only. We do not have AIX as one of our supported +build host or target. Therefore we get rid of the hardcoded paths +and make life easier for cross compilation process. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate [Upstream does care for AIX while we may not] +Index: autoconf-2.68/lib/autoconf/functions.m4 +=================================================================== +--- autoconf-2.68.orig/lib/autoconf/functions.m4 2010-09-22 14:52:19.000000000 -0700 ++++ autoconf-2.68/lib/autoconf/functions.m4 2011-08-03 11:57:05.822199513 -0700 +@@ -749,15 +749,6 @@ if test $ac_have_func = no; then + [LIBS="-lutil $LIBS" ac_have_func=yes ac_cv_func_getloadavg_setgid=yes]) + fi + +-if test $ac_have_func = no; then +- # There is a commonly available library for RS/6000 AIX. +- # Since it is not a standard part of AIX, it might be installed locally. +- ac_getloadavg_LIBS=$LIBS +- LIBS="-L/usr/local/lib $LIBS" +- AC_CHECK_LIB(getloadavg, getloadavg, +- [LIBS="-lgetloadavg $LIBS"], [LIBS=$ac_getloadavg_LIBS]) +-fi +- + # Make sure it is really in the library, if we think we found it, + # otherwise set up the replacement function. + AC_CHECK_FUNCS(getloadavg, [], diff --git a/poky/meta/recipes-devtools/autoconf/autoconf_2.69.bb b/poky/meta/recipes-devtools/autoconf/autoconf_2.69.bb new file mode 100644 index 000000000..8e67f4b82 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf_2.69.bb @@ -0,0 +1,28 @@ +require autoconf.inc + +PR = "r11" + +LICENSE = "GPLv2 & GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ + file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504" +SRC_URI += "file://check-automake-cross-warning.patch \ + file://autoreconf-exclude.patch \ + file://autoreconf-gnuconfigize.patch \ + file://config_site.patch \ + file://remove-usr-local-lib-from-m4.patch \ + file://preferbash.patch \ + file://autotest-automake-result-format.patch \ + file://add_musl_config.patch \ + file://performance.patch \ + file://AC_HEADER_MAJOR-port-to-glibc-2.25.patch \ + file://autoconf-replace-w-option-in-shebangs-with-modern-use-warnings.patch \ + " + +SRC_URI[md5sum] = "82d05e03b93e45f5a39b828dc9c6c29b" +SRC_URI[sha256sum] = "954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969" + +SRC_URI_append_class-native = " file://fix_path_xtra.patch" + +EXTRA_OECONF += "ac_cv_path_M4=m4 ac_cv_prog_TEST_EMACS=no" + +BBCLASSEXTEND = "native nativesdk" |