diff options
author | Ross Burton <ross.burton@arm.com> | 2023-12-01 20:35:29 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-12-04 09:19:36 +0000 |
commit | 849bd6e300354279341dee054f934b76fe38ec7c (patch) | |
tree | bfd4cc80a97f197885fbd9566ab51d464d5bdf3b /meta/recipes-devtools/autoconf | |
parent | 1f8a639a67a192fa06cef15018a5cd5f7f94a602 (diff) | |
download | poky-849bd6e300354279341dee054f934b76fe38ec7c.tar.gz |
autoconf: upgrade to 2.72d
This is the first proper beta, so upgrade and drop all of the backports.
(From OE-Core rev: 7d09335538ad9e0fa4cd5d421e08247deb5e2306)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/autoconf')
29 files changed, 2 insertions, 3274 deletions
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch deleted file mode 100644 index 3faf6f0a81..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | From 5ffc09fca39de051537fbebd7c6c33d5255a520f Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Mon, 27 Mar 2023 18:10:36 -0700 | ||
4 | Subject: [PATCH 01/29] mention prototypes more prominently in NEWS | ||
5 | |||
6 | * NEWS: Mention the function prototype issue early. | ||
7 | (From a suggestion by Zack Weinberg.) | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | NEWS | 8 ++++++++ | ||
13 | 1 file changed, 8 insertions(+) | ||
14 | |||
15 | diff --git a/NEWS b/NEWS | ||
16 | index cf01ee210..d64648c6f 100644 | ||
17 | --- a/NEWS | ||
18 | +++ b/NEWS | ||
19 | @@ -4,6 +4,14 @@ GNU Autoconf NEWS - User visible changes. | ||
20 | |||
21 | ** Backward incompatibilities | ||
22 | |||
23 | +*** AC_CHECK_FUNC and similar macros now use function prototypes. | ||
24 | + AC_CHECK_FUNC and and similar macros now use C declarations with | ||
25 | + function prototypes, a feature introduced in C89. The new approach | ||
26 | + should work better with C23, which removed the non-prototyped K&R | ||
27 | + style that AC_CHECK_FUNC previously used. However, this change | ||
28 | + means Autoconf no longer supports pre-1989 C compilers, as they do | ||
29 | + not support function prototypes. | ||
30 | + | ||
31 | *** Autoconf now requires perl 5.10 (2007) or later. | ||
32 | Generated 'configure' scripts continue to run without perl. | ||
33 | |||
34 | -- | ||
35 | 2.41.0 | ||
36 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch deleted file mode 100644 index 35f324c4ae..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch +++ /dev/null | |||
@@ -1,123 +0,0 @@ | |||
1 | From e2220ed33e69d8bc6504e3f6279894afe33a99a5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Wed, 29 Mar 2023 12:59:09 -0700 | ||
4 | Subject: [PATCH 02/29] build: run "make fetch", which updated these: | ||
5 | |||
6 | * build-aux/texinfo.tex: Update from texinfo. | ||
7 | * lib/Autom4te/FileUtils.pm: Update from automake. | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | build-aux/texinfo.tex | 50 +++++++++++++++++++++------------------ | ||
13 | lib/Autom4te/FileUtils.pm | 5 +++- | ||
14 | 2 files changed, 31 insertions(+), 24 deletions(-) | ||
15 | |||
16 | diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex | ||
17 | index d25161109..55a002d27 100644 | ||
18 | --- a/build-aux/texinfo.tex | ||
19 | +++ b/build-aux/texinfo.tex | ||
20 | @@ -3,7 +3,7 @@ | ||
21 | % Load plain if necessary, i.e., if running under initex. | ||
22 | \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi | ||
23 | % | ||
24 | -\def\texinfoversion{2023-03-21.06} | ||
25 | +\def\texinfoversion{2023-03-27.21} | ||
26 | % | ||
27 | % Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc. | ||
28 | % | ||
29 | @@ -1102,27 +1102,33 @@ where each line of input produces a line of output.} | ||
30 | |||
31 | % Output page labels information. | ||
32 | % See PDF reference v.1.7 p.594, section 8.3.1. | ||
33 | +% Page label ranges must be increasing. | ||
34 | \ifpdf | ||
35 | \def\pagelabels{% | ||
36 | \def\title{0 << /P (T-) /S /D >>}% | ||
37 | - \edef\roman{\the\romancount << /S /r >>}% | ||
38 | - \edef\arabic{\the\arabiccount << /S /D >>}% | ||
39 | % | ||
40 | - % Page label ranges must be increasing. Remove any duplicates. | ||
41 | - % (There is a slight chance of this being wrong if e.g. there is | ||
42 | - % a @contents but no @titlepage, etc.) | ||
43 | - % | ||
44 | - \ifnum\romancount=0 \def\roman{}\fi | ||
45 | - \ifnum\arabiccount=0 \def\title{}% | ||
46 | - \else | ||
47 | - \ifnum\romancount=\arabiccount \def\roman{}\fi | ||
48 | - \fi | ||
49 | - % | ||
50 | - \ifnum\romancount<\arabiccount | ||
51 | - \pdfcatalog{/PageLabels << /Nums [\title \roman \arabic ] >> }\relax | ||
52 | + % support @contents at very end of document | ||
53 | + \ifnum\contentsendcount=\pagecount | ||
54 | + \ifnum\arabiccount<\romancount | ||
55 | + \pdfcatalog{/PageLabels << /Nums | ||
56 | + [\title | ||
57 | + \the\arabiccount << /S /D >> | ||
58 | + \the\romancount << /S /r >> | ||
59 | + ] >> }\relax | ||
60 | + \fi | ||
61 | + % no contents in document | ||
62 | + \else\ifnum\contentsendcount=0 | ||
63 | + \pdfcatalog{/PageLabels << /Nums | ||
64 | + [\title | ||
65 | + \the\arabiccount << /S /D >> | ||
66 | + ] >> }\relax | ||
67 | \else | ||
68 | - \pdfcatalog{/PageLabels << /Nums [\title \arabic \roman ] >> }\relax | ||
69 | - \fi | ||
70 | + \pdfcatalog{/PageLabels << /Nums | ||
71 | + [\title | ||
72 | + \the\romancount << /S /r >> | ||
73 | + \the\contentsendcount << /S /D >> | ||
74 | + ] >> }\relax | ||
75 | + \fi\fi | ||
76 | } | ||
77 | \else | ||
78 | \let\pagelabels\relax | ||
79 | @@ -1131,6 +1137,8 @@ where each line of input produces a line of output.} | ||
80 | \newcount\pagecount \pagecount=0 | ||
81 | \newcount\romancount \romancount=0 | ||
82 | \newcount\arabiccount \arabiccount=0 | ||
83 | +\newcount\contentsendcount \contentsendcount=0 | ||
84 | + | ||
85 | \ifpdf | ||
86 | \let\ptxadvancepageno\advancepageno | ||
87 | \def\advancepageno{% | ||
88 | @@ -6809,12 +6817,8 @@ might help (with 'rm \jobname.?? \jobname.??s')% | ||
89 | % Get ready to use Arabic numerals again | ||
90 | \def\contentsendroman{% | ||
91 | \lastnegativepageno = \pageno | ||
92 | - \global\pageno = \savepageno | ||
93 | - % | ||
94 | - % If \romancount > \arabiccount, the contents are at the end of the | ||
95 | - % document. Otherwise, advance where the Arabic numerals start for | ||
96 | - % the page numbers. | ||
97 | - \ifnum\romancount>\arabiccount\else\global\arabiccount=\pagecount\fi | ||
98 | + \global\pageno=1 | ||
99 | + \contentsendcount = \pagecount | ||
100 | } | ||
101 | |||
102 | % Typeset the label for a chapter or appendix for the short contents. | ||
103 | diff --git a/lib/Autom4te/FileUtils.pm b/lib/Autom4te/FileUtils.pm | ||
104 | index ab58b9de4..2468fe6d8 100644 | ||
105 | --- a/lib/Autom4te/FileUtils.pm | ||
106 | +++ b/lib/Autom4te/FileUtils.pm | ||
107 | @@ -39,9 +39,12 @@ use strict; | ||
108 | use warnings FATAL => 'all'; | ||
109 | |||
110 | use Exporter; | ||
111 | -use Time::HiRes qw(stat); | ||
112 | use IO::File; | ||
113 | |||
114 | +# use sub-second resolution timestamps if available, | ||
115 | +# carry on with one-second resolution timestamps if that is all we have | ||
116 | +BEGIN { eval { require Time::HiRes; import Time::HiRes qw(stat) } } | ||
117 | + | ||
118 | use Autom4te::Channels; | ||
119 | use Autom4te::ChannelDefs; | ||
120 | |||
121 | -- | ||
122 | 2.41.0 | ||
123 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch deleted file mode 100644 index 76c37a005b..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From e05aa447945c0d72ad924fd89a28830cf1a0f8d3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Fri, 31 Mar 2023 10:37:57 -0700 | ||
4 | Subject: [PATCH 03/29] * NEWS: Tighten up wording. | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | --- | ||
9 | NEWS | 4 +--- | ||
10 | 1 file changed, 1 insertion(+), 3 deletions(-) | ||
11 | |||
12 | diff --git a/NEWS b/NEWS | ||
13 | index d64648c6f..884e46f45 100644 | ||
14 | --- a/NEWS | ||
15 | +++ b/NEWS | ||
16 | @@ -5,9 +5,7 @@ GNU Autoconf NEWS - User visible changes. | ||
17 | ** Backward incompatibilities | ||
18 | |||
19 | *** AC_CHECK_FUNC and similar macros now use function prototypes. | ||
20 | - AC_CHECK_FUNC and and similar macros now use C declarations with | ||
21 | - function prototypes, a feature introduced in C89. The new approach | ||
22 | - should work better with C23, which removed the non-prototyped K&R | ||
23 | + This should work better with C23, which removed the non-prototyped K&R | ||
24 | style that AC_CHECK_FUNC previously used. However, this change | ||
25 | means Autoconf no longer supports pre-1989 C compilers, as they do | ||
26 | not support function prototypes. | ||
27 | -- | ||
28 | 2.41.0 | ||
29 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch deleted file mode 100644 index 1b30d9926c..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch +++ /dev/null | |||
@@ -1,82 +0,0 @@ | |||
1 | From 232cab527897bcdf4d55492d41af73d31905bda5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Fri, 31 Mar 2023 10:46:20 -0700 | ||
4 | Subject: [PATCH 04/29] Cater to programs misusing AC_EGREP_HEADER | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Problem reported by Frederic Berat in: | ||
10 | https://lists.gnu.org/archive/html/autoconf/2022-11/msg00127.html | ||
11 | * lib/autoconf/programs.m4 (AC_PROG_EGREP): Also set | ||
12 | EGREP_TRADITIONAL and ac_cv_path_EGREP_TRADITIONAL. | ||
13 | * tests/c.at (AC_PROG_EGREP and AC_EGREP_HEADER): | ||
14 | New test, taken from Frederic Berat’s email in: | ||
15 | https://lists.gnu.org/r/autoconf/2023-03/msg00043.html | ||
16 | |||
17 | Upstream-Status: Backport | ||
18 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
19 | --- | ||
20 | lib/autoconf/programs.m4 | 10 ++++++++++ | ||
21 | tests/c.at | 24 ++++++++++++++++++++++++ | ||
22 | 2 files changed, 34 insertions(+) | ||
23 | |||
24 | diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4 | ||
25 | index 1b7460c85..62ba6b8b6 100644 | ||
26 | --- a/lib/autoconf/programs.m4 | ||
27 | +++ b/lib/autoconf/programs.m4 | ||
28 | @@ -371,6 +371,16 @@ AC_CACHE_CHECK([for egrep], ac_cv_path_EGREP, | ||
29 | fi]) | ||
30 | EGREP="$ac_cv_path_EGREP" | ||
31 | AC_SUBST([EGREP]) | ||
32 | + dnl | ||
33 | + dnl Also set EGREP_TRADITIONAL even though unnecessary here, | ||
34 | + dnl for wrong but too-common code with the following pattern: | ||
35 | + dnl AC_PROG_EGREP | ||
36 | + dnl if false; then | ||
37 | + dnl AC_EGREP_HEADER([printf], [stdio.h], [has_printf=yes]) | ||
38 | + dnl fi | ||
39 | + dnl AC_EGREP_HEADER([malloc], [stdlib.h], [has_malloc=yes]) | ||
40 | + EGREP_TRADITIONAL=$EGREP | ||
41 | + ac_cv_path_EGREP_TRADITIONAL=$EGREP | ||
42 | ])# AC_PROG_EGREP | ||
43 | |||
44 | # _AC_PROG_EGREP_TRADITIONAL | ||
45 | diff --git a/tests/c.at b/tests/c.at | ||
46 | index c37f43b10..fad54760f 100644 | ||
47 | --- a/tests/c.at | ||
48 | +++ b/tests/c.at | ||
49 | @@ -232,6 +232,30 @@ AT_CHECK_DEFINES( | ||
50 | AT_CLEANUP | ||
51 | |||
52 | |||
53 | +## ----------------------------------- ## | ||
54 | +## AC_PROG_EGREP and AC_EGREP_HEADER. ## | ||
55 | +## ----------------------------------- ## | ||
56 | + | ||
57 | +AT_SETUP([AC_PROG_EGREP and AC_EGREP_HEADER]) | ||
58 | + | ||
59 | +_AT_CHECK_AC_MACRO( | ||
60 | +[[AC_PROG_CPP | ||
61 | + AC_PROG_EGREP | ||
62 | + | ||
63 | + # Although this code is incorrect (it should use AS_IF), | ||
64 | + # it follows a too-common real world pattern. | ||
65 | + # For now, test for it; we may remove this test later. | ||
66 | + if false; then | ||
67 | + AC_EGREP_HEADER([^], [limits.h]) | ||
68 | + fi | ||
69 | + | ||
70 | + AC_EGREP_HEADER([$], [limits.h], [], | ||
71 | + [AC_MSG_ERROR([[egrep-related macros do not tolerate misuse of 'if']])]) | ||
72 | +]]) | ||
73 | + | ||
74 | +AT_CLEANUP | ||
75 | + | ||
76 | + | ||
77 | ## ------------------------------------ ## | ||
78 | ## AC_NO_EXECUTABLES (working linker). ## | ||
79 | ## ------------------------------------ ## | ||
80 | -- | ||
81 | 2.41.0 | ||
82 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch deleted file mode 100644 index 53fb40b4df..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | From 713d9822bbfb2923115065efaefed34a0113f8a1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Sat, 1 Apr 2023 16:44:03 -0700 | ||
4 | Subject: [PATCH 06/29] Fix timing bug on high-speed builds | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Problem reported by Bogdan via Jacob Bachmeyer in: | ||
10 | https://lists.gnu.org/r/autoconf/2023-04/msg00002.html | ||
11 | * bin/autom4te.in: If a file timestamp equals a dependency’s | ||
12 | timestamp, consider the file to be out of date. Although this may | ||
13 | result in extra work, it fixes some rare timing bugs. | ||
14 | |||
15 | Upstream-Status: Backport | ||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | --- | ||
18 | bin/autom4te.in | 12 +++++------- | ||
19 | 1 file changed, 5 insertions(+), 7 deletions(-) | ||
20 | |||
21 | diff --git a/bin/autom4te.in b/bin/autom4te.in | ||
22 | index 4b61f0a82..71d7e6a62 100644 | ||
23 | --- a/bin/autom4te.in | ||
24 | +++ b/bin/autom4te.in | ||
25 | @@ -910,10 +910,8 @@ sub up_to_date ($) | ||
26 | return 0 | ||
27 | if ! -f $tfile || ! -f $ofile; | ||
28 | |||
29 | - # The youngest of the cache files must be older than the oldest of | ||
30 | + # The younger of the cache files must be older than the oldest of | ||
31 | # the dependencies. | ||
32 | - # FIXME: These timestamps have only 1-second resolution. | ||
33 | - # Time::HiRes fixes this, but assumes Perl 5.8 or later. | ||
34 | my $tmtime = mtime ($tfile); | ||
35 | my $omtime = mtime ($ofile); | ||
36 | my ($file, $mtime) = ($tmtime < $omtime | ||
37 | @@ -926,7 +924,7 @@ sub up_to_date ($) | ||
38 | # We depend at least upon the arguments. | ||
39 | foreach my $dep (@ARGV) | ||
40 | { | ||
41 | - if ($mtime < mtime ($dep)) | ||
42 | + if ($mtime <= mtime ($dep)) | ||
43 | { | ||
44 | verb "up_to_date ($file): outdated: $dep"; | ||
45 | return 0; | ||
46 | @@ -949,7 +947,7 @@ sub up_to_date ($) | ||
47 | # timestamp of that missing file was newer). | ||
48 | return 0 | ||
49 | if ! $dep; | ||
50 | - if ($mtime < mtime ($dep)) | ||
51 | + if ($mtime <= mtime ($dep)) | ||
52 | { | ||
53 | verb "up_to_date ($file): outdated: $dep"; | ||
54 | return 0; | ||
55 | @@ -1038,7 +1036,7 @@ $icache_file = new Autom4te::XFile $icache, O_RDWR|O_CREAT; | ||
56 | $icache_file->lock (LOCK_EX) | ||
57 | if ($flock_implemented eq "yes"); | ||
58 | |||
59 | -# Read the cache index if available and older than autom4te itself. | ||
60 | +# Read the cache index if available and younger than autom4te itself. | ||
61 | # If autom4te is younger, then some structures such as C4che might | ||
62 | # have changed, which would corrupt its processing. | ||
63 | Autom4te::C4che->load ($icache_file) | ||
64 | @@ -1105,7 +1103,7 @@ else | ||
65 | # Actual M4 expansion, if the user wants it, or if $output is old | ||
66 | # (STDOUT is pretty old). | ||
67 | handle_output ($req, $output) | ||
68 | - if $force || mtime ($output) < mtime ($ocache . $req->id); | ||
69 | + if $force || mtime ($output) <= mtime ($ocache . $req->id); | ||
70 | } | ||
71 | |||
72 | # If we ran up to here, the cache is valid. | ||
73 | -- | ||
74 | 2.41.0 | ||
75 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch deleted file mode 100644 index f9f9345ade..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
1 | From 794182506c3c5814d48b2fc4d832770f608ce0ef Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Sat, 1 Apr 2023 20:25:13 -0700 | ||
4 | Subject: [PATCH 07/29] Support underquoted callers better | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Problem reported bh Khem Raj for mcpp 2.7.2 (2008) in: | ||
10 | https://lists.gnu.org/r/autoconf/2023-04/msg00001.html | ||
11 | * lib/autoconf/programs.m4 (_AC_PATH_PROG_FLAVOR_GNU): | ||
12 | Add two ‘@%:@(’s to cater to underquoted callers. | ||
13 | * lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Use quadrigraph instead of | ||
14 | ‘#’, for underquoted callers. | ||
15 | |||
16 | Upstream-Status: Backport | ||
17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
18 | --- | ||
19 | lib/autoconf/programs.m4 | 5 +++-- | ||
20 | lib/m4sugar/m4sh.m4 | 2 +- | ||
21 | 2 files changed, 4 insertions(+), 3 deletions(-) | ||
22 | |||
23 | diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4 | ||
24 | index 62ba6b8b6..d06d18c44 100644 | ||
25 | --- a/lib/autoconf/programs.m4 | ||
26 | +++ b/lib/autoconf/programs.m4 | ||
27 | @@ -543,11 +543,12 @@ dnl # for best performing tool in a list breaks down. | ||
28 | # ---------------------------------------------------------------- | ||
29 | m4_define([_AC_PATH_PROG_FLAVOR_GNU], | ||
30 | [# Check for GNU $1 | ||
31 | -case `"$1" --version 2>&1` in | ||
32 | +case `"$1" --version 2>&1` in @%:@( | ||
33 | *GNU*) | ||
34 | $2;; | ||
35 | m4_ifval([$3], | ||
36 | -[*) | ||
37 | +[@%:@( | ||
38 | +*) | ||
39 | $3;; | ||
40 | ])esac | ||
41 | ])# _AC_PATH_PROG_FLAVOR_GNU | ||
42 | diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4 | ||
43 | index ab5ca7db7..368487fa0 100644 | ||
44 | --- a/lib/m4sugar/m4sh.m4 | ||
45 | +++ b/lib/m4sugar/m4sh.m4 | ||
46 | @@ -1389,7 +1389,7 @@ m4_if([$1], m4_translit([[$1]], [:;]), | ||
47 | for as_dir in $as_dummy]) | ||
48 | do | ||
49 | IFS=$as_save_IFS | ||
50 | - case $as_dir in #((( | ||
51 | + case $as_dir in @%:@((( | ||
52 | '') as_dir=./ ;; | ||
53 | */) ;; | ||
54 | *) as_dir=$as_dir/ ;; | ||
55 | -- | ||
56 | 2.41.0 | ||
57 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch deleted file mode 100644 index cec7dcddef..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | From 8babe5f2ccb73cc574933743b381557a4db02424 Mon Sep 17 00:00:00 2001 | ||
2 | From: Zack Weinberg <zackw@panix.com> | ||
3 | Date: Thu, 30 Mar 2023 10:50:36 -0400 | ||
4 | Subject: [PATCH 08/29] New script for building inside Guix containers. | ||
5 | |||
6 | build-aux/test-build-guix, goes with the top level manifest.scm. | ||
7 | See the top of the file for usage instructions. | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | build-aux/test-build-guix | 30 ++++++++++++++++++++++++++++++ | ||
13 | 1 file changed, 30 insertions(+) | ||
14 | create mode 100755 build-aux/test-build-guix | ||
15 | |||
16 | diff --git a/build-aux/test-build-guix b/build-aux/test-build-guix | ||
17 | new file mode 100755 | ||
18 | index 000000000..4470af9b7 | ||
19 | --- /dev/null | ||
20 | +++ b/build-aux/test-build-guix | ||
21 | @@ -0,0 +1,30 @@ | ||
22 | +#! /bin/sh | ||
23 | + | ||
24 | +# From a pristine Git checkout, run | ||
25 | +# guix shell --container --manifest=manifest.scm -- build-aux/test-build-guix | ||
26 | +# to perform a complete bootstrap and test build of Autoconf. | ||
27 | + | ||
28 | +set -ex | ||
29 | + | ||
30 | +# Guix bug? /bin/sh is usually *not* the shell specified in the manifest. | ||
31 | +SHELL="$(command -v sh)" | ||
32 | +export SHELL | ||
33 | +if [ "$(realpath /bin/sh)" != "$(realpath "$SHELL")" ]; then | ||
34 | + ( | ||
35 | + cd /bin | ||
36 | + rm sh | ||
37 | + ln -s "$SHELL" sh | ||
38 | + ) | ||
39 | + exec "$SHELL" "$0" "$@" | ||
40 | +fi | ||
41 | + | ||
42 | +./bootstrap | ||
43 | +if [ -d _build ]; then | ||
44 | + rm -rf _build/* | ||
45 | +else | ||
46 | + mkdir _build | ||
47 | +fi | ||
48 | +cd _build | ||
49 | +../configure | ||
50 | +make all info pdf dvi | ||
51 | +make distcheck | ||
52 | -- | ||
53 | 2.41.0 | ||
54 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch deleted file mode 100644 index c1c60dcf53..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch +++ /dev/null | |||
@@ -1,82 +0,0 @@ | |||
1 | From dcf9bb7e3b12f3bd74edff60e80b53e668159579 Mon Sep 17 00:00:00 2001 | ||
2 | From: Zack Weinberg <zackw@panix.com> | ||
3 | Date: Sun, 2 Apr 2023 10:27:08 -0400 | ||
4 | Subject: [PATCH 09/29] AC_XENIX_DIR: Rewrite using AC_CANONICAL_HOST. | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | AC_XENIX_DIR is an obsolete macro, defined as AC_HEADER_DIRENT plus | ||
10 | code to make absolutely sure configure scripts that depended on a | ||
11 | shell variable internal to the original (2.13 era) definition of | ||
12 | AC_XENIX_DIR are not broken by autoupdate. (That variable had the | ||
13 | temptingly public-sounding name “XENIX.”) This compatibility code | ||
14 | uses AC_EGREP_CPP, which is itself discouraged for use in new | ||
15 | configure scripts. | ||
16 | |||
17 | (N.B. codesearch.debian.net does not find any uses whatsoever of | ||
18 | this macro, nor any code in an .ac or .m4 file that depends on the | ||
19 | XENIX variable.) | ||
20 | |||
21 | Change the compatibility code to use AC_CANONICAL_HOST instead, | ||
22 | and clarify which pieces of the code inserted by autoupdate are | ||
23 | probably still necessary. | ||
24 | |||
25 | * lib/autoconf/specific.m4 (AC_XENIX_DIR): Set XENIX variable | ||
26 | based on value of host_os. Clarify what manual cleanup is | ||
27 | recommended after autoupdate replaces this obsolete macro. | ||
28 | |||
29 | Upstream-Status: Backport | ||
30 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
31 | --- | ||
32 | lib/autoconf/specific.m4 | 26 +++++++++++--------------- | ||
33 | 1 file changed, 11 insertions(+), 15 deletions(-) | ||
34 | |||
35 | diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 | ||
36 | index 1b3ee661b..a2dc5d488 100644 | ||
37 | --- a/lib/autoconf/specific.m4 | ||
38 | +++ b/lib/autoconf/specific.m4 | ||
39 | @@ -754,9 +754,9 @@ dnl it should only be defined when necessary. | ||
40 | ## Checks for UNIX variants. ## | ||
41 | ## -------------------------- ## | ||
42 | |||
43 | - | ||
44 | -# These are kludges which should be replaced by a single POSIX check. | ||
45 | -# They aren't cached, to discourage their use. | ||
46 | +# These macros are all obsolete, from the early days of Autoconf, | ||
47 | +# before the invention of AC_CANONICAL_SYSTEM. Autoupdate will | ||
48 | +# replace each with inline code for a more modern feature check. | ||
49 | |||
50 | # AC_AIX | ||
51 | # ------ | ||
52 | @@ -776,19 +776,15 @@ AU_DEFUN([AC_ISC_POSIX], [AC_SEARCH_LIBS([strerror], [cposix])]) | ||
53 | # AC_XENIX_DIR | ||
54 | # ------------ | ||
55 | AU_DEFUN([AC_XENIX_DIR], | ||
56 | -[AC_MSG_CHECKING([for Xenix]) | ||
57 | -AC_EGREP_CPP([yes], | ||
58 | -[#if defined M_XENIX && ! defined M_UNIX | ||
59 | - yes | ||
60 | -@%:@endif], | ||
61 | - [AC_MSG_RESULT([yes]); XENIX=yes], | ||
62 | - [AC_MSG_RESULT([no]); XENIX=]) | ||
63 | - | ||
64 | -AC_HEADER_DIRENT[]dnl | ||
65 | +[AC_HEADER_DIRENT | ||
66 | +# Autoupdate added the next two lines to ensure that your configure | ||
67 | +# script's behavior did not change. They are safe to remove unless | ||
68 | +# you have code that depends on the XENIX shell variable. | ||
69 | +AC_CANONICAL_HOST | ||
70 | +AS_CASE([$host_os], [xenix*], [XENIX=yes], [XENIX=no]) | ||
71 | +# End of code added by autoupdate | ||
72 | ], | ||
73 | -[You shouldn't need to depend upon XENIX. Remove the | ||
74 | -'AC_MSG_CHECKING', 'AC_EGREP_CPP', and this warning if this part | ||
75 | -of the test is useless.]) | ||
76 | +[Check for code depending on the XENIX shell variable.]) | ||
77 | |||
78 | |||
79 | # AC_DYNIX_SEQ | ||
80 | -- | ||
81 | 2.41.0 | ||
82 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch deleted file mode 100644 index 49322712ac..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch +++ /dev/null | |||
@@ -1,77 +0,0 @@ | |||
1 | From 51d98495d1aac00970d791f064e83ca762bf81c7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Zack Weinberg <zackw@panix.com> | ||
3 | Date: Sun, 2 Apr 2023 10:43:51 -0400 | ||
4 | Subject: [PATCH 10/29] AC_TYPE_UID_T: Rewrite using AC_CHECK_TYPE. | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | AC_TYPE_UID_T uses AC_EGREP_HEADER to search sys/types.h for | ||
10 | occurrences of the string ‘uid_t’ and, if found, assumes both | ||
11 | uid_t and gid_t are available. This would be better done using | ||
12 | a pair of AC_CHECK_TYPE operations. | ||
13 | |||
14 | I also converted two uses of old-style AC_CHECK_TYPE, immediately | ||
15 | below, to new-style. (There are probably other old-style uses in | ||
16 | this file, I only did the ones I happened to see.) | ||
17 | |||
18 | * lib/autoconf/types.m4 (AC_TYPE_UID_T): Check for uid_t and gid_t, | ||
19 | separately, using AC_CHECK_TYPE, instead of grepping sys/types.h. | ||
20 | (AC_TYPE_SIZE_T, AC_TYPE_SSIZE_T): Use new-style AC_CHECK_TYPE. | ||
21 | |||
22 | Upstream-Status: Backport | ||
23 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
24 | --- | ||
25 | lib/autoconf/types.m4 | 30 +++++++++++++++++------------- | ||
26 | 1 file changed, 17 insertions(+), 13 deletions(-) | ||
27 | |||
28 | diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4 | ||
29 | index ebac0cf6d..ef2456135 100644 | ||
30 | --- a/lib/autoconf/types.m4 | ||
31 | +++ b/lib/autoconf/types.m4 | ||
32 | @@ -589,25 +589,29 @@ AC_DEFUN([AC_TYPE_MBSTATE_T], | ||
33 | |||
34 | # AC_TYPE_UID_T | ||
35 | # ------------- | ||
36 | -# FIXME: Rewrite using AC_CHECK_TYPE. | ||
37 | AN_IDENTIFIER([gid_t], [AC_TYPE_UID_T]) | ||
38 | AN_IDENTIFIER([uid_t], [AC_TYPE_UID_T]) | ||
39 | AC_DEFUN([AC_TYPE_UID_T], | ||
40 | -[AC_CACHE_CHECK(for uid_t in sys/types.h, ac_cv_type_uid_t, | ||
41 | -[AC_EGREP_HEADER(uid_t, sys/types.h, | ||
42 | - ac_cv_type_uid_t=yes, ac_cv_type_uid_t=no)]) | ||
43 | -if test $ac_cv_type_uid_t = no; then | ||
44 | - AC_DEFINE(uid_t, int, [Define to 'int' if <sys/types.h> doesn't define.]) | ||
45 | - AC_DEFINE(gid_t, int, [Define to 'int' if <sys/types.h> doesn't define.]) | ||
46 | -fi | ||
47 | -]) | ||
48 | - | ||
49 | - | ||
50 | +[AC_CHECK_TYPE([uid_t], [], | ||
51 | + [AC_DEFINE([uid_t], [int], | ||
52 | + [Define as 'int' if <sys/types.h> doesn't define.])]) | ||
53 | +AC_CHECK_TYPE([gid_t], [], | ||
54 | + [AC_DEFINE([gid_t], [int], | ||
55 | + [Define as 'int' if <sys/types.h> doesn't define.])])]) | ||
56 | + | ||
57 | +# This should be obsoleted, size_t is in C90. | ||
58 | AN_IDENTIFIER([size_t], [AC_TYPE_SIZE_T]) | ||
59 | -AC_DEFUN([AC_TYPE_SIZE_T], [AC_CHECK_TYPE(size_t, unsigned int)]) | ||
60 | +AC_DEFUN([AC_TYPE_SIZE_T], | ||
61 | +[AC_CHECK_TYPE([size_t], [], | ||
62 | + [AC_DEFINE([size_t], [unsigned int], | ||
63 | + [Define as 'unsigned int' if <stddef.h> doesn't define.])])]) | ||
64 | |||
65 | AN_IDENTIFIER([ssize_t], [AC_TYPE_SSIZE_T]) | ||
66 | -AC_DEFUN([AC_TYPE_SSIZE_T], [AC_CHECK_TYPE(ssize_t, int)]) | ||
67 | +AC_DEFUN([AC_TYPE_SSIZE_T], | ||
68 | +[AC_CHECK_TYPE([ssize_t], [], | ||
69 | + [AC_DEFINE([ssize_t], [int], | ||
70 | + [Define as 'int' if <sys/types.h> doesn't define.])])]) | ||
71 | + | ||
72 | |||
73 | AN_IDENTIFIER([pid_t], [AC_TYPE_PID_T]) | ||
74 | AC_DEFUN([AC_TYPE_PID_T], | ||
75 | -- | ||
76 | 2.41.0 | ||
77 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch deleted file mode 100644 index 9c1f435d53..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch +++ /dev/null | |||
@@ -1,180 +0,0 @@ | |||
1 | From daaca7f74f94d6a7a51d571156d5fbaba5ef9a87 Mon Sep 17 00:00:00 2001 | ||
2 | From: Zack Weinberg <zackw@panix.com> | ||
3 | Date: Sun, 2 Apr 2023 21:03:30 -0400 | ||
4 | Subject: [PATCH 11/29] Make AC_PROG_GCC_TRADITIONAL a compatibility alias for | ||
5 | AC_PROG_CC. | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | This macro is one of the last remaining internal uses of AC_EGREP_CPP. | ||
11 | It has only ever done anything useful with GCC, and GCC dropped | ||
12 | support for ‘traditional’ compilation in version 3.3 (released 2003) | ||
13 | so I do not think it is worth trying to preserve. | ||
14 | |||
15 | * lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL): Make into a | ||
16 | compatibility alias for AC_PROG_CC, similar to AC_PROG_CC_STDC. | ||
17 | * lib/autoconf/general.m4 (AC_EGREP_CPP): Remove stale comment. | ||
18 | * doc/autoconf.texi, NEWS: Document this change. | ||
19 | * tests/mktests.pl: Exclude AC_PROG_GCC_TRADITIONAL from | ||
20 | autoupdate tests. | ||
21 | |||
22 | Upstream-Status: Backport | ||
23 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
24 | --- | ||
25 | NEWS | 7 +++++++ | ||
26 | doc/autoconf.texi | 29 ++++++++++++++--------------- | ||
27 | lib/autoconf/c.m4 | 30 ++++++------------------------ | ||
28 | lib/autoconf/general.m4 | 2 -- | ||
29 | tests/mktests.pl | 2 +- | ||
30 | 5 files changed, 28 insertions(+), 42 deletions(-) | ||
31 | |||
32 | diff --git a/NEWS b/NEWS | ||
33 | index 6a106f155..53c57ff59 100644 | ||
34 | --- a/NEWS | ||
35 | +++ b/NEWS | ||
36 | @@ -81,6 +81,13 @@ GNU Autoconf NEWS - User visible changes. | ||
37 | with plain apostrophes instead of the older GNU style `like this' | ||
38 | with grave accent and apostrophe. | ||
39 | |||
40 | +*** AC_PROG_GCC_TRADITIONAL no longer does anything. | ||
41 | + | ||
42 | + This macro has had no useful effect since GCC dropped support for | ||
43 | + traditional-mode compilation in version 3.3 (released in 2003), and | ||
44 | + the systems that needed it are also long obsolete. It is now a | ||
45 | + compatibility synonym for AC_PROG_CC. | ||
46 | + | ||
47 | ** Notable bug fixes | ||
48 | |||
49 | *** Autoconf caches now use finer-grained timestamps. | ||
50 | diff --git a/doc/autoconf.texi b/doc/autoconf.texi | ||
51 | index 8db64d8bb..037c8055f 100644 | ||
52 | --- a/doc/autoconf.texi | ||
53 | +++ b/doc/autoconf.texi | ||
54 | @@ -7764,20 +7764,6 @@ This macro is obsolescent, as current C compilers support prototypes. | ||
55 | New programs need not use this macro. | ||
56 | @end defmac | ||
57 | |||
58 | -@anchor{AC_PROG_GCC_TRADITIONAL} | ||
59 | -@defmac AC_PROG_GCC_TRADITIONAL | ||
60 | -@acindex{PROG_GCC_TRADITIONAL} | ||
61 | -@ovindex CC | ||
62 | -Add @option{-traditional} to output variable @code{CC} if using a | ||
63 | -GNU C compiler and @code{ioctl} does not work properly without | ||
64 | -@option{-traditional}. That usually happens when the fixed header files | ||
65 | -have not been installed on an old system. | ||
66 | - | ||
67 | -This macro is obsolescent, since current versions of the GNU C | ||
68 | -compiler fix the header files automatically when installed. | ||
69 | -@end defmac | ||
70 | - | ||
71 | - | ||
72 | @node C++ Compiler | ||
73 | @subsection C++ Compiler Characteristics | ||
74 | |||
75 | @@ -23986,7 +23972,8 @@ These days portable programs should use @code{waitpid}, not | ||
76 | |||
77 | @defmac AC_GCC_TRADITIONAL | ||
78 | @acindex{GCC_TRADITIONAL} | ||
79 | -Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}). | ||
80 | +Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}), | ||
81 | +which is itself obsolete. | ||
82 | @end defmac | ||
83 | |||
84 | @defmac AC_GETGROUPS_T | ||
85 | @@ -24369,6 +24356,18 @@ Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}). | ||
86 | Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}). | ||
87 | @end defmac | ||
88 | |||
89 | +@anchor{AC_PROG_GCC_TRADITIONAL} | ||
90 | +@defmac AC_PROG_GCC_TRADITIONAL | ||
91 | +@acindex{PROG_GCC_TRADITIONAL} | ||
92 | +Used to put GCC into ``traditional'' (pre-ISO C) compilation mode, | ||
93 | +on systems with headers that did not work correctly with a | ||
94 | +standard-compliant compiler. GCC has not supported traditional | ||
95 | +compilation in many years, and all of the systems that required this are | ||
96 | +long obsolete themselves. This macro is now a compatibility synonym for | ||
97 | +@code{AC_PROG_CC} (@pxref{AC_PROG_CC}). | ||
98 | + | ||
99 | +@end defmac | ||
100 | + | ||
101 | @defmac AC_PROGRAMS_CHECK | ||
102 | @acindex{PROGRAMS_CHECK} | ||
103 | Replaced by @code{AC_CHECK_PROGS} (@pxref{AC_CHECK_PROGS}). | ||
104 | diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 | ||
105 | index fef6c516d..33648b5b9 100644 | ||
106 | --- a/lib/autoconf/c.m4 | ||
107 | +++ b/lib/autoconf/c.m4 | ||
108 | @@ -551,30 +551,6 @@ fi[]dnl | ||
109 | ])# _AC_PROG_CC_G | ||
110 | |||
111 | |||
112 | -# AC_PROG_GCC_TRADITIONAL | ||
113 | -# ----------------------- | ||
114 | -AC_DEFUN([AC_PROG_GCC_TRADITIONAL], | ||
115 | -[AC_REQUIRE([AC_PROG_CC])dnl | ||
116 | -if test $ac_cv_c_compiler_gnu = yes; then | ||
117 | - AC_CACHE_CHECK(whether $CC needs -traditional, | ||
118 | - ac_cv_prog_gcc_traditional, | ||
119 | -[ ac_pattern="Autoconf.*'x'" | ||
120 | - AC_EGREP_CPP($ac_pattern, [#include <sgtty.h> | ||
121 | -Autoconf TIOCGETP], | ||
122 | - ac_cv_prog_gcc_traditional=yes, ac_cv_prog_gcc_traditional=no) | ||
123 | - | ||
124 | - if test $ac_cv_prog_gcc_traditional = no; then | ||
125 | - AC_EGREP_CPP($ac_pattern, [#include <termio.h> | ||
126 | -Autoconf TCGETA], | ||
127 | - ac_cv_prog_gcc_traditional=yes) | ||
128 | - fi]) | ||
129 | - if test $ac_cv_prog_gcc_traditional = yes; then | ||
130 | - CC="$CC -traditional" | ||
131 | - fi | ||
132 | -fi | ||
133 | -])# AC_PROG_GCC_TRADITIONAL | ||
134 | - | ||
135 | - | ||
136 | # AC_PROG_CC_C_O | ||
137 | # -------------- | ||
138 | AC_DEFUN([AC_PROG_CC_C_O], | ||
139 | @@ -1675,6 +1651,12 @@ AU_DEFUN([AC_PROG_CC_STDC], | ||
140 | [$0 is obsolete; use AC_PROG_CC] | ||
141 | ) | ||
142 | |||
143 | +# AC_PROG_GCC_TRADITIONAL | ||
144 | +# ----------------------- | ||
145 | +AU_DEFUN([AC_PROG_GCC_TRADITIONAL], | ||
146 | + [AC_REQUIRE([AC_PROG_CC])], | ||
147 | + [$0 is obsolete; use AC_PROG_CC] | ||
148 | +) | ||
149 | |||
150 | # AC_C_BACKSLASH_A | ||
151 | # ---------------- | ||
152 | diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4 | ||
153 | index ecda0a51c..47d896d54 100644 | ||
154 | --- a/lib/autoconf/general.m4 | ||
155 | +++ b/lib/autoconf/general.m4 | ||
156 | @@ -2766,8 +2766,6 @@ AU_DEFUN([AC_TRY_CPP], | ||
157 | # AC_EGREP_CPP(PATTERN, PROGRAM, | ||
158 | # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) | ||
159 | # ------------------------------------------------------ | ||
160 | -# Because this macro is used by AC_PROG_GCC_TRADITIONAL, which must | ||
161 | -# come early, it is not included in AC_BEFORE checks. | ||
162 | AC_DEFUN([AC_EGREP_CPP], | ||
163 | [AC_LANG_PREPROC_REQUIRE()dnl | ||
164 | AC_REQUIRE([_AC_PROG_EGREP_TRADITIONAL])dnl | ||
165 | diff --git a/tests/mktests.pl b/tests/mktests.pl | ||
166 | index effed0bca..81f63586c 100644 | ||
167 | --- a/tests/mktests.pl | ||
168 | +++ b/tests/mktests.pl | ||
169 | @@ -112,7 +112,7 @@ my @ac_exclude_list = ( | ||
170 | # Check all AU_DEFUN'ed macros with AT_CHECK_AU_MACRO, except these. | ||
171 | my @au_exclude_list = ( | ||
172 | # Empty. | ||
173 | - qr/^AC_(C_CROSS|PROG_CC_(C[89]9|STDC))$/, | ||
174 | + qr/^AC_(C_CROSS|PROG_(CC_(C[89]9|STDC)|GCC_TRADITIONAL))$/, | ||
175 | |||
176 | # Use AC_REQUIRE. | ||
177 | qr/^AC_(CYGWIN|MINGW32|EMXOS2)$/, | ||
178 | -- | ||
179 | 2.41.0 | ||
180 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch deleted file mode 100644 index 4d28101b46..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch +++ /dev/null | |||
@@ -1,328 +0,0 @@ | |||
1 | From b5891a57b586ef6ff78bb752d62915b78cd58d7e Mon Sep 17 00:00:00 2001 | ||
2 | From: Zack Weinberg <zackw@panix.com> | ||
3 | Date: Sun, 2 Apr 2023 15:07:58 -0400 | ||
4 | Subject: [PATCH 12/29] Overhaul AC_TYPE_GETGROUPS and AC_FUNC_GETGROUPS. | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | AC_TYPE_GETGROUPS is the last remaining use of AC_EGREP_HEADER in | ||
10 | stock Autoconf macros. It uses it only when cross compiling, as a | ||
11 | fallback from an AC_RUN_IFELSE check, testing for a bug in system | ||
12 | headers from the late 1980s or early 1990s, where gid_t *existed* | ||
13 | but the second argument to getgroups needed to be an array of int, | ||
14 | and this didn’t cause a compile error (i.e. the system headers | ||
15 | declare getgroups with no prototype or an incorrect prototype). | ||
16 | AC_FUNC_GETGROUPS also uses AC_RUN_IFELSE to test for obscure | ||
17 | problems specific to long-obsolete Unixes. | ||
18 | |||
19 | The downsides of AC_RUN_IFELSE and AC_EGREP_HEADER seem more severe | ||
20 | than the chances of someone compiling a current-generation program, | ||
21 | that uses getgroups, on an OS old enough to have one of the really | ||
22 | nasty bugs. Accordingly, this patch changes AC_FUNC_GETGROUPS to use | ||
23 | a host_os-based *blacklist* both in native and cross compilation. | ||
24 | This is limited to the two host_os values for which either our old | ||
25 | code, or Gnulib, documented a serious bug: ultrix* and nextstep*. | ||
26 | Currently it does not try to pin down the exact version ranges subject | ||
27 | to the bugs — that would require research by someone with access to | ||
28 | the full history of these OSes. | ||
29 | |||
30 | An incorrect guess by this blacklist can be overridden by setting | ||
31 | ac_cv_func_getgroups_works in config.site. AC_TYPE_GETGROUPS, for its | ||
32 | part, now does a series of regular old AC_COMPILE_IFELSE checks to | ||
33 | probe the prototype of getgroups, and considers that good enough. | ||
34 | |||
35 | While I was in there I noticed that AC_FUNC_GETGROUPS does not | ||
36 | AC_SUBST a documented output variable, and that the name of this | ||
37 | variable is misspelled in the manual. | ||
38 | |||
39 | * lib/autoconf/functions.m4 (AC_FUNC_GETGROUPS): Use AC_SEARCH_LIBS | ||
40 | to probe for getgroups. Use an AC_CANONICAL_HOST-based blacklist | ||
41 | for bug detection, not AC_RUN_IFELSE. AC_SUBST the GETGROUPS_LIB | ||
42 | output variable. | ||
43 | * lib/autoconf/types.m4 (AC_TYPE_GETGROUPS): Check only the prototype | ||
44 | of getgroups, using AC_COMPILE_IFELSE; do not use either AC_RUN_IFELSE | ||
45 | or AC_EGREP_HEADER. | ||
46 | * doc/autoconf.texi: Update to match. Correct misspelling of | ||
47 | GETGROUPS_LIB. | ||
48 | * tests.local.at (_AT_CHECK_ENV): Allow GETGROUPS_LIB output variable. | ||
49 | |||
50 | Upstream-Status: Backport | ||
51 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
52 | --- | ||
53 | NEWS | 11 +++++ | ||
54 | doc/autoconf.texi | 25 ++++++---- | ||
55 | lib/autoconf/functions.m4 | 61 ++++++++++++------------ | ||
56 | lib/autoconf/types.m4 | 97 ++++++++++++++++++++++++--------------- | ||
57 | tests/local.at | 2 +- | ||
58 | 5 files changed, 120 insertions(+), 76 deletions(-) | ||
59 | |||
60 | diff --git a/NEWS b/NEWS | ||
61 | index 53c57ff59..8e4ecc1bf 100644 | ||
62 | --- a/NEWS | ||
63 | +++ b/NEWS | ||
64 | @@ -38,6 +38,17 @@ GNU Autoconf NEWS - User visible changes. | ||
65 | This matters only for uses that, contrary to the documentation | ||
66 | and despite warnings, use m4_divert with numbered diversions. | ||
67 | |||
68 | +*** AC_FUNC_GETGROUPS and AC_TYPE_GETGROUPS no longer run test programs. | ||
69 | + These macros were testing for OS bugs that we believe are at least | ||
70 | + twenty years in the past. Most operating systems are now trusted to | ||
71 | + provide an accurate prototype for getgroups in unistd.h, and to | ||
72 | + implement it as specified in POSIX. | ||
73 | + | ||
74 | + AC_FUNC_GETGROUPS still includes a short blacklist of OSes with | ||
75 | + known, severe bugs in getgroups. It can be overridden using | ||
76 | + config.site. If you encounter a mistake in this blacklist | ||
77 | + please report it to bug-autoconf. | ||
78 | + | ||
79 | ** New features | ||
80 | |||
81 | *** New macro AC_SYS_YEAR2038. | ||
82 | diff --git a/doc/autoconf.texi b/doc/autoconf.texi | ||
83 | index 037c8055f..5d5f613e6 100644 | ||
84 | --- a/doc/autoconf.texi | ||
85 | +++ b/doc/autoconf.texi | ||
86 | @@ -5257,17 +5257,26 @@ and also contains workarounds for other portability problems of | ||
87 | @defmac AC_FUNC_GETGROUPS | ||
88 | @acindex{FUNC_GETGROUPS} | ||
89 | @cvindex HAVE_GETGROUPS | ||
90 | -@ovindex GETGROUPS_LIBS | ||
91 | +@ovindex GETGROUPS_LIB | ||
92 | @c @fuindex getgroups | ||
93 | @prindex @code{getgroups} | ||
94 | @caindex func_getgroups_works | ||
95 | -If the @code{getgroups} function is available and works, | ||
96 | -define @code{HAVE_GETGROUPS}. Set @code{GETGROUPS_LIBS} to any libraries | ||
97 | -needed to get that function. This macro runs @code{AC_TYPE_GETGROUPS}. | ||
98 | - | ||
99 | -This macro is obsolescent. New programs need not use this macro. But | ||
100 | -they may want to use the Gnulib module @code{getgroups}, which provides | ||
101 | -workarounds to other portability problems of this function. | ||
102 | +Perform all the checks performed by @code{AC_TYPE_GETGROUPS} | ||
103 | +(@pxref{AC_TYPE_GETGROUPS}). | ||
104 | +Then, if the @code{getgroups} function is available | ||
105 | +and known to work correctly, define @code{HAVE_GETGROUPS}. | ||
106 | +Set the output variable @code{GETGROUPS_LIB} to any libraries | ||
107 | +needed to get that function. | ||
108 | + | ||
109 | +This macro relies on a list of systems with known, serious bugs in | ||
110 | +@code{getgroups}. If this list mis-identifies your system's | ||
111 | +@code{getgroups} as buggy, or as not buggy, you can override it by | ||
112 | +setting the cache variable @code{ac_cv_func_getgroups_works} in a | ||
113 | +@file{config.site} file (@pxref{Site Defaults}). Please also report the | ||
114 | +error to @email{bug-autoconf@@gnu.org, the Autoconf Bugs mailing list}. | ||
115 | + | ||
116 | +The Gnulib module @code{getgroups} provides workarounds for additional, | ||
117 | +less severe portability problems with this function. | ||
118 | @end defmac | ||
119 | |||
120 | @anchor{AC_FUNC_GETLOADAVG} | ||
121 | diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 | ||
122 | index 655d6ba8f..74512e97d 100644 | ||
123 | --- a/lib/autoconf/functions.m4 | ||
124 | +++ b/lib/autoconf/functions.m4 | ||
125 | @@ -698,47 +698,46 @@ AS_IF([test "$ac_cv_func_fseeko_ftello" = "need _LARGEFILE_SOURCE"], | ||
126 | # When cross-compiling, assume getgroups is broken. | ||
127 | AN_FUNCTION([getgroups], [AC_FUNC_GETGROUPS]) | ||
128 | AC_DEFUN([AC_FUNC_GETGROUPS], | ||
129 | -[AC_REQUIRE([AC_TYPE_GETGROUPS])dnl | ||
130 | -AC_REQUIRE([AC_TYPE_SIZE_T])dnl | ||
131 | -AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles | ||
132 | -AC_CHECK_FUNC(getgroups) | ||
133 | +[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
134 | +AC_REQUIRE([AC_TYPE_GETGROUPS])dnl | ||
135 | |||
136 | -# If we don't yet have getgroups, see if it's in -lbsd. | ||
137 | +# On older systems getgroups might be in -lbsd. | ||
138 | # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1. | ||
139 | ac_save_LIBS=$LIBS | ||
140 | -if test $ac_cv_func_getgroups = no; then | ||
141 | - AC_CHECK_LIB(bsd, getgroups, [GETGROUPS_LIB=-lbsd]) | ||
142 | -fi | ||
143 | - | ||
144 | -# Run the program to test the functionality of the system-supplied | ||
145 | -# getgroups function only if there is such a function. | ||
146 | +LIBS= | ||
147 | +GETGROUPS_LIB= | ||
148 | +AC_SEARCH_LIBS([getgroups], [bsd], | ||
149 | + [test "$ac_res" = "none required" || GETGROUPS_LIB="$ac_res" | ||
150 | + ac_cv_func_getgroups=yes], | ||
151 | + [ac_cv_func_getgroups=no]) | ||
152 | +LIBS=$ac_save_LIBS | ||
153 | +AC_SUBST([GETGROUPS_LIB]) | ||
154 | + | ||
155 | +# Known severe bugs in getgroups on particular systems. | ||
156 | +# - On Ultrix 4.3 and NextSTEP 3.2, getgroups (0, 0) is reported to | ||
157 | +# fail, rather than returning the number of supplementary groups as | ||
158 | +# it ought to. We do not know the exact range of releases affected | ||
159 | +# in either case. | ||
160 | +# We currently reject all versions of the systems with known bugs, and | ||
161 | +# no other systems. Please send corrections to bug-autoconf@gnu.org. | ||
162 | if test $ac_cv_func_getgroups = yes; then | ||
163 | + # This AC_CACHE_CHECK exists so that one may override an incorrect | ||
164 | + # guess by setting ac_cv_func_getgroups_works in a config.site file. | ||
165 | AC_CACHE_CHECK([for working getgroups], ac_cv_func_getgroups_works, | ||
166 | - [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], | ||
167 | - [[/* On Ultrix 4.3, getgroups (0, 0) always fails. */ | ||
168 | - return getgroups (0, 0) == -1;]])], | ||
169 | - [ac_cv_func_getgroups_works=yes], | ||
170 | - [ac_cv_func_getgroups_works=no], | ||
171 | - [case "$host_os" in # (( | ||
172 | - # Guess yes on glibc systems. | ||
173 | - *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;; | ||
174 | - # If we don't know, assume the worst. | ||
175 | - *) ac_cv_func_getgroups_works="guessing no" ;; | ||
176 | - esac]) | ||
177 | - ]) | ||
178 | + [AS_CASE([$host_os], | ||
179 | + [ultrix* | nextstep*], | ||
180 | + [ac_cv_func_getgroups_works=no # getgroups(0,0) fails | ||
181 | +], | ||
182 | + [ac_cv_func_getgroups_works=yes])]) | ||
183 | else | ||
184 | ac_cv_func_getgroups_works=no | ||
185 | fi | ||
186 | -case "$ac_cv_func_getgroups_works" in | ||
187 | - *yes) | ||
188 | - AC_DEFINE(HAVE_GETGROUPS, 1, | ||
189 | - [Define to 1 if your system has a working 'getgroups' function.]) | ||
190 | - ;; | ||
191 | -esac | ||
192 | -LIBS=$ac_save_LIBS | ||
193 | +if test $ac_cv_func_getgroups_works = yes; then | ||
194 | + AC_DEFINE(HAVE_GETGROUPS, 1, | ||
195 | + [Define to 1 if your system has a working 'getgroups' function.]) | ||
196 | +fi | ||
197 | ])# AC_FUNC_GETGROUPS | ||
198 | |||
199 | - | ||
200 | # _AC_LIBOBJ_GETLOADAVG | ||
201 | # --------------------- | ||
202 | # Set up the AC_LIBOBJ replacement of 'getloadavg'. | ||
203 | diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4 | ||
204 | index ef2456135..af3872b2f 100644 | ||
205 | --- a/lib/autoconf/types.m4 | ||
206 | +++ b/lib/autoconf/types.m4 | ||
207 | @@ -258,44 +258,69 @@ AN_IDENTIFIER([ptrdiff_t], [AC_CHECK_TYPES]) | ||
208 | # AC_TYPE_GETGROUPS | ||
209 | # ----------------- | ||
210 | AC_DEFUN([AC_TYPE_GETGROUPS], | ||
211 | +dnl We now unconditionally assume that if <unistd.h> has a prototype for | ||
212 | +dnl getgroups, it is accurate; and that if <unistd.h> does _not_ declare | ||
213 | +dnl getgroups with a prototype, the second argument is an array of int. | ||
214 | +dnl (Older versions of Autoconf made these assumptions only when cross | ||
215 | +dnl compiling.) See AC_FUNC_GETGROUPS, over in functions.m4, for why | ||
216 | +dnl this uses AC_COMPILE_IFELSE rather than AC_LINK_IFELSE. | ||
217 | [AC_REQUIRE([AC_TYPE_UID_T])dnl | ||
218 | -AC_CACHE_CHECK(type of array argument to getgroups, ac_cv_type_getgroups, | ||
219 | -[AC_RUN_IFELSE([AC_LANG_SOURCE( | ||
220 | -[[/* Thanks to Mike Rendell for this test. */ | ||
221 | -]AC_INCLUDES_DEFAULT[ | ||
222 | -#define NGID 256 | ||
223 | -#undef MAX | ||
224 | -#define MAX(x, y) ((x) > (y) ? (x) : (y)) | ||
225 | - | ||
226 | -int | ||
227 | -main (void) | ||
228 | -{ | ||
229 | - gid_t gidset[NGID]; | ||
230 | - int i, n; | ||
231 | - union { gid_t gval; long int lval; } val; | ||
232 | - | ||
233 | - val.lval = -1; | ||
234 | - for (i = 0; i < NGID; i++) | ||
235 | - gidset[i] = val.gval; | ||
236 | - n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1, | ||
237 | - gidset); | ||
238 | - /* Exit non-zero if getgroups seems to require an array of ints. This | ||
239 | - happens when gid_t is short int but getgroups modifies an array | ||
240 | - of ints. */ | ||
241 | - return n > 0 && gidset[n] != val.gval; | ||
242 | -}]])], | ||
243 | - [ac_cv_type_getgroups=gid_t], | ||
244 | - [ac_cv_type_getgroups=int], | ||
245 | - [ac_cv_type_getgroups=cross]) | ||
246 | -if test $ac_cv_type_getgroups = cross; then | ||
247 | - dnl When we can't run the test program (we are cross compiling), presume | ||
248 | - dnl that <unistd.h> has either an accurate prototype for getgroups or none. | ||
249 | - dnl Old systems without prototypes probably use int. | ||
250 | - AC_EGREP_HEADER([getgroups.*int.*gid_t], unistd.h, | ||
251 | - ac_cv_type_getgroups=gid_t, ac_cv_type_getgroups=int) | ||
252 | -fi]) | ||
253 | +AC_CACHE_CHECK([type of array argument to getgroups], ac_cv_type_getgroups, | ||
254 | +[# If AC_TYPE_UID_T says there isn't any gid_t typedef, then we can skip | ||
255 | +# everything below. | ||
256 | +AS_IF([test $ac_cv_type_gid_t = no], | ||
257 | + [ac_cv_type_getgroups=int], | ||
258 | + [# Test programs below rely on strict type checking of extern declarations: | ||
259 | + # 'extern int getgroups(int, int *); extern int getgroups(int, pid_t *);' | ||
260 | + # is valid in C89 if and only if pid_t is a typedef for int. Unlike | ||
261 | + # anything involving either an assignment or a function call, compilers | ||
262 | + # tend to make this kind of type mismatch a hard error, not just an | ||
263 | + # "incompatible pointer types" warning. | ||
264 | + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( | ||
265 | +[AC_INCLUDES_DEFAULT | ||
266 | +[extern int getgroups(int, gid_t *);]], | ||
267 | +[[return !(getgroups(0, 0) >= 0);]])], | ||
268 | + [ac_getgroups_gidarray=yes], | ||
269 | + [ac_getgroups_gidarray=no]) | ||
270 | + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( | ||
271 | +[AC_INCLUDES_DEFAULT | ||
272 | +[extern int getgroups(int, int *);]], | ||
273 | +[[return !(getgroups(0, 0) >= 0);]])], | ||
274 | + [ac_getgroups_intarray=yes], | ||
275 | + [ac_getgroups_intarray=no]) | ||
276 | + | ||
277 | + AS_CASE([int:$ac_getgroups_intarray,gid:$ac_getgroups_gidarray], | ||
278 | + [int:yes,gid:no], [ac_cv_type_getgroups=int], | ||
279 | + [int:no,gid:yes], [ac_cv_type_getgroups=gid_t], | ||
280 | + [int:yes,gid:yes], [ | ||
281 | + # Both programs compiled - this means *either* that getgroups | ||
282 | + # was declared with no prototype, in which case we should use int, | ||
283 | + # or that it was declared prototyped but gid_t is a typedef for int, | ||
284 | + # in which case we should use gid_t. Distinguish the two cases | ||
285 | + # by testing if the compiler catches a blatantly incorrect function | ||
286 | + # signature for getgroups. | ||
287 | + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( | ||
288 | +[AC_INCLUDES_DEFAULT | ||
289 | +[extern int getgroups(int, float);]], | ||
290 | +[[return !(getgroups(0, 0) >= 0);]])], [ | ||
291 | + # Compiler did not catch incorrect argument list; | ||
292 | + # getgroups is unprototyped. | ||
293 | + ac_cv_type_getgroups=int | ||
294 | + ], [ | ||
295 | + # Compiler caught incorrect argument list; | ||
296 | + # gid_t is a typedef for int. | ||
297 | + ac_cv_type_getgroups=gid_t | ||
298 | + ]) | ||
299 | + ], [ | ||
300 | + # Both programs failed to compile - this probably means getgroups | ||
301 | + # wasn't declared at all. Use 'int', as this is probably a very | ||
302 | + # old system where the type _would have been_ int. | ||
303 | + ac_cv_type_getgroups=int | ||
304 | + ]) | ||
305 | + ]) | ||
306 | +])dnl AC_CACHE_CHECK | ||
307 | AC_DEFINE_UNQUOTED(GETGROUPS_T, $ac_cv_type_getgroups, | ||
308 | - [Define to the type of elements in the array set by | ||
309 | + [Define to the type of elements in the array argument to | ||
310 | 'getgroups'. Usually this is either 'int' or 'gid_t'.]) | ||
311 | ])# AC_TYPE_GETGROUPS | ||
312 | |||
313 | diff --git a/tests/local.at b/tests/local.at | ||
314 | index 64a9fb264..db49f84a9 100644 | ||
315 | --- a/tests/local.at | ||
316 | +++ b/tests/local.at | ||
317 | @@ -401,7 +401,7 @@ if test -f state-env.before && test -f state-env.after; then | ||
318 | [interpval|PATH_SEPARATOR], | ||
319 | [GFC|F77_DUMMY_MAIN|f77_(case|underscore)], | ||
320 | [FC(_DUMMY_MAIN|FLAGS|LIBS|FLAGS_[fF]|_MODEXT|_MODINC|_MODOUT|_DEFINE)?], | ||
321 | - [ALLOCA|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB], | ||
322 | + [ALLOCA|GETGROUPS_LIB|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB], | ||
323 | [AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|MKDIR_P|AR|RANLIB|SET_MAKE|YACC], | ||
324 | [EGREP_TRADITIONAL], | ||
325 | [GREP|[EF]GREP|SED], | ||
326 | -- | ||
327 | 2.41.0 | ||
328 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch deleted file mode 100644 index 2dadd83320..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch +++ /dev/null | |||
@@ -1,84 +0,0 @@ | |||
1 | From a7dc6d83c7d12b8409c512c3c10ad29f01e6c164 Mon Sep 17 00:00:00 2001 | ||
2 | From: Zack Weinberg <zackw@panix.com> | ||
3 | Date: Sun, 2 Apr 2023 21:54:31 -0400 | ||
4 | Subject: [PATCH 13/29] Fold AC_C_STRINGIZE into AC_PROG_CC. | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Another of the last few uses of AC_EGREP_CPP is to check for the ISO C | ||
10 | “stringification” operator. As this is a feature of C89, let’s fold | ||
11 | the test into the extensive C89 tests we already have, and make | ||
12 | AC_C_STRINGIZE just lean on AC_PROG_CC, in the same way | ||
13 | AC_C_PROTOTYPES does. | ||
14 | |||
15 | * lib/autoconf/c.m4 (_AC_C_C89_TEST_GLOBALS): Add test of preprocessor | ||
16 | stringification and token pasting. | ||
17 | (AC_C_STRINGIZE): Just check ac_prog_cc_stdc. | ||
18 | |||
19 | Upstream-Status: Backport | ||
20 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
21 | --- | ||
22 | lib/autoconf/c.m4 | 31 ++++++++++++++++++++----------- | ||
23 | 1 file changed, 20 insertions(+), 11 deletions(-) | ||
24 | |||
25 | diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 | ||
26 | index 33648b5b9..c8c6a665c 100644 | ||
27 | --- a/lib/autoconf/c.m4 | ||
28 | +++ b/lib/autoconf/c.m4 | ||
29 | @@ -1143,6 +1143,21 @@ static char *f (char * (*g) (char **, int), char **p, ...) | ||
30 | return s; | ||
31 | } | ||
32 | |||
33 | +/* C89 style stringification. */ | ||
34 | +#define noexpand_stringify(a) #a | ||
35 | +const char *stringified = noexpand_stringify(arbitrary+token=sequence); | ||
36 | + | ||
37 | +/* C89 style token pasting. Exercises some of the corner cases that | ||
38 | + e.g. old MSVC gets wrong, but not very hard. */ | ||
39 | +#define noexpand_concat(a,b) a##b | ||
40 | +#define expand_concat(a,b) noexpand_concat(a,b) | ||
41 | +extern int vA; | ||
42 | +extern int vbee; | ||
43 | +#define aye A | ||
44 | +#define bee B | ||
45 | +int *pvA = &expand_concat(v,aye); | ||
46 | +int *pvbee = &noexpand_concat(v,bee); | ||
47 | + | ||
48 | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | ||
49 | function prototypes and stuff, but not \xHH hex character constants. | ||
50 | These do not provoke an error unfortunately, instead are silently treated | ||
51 | @@ -2112,16 +2127,10 @@ fi | ||
52 | # -------------- | ||
53 | # Checks if '#' can be used to glue strings together at the CPP level. | ||
54 | # Defines HAVE_STRINGIZE if positive. | ||
55 | +# Obsolete - new code should assume C89 compliance. | ||
56 | AC_DEFUN([AC_C_STRINGIZE], | ||
57 | -[AC_CACHE_CHECK([for preprocessor stringizing operator], | ||
58 | - [ac_cv_c_stringize], | ||
59 | -[AC_EGREP_CPP([@%:@teststring], | ||
60 | - [@%:@define x(y) #y | ||
61 | - | ||
62 | -char *s = x(teststring);], | ||
63 | - [ac_cv_c_stringize=no], | ||
64 | - [ac_cv_c_stringize=yes])]) | ||
65 | -if test $ac_cv_c_stringize = yes; then | ||
66 | +[AC_REQUIRE([AC_PROG_CC]) | ||
67 | +if test "$ac_prog_cc_stdc" != no; then | ||
68 | AC_DEFINE(HAVE_STRINGIZE, 1, | ||
69 | [Define to 1 if cpp supports the ANSI @%:@ stringizing operator.]) | ||
70 | fi | ||
71 | @@ -2130,8 +2139,8 @@ fi | ||
72 | |||
73 | # AC_C_PROTOTYPES | ||
74 | # --------------- | ||
75 | -# Check if the C compiler supports prototypes, included if it needs | ||
76 | -# options. | ||
77 | +# Check if the C compiler supports prototypes. | ||
78 | +# Obsolete - new code should assume C89 compliance. | ||
79 | AC_DEFUN([AC_C_PROTOTYPES], | ||
80 | [AC_REQUIRE([AC_PROG_CC])dnl | ||
81 | if test "$ac_prog_cc_stdc" != no; then | ||
82 | -- | ||
83 | 2.41.0 | ||
84 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch deleted file mode 100644 index 85e9a45615..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch +++ /dev/null | |||
@@ -1,116 +0,0 @@ | |||
1 | From e25dfa75e18295d28de67747b4ff9d65f65c4f06 Mon Sep 17 00:00:00 2001 | ||
2 | From: Zack Weinberg <zackw@panix.com> | ||
3 | Date: Sun, 2 Apr 2023 22:17:55 -0400 | ||
4 | Subject: [PATCH 14/29] Remove the last few internal uses of AC_EGREP_CPP. | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Most of the remaining uses were converted to AC_COMPILE_IFELSE. | ||
10 | The use in AC_FUNC_LOADAVG becomes an AC_PREPROC_IFELSE because | ||
11 | we can’t be sure getloadavg.c can be _compiled_ at this point in | ||
12 | the build. The use in AC_C_VARARRAYS could be either _PREPROC_ or | ||
13 | _COMPILE_; we use _COMPILE_ because, _PREPROC_ is never used, then | ||
14 | we don’t have to do the “checking how to run the C preprocessor” test. | ||
15 | |||
16 | * lib/autoconf/c.m4 (AC_C_VARARRAYS): Use AC_COMPILE_IFELSE instead of | ||
17 | AC_EGREP_CPP. | ||
18 | * lib/autoconf/headers.m4 (_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H) | ||
19 | (_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL_H): Likewise. | ||
20 | * lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Use AC_PREPROC_IFELSE | ||
21 | instead of AC_EGREP_CPP. | ||
22 | |||
23 | Upstream-Status: Backport | ||
24 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
25 | --- | ||
26 | lib/autoconf/c.m4 | 8 ++++---- | ||
27 | lib/autoconf/functions.m4 | 10 +++++----- | ||
28 | lib/autoconf/headers.m4 | 24 ++++++++++-------------- | ||
29 | 3 files changed, 19 insertions(+), 23 deletions(-) | ||
30 | |||
31 | diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 | ||
32 | index c8c6a665c..b8350c339 100644 | ||
33 | --- a/lib/autoconf/c.m4 | ||
34 | +++ b/lib/autoconf/c.m4 | ||
35 | @@ -2197,11 +2197,11 @@ AC_DEFUN([AC_C_VARARRAYS], | ||
36 | [ | ||
37 | AC_CACHE_CHECK([for variable-length arrays], | ||
38 | ac_cv_c_vararrays, | ||
39 | - [AC_EGREP_CPP([defined], | ||
40 | - [#ifdef __STDC_NO_VLA__ | ||
41 | - defined | ||
42 | + [AC_COMPILE_IFELSE([AC_LANG_SOURCE( | ||
43 | +[[ #ifndef __STDC_NO_VLA__ | ||
44 | + #error __STDC_NO_VLA__ not defined | ||
45 | #endif | ||
46 | - ], | ||
47 | +]])], | ||
48 | [ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'], | ||
49 | [AC_COMPILE_IFELSE( | ||
50 | [AC_LANG_PROGRAM( | ||
51 | diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 | ||
52 | index 74512e97d..499e4c024 100644 | ||
53 | --- a/lib/autoconf/functions.m4 | ||
54 | +++ b/lib/autoconf/functions.m4 | ||
55 | @@ -842,11 +842,11 @@ AC_CHECK_FUNCS(getloadavg, [], | ||
56 | # Some definitions of getloadavg require that the program be installed setgid. | ||
57 | AC_CACHE_CHECK(whether getloadavg requires setgid, | ||
58 | ac_cv_func_getloadavg_setgid, | ||
59 | -[AC_EGREP_CPP([Yowza Am I SETGID yet], | ||
60 | -[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c" | ||
61 | -#ifdef LDAV_PRIVILEGED | ||
62 | -Yowza Am I SETGID yet | ||
63 | -@%:@endif], | ||
64 | +[AC_PREPROC_IFELSE([AC_LANG_SOURCE( | ||
65 | +[[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c" | ||
66 | +#ifndef LDAV_PRIVILEGED | ||
67 | +#error setgid not needed | ||
68 | +@%:@endif]])], | ||
69 | ac_cv_func_getloadavg_setgid=yes, | ||
70 | ac_cv_func_getloadavg_setgid=no)]) | ||
71 | if test $ac_cv_func_getloadavg_setgid = yes; then | ||
72 | diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4 | ||
73 | index 7f70e8fd4..19c124cc3 100644 | ||
74 | --- a/lib/autoconf/headers.m4 | ||
75 | +++ b/lib/autoconf/headers.m4 | ||
76 | @@ -721,13 +721,11 @@ you to include it and time.h simultaneously.]) | ||
77 | m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H], | ||
78 | [AC_CACHE_CHECK([whether termios.h defines TIOCGWINSZ], | ||
79 | ac_cv_sys_tiocgwinsz_in_termios_h, | ||
80 | -[AC_EGREP_CPP([yes], | ||
81 | - [#include <sys/types.h> | ||
82 | -#include <termios.h> | ||
83 | -#ifdef TIOCGWINSZ | ||
84 | - yes | ||
85 | -#endif | ||
86 | -], | ||
87 | +[AC_COMPILE_IFELSE([AC_LANG_SOURCE( | ||
88 | +[AC_INCLUDES_DEFAULT | ||
89 | +[#include <termios.h> | ||
90 | +const int tiocgwinsz = TIOCGWINSZ; | ||
91 | +]])], | ||
92 | ac_cv_sys_tiocgwinsz_in_termios_h=yes, | ||
93 | ac_cv_sys_tiocgwinsz_in_termios_h=no)]) | ||
94 | ])# _AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H | ||
95 | @@ -738,13 +736,11 @@ m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H], | ||
96 | m4_define([_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL], | ||
97 | [AC_CACHE_CHECK([whether sys/ioctl.h defines TIOCGWINSZ], | ||
98 | ac_cv_sys_tiocgwinsz_in_sys_ioctl_h, | ||
99 | -[AC_EGREP_CPP([yes], | ||
100 | - [#include <sys/types.h> | ||
101 | -#include <sys/ioctl.h> | ||
102 | -#ifdef TIOCGWINSZ | ||
103 | - yes | ||
104 | -#endif | ||
105 | -], | ||
106 | +[AC_COMPILE_IFELSE([AC_LANG_SOURCE( | ||
107 | +[AC_INCLUDES_DEFAULT | ||
108 | +[#include <sys/ioctl.h> | ||
109 | +const int tiocgwinsz = TIOCGWINSZ; | ||
110 | +]])], | ||
111 | ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes, | ||
112 | ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no)]) | ||
113 | ])# _AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL | ||
114 | -- | ||
115 | 2.41.0 | ||
116 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch deleted file mode 100644 index 36d1a94be6..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From 1982523c6f052a2b361035a9d5d9737510ed0738 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Mon, 3 Apr 2023 09:12:40 -0700 | ||
4 | Subject: [PATCH 15/29] Support circa early 2022 Gnulib | ||
5 | |||
6 | Problem reported by Frederic Berat in: | ||
7 | https://lists.gnu.org/r/bug-rcs/2023-04/msg00001.html | ||
8 | * lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES): | ||
9 | Bring back for compatibility with post-2.71, pre-2.73 Gnulib. | ||
10 | |||
11 | Upstream-Status: Backport | ||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | lib/autoconf/specific.m4 | 2 ++ | ||
15 | 1 file changed, 2 insertions(+) | ||
16 | |||
17 | diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 | ||
18 | index a2dc5d488..5dc006959 100644 | ||
19 | --- a/lib/autoconf/specific.m4 | ||
20 | +++ b/lib/autoconf/specific.m4 | ||
21 | @@ -277,6 +277,8 @@ m4_define([_AC_SYS_LARGEFILE_TEST_CODE], | ||
22 | && LARGE_OFF_T % 2147483647 == 1) | ||
23 | ? 1 : -1]];[]dnl | ||
24 | ]) | ||
25 | +# Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it. | ||
26 | +m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], [_AC_SYS_LARGEFILE_TEST_CODE]) | ||
27 | |||
28 | # _AC_SYS_LARGEFILE_OPTIONS | ||
29 | # ------------------------- | ||
30 | -- | ||
31 | 2.41.0 | ||
32 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch deleted file mode 100644 index e96faf2666..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch +++ /dev/null | |||
@@ -1,121 +0,0 @@ | |||
1 | From a1e82aff0fd842b0f09e2cd166560dfda725ba13 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Sun, 9 Apr 2023 11:41:57 -0700 | ||
4 | Subject: [PATCH 16/29] Improve year2038, largefile option processing | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | * lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE) | ||
10 | (_AC_SYS_YEAR2038_ENABLE, _AC_SYS_YEAR2038_OPT_IN) | ||
11 | (AC_SYS_YEAR2038, _AC_SYS_LARGEFILE_PROBE) | ||
12 | (_AC_SYS_LARGEFILE_ENABLE): Do not use enable_largefile to record | ||
13 | whether largefile is required, as ‘./configure | ||
14 | --disable-largefile’ sets enable_largefile=no even if largefile is | ||
15 | required and this disables largefile. Instead, use a separate | ||
16 | shell variable ac_largefile_required and test it as well. | ||
17 | Similarly for enable_year2038. | ||
18 | (_AC_SYS_LARGEFILE_ENABLE): Omit --disable-largefile help string | ||
19 | if year2038 is required, since largefile is a prereq for year2038. | ||
20 | |||
21 | Upstream-Status: Backport | ||
22 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
23 | --- | ||
24 | lib/autoconf/specific.m4 | 35 ++++++++++++++++++++++------------- | ||
25 | 1 file changed, 22 insertions(+), 13 deletions(-) | ||
26 | |||
27 | diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 | ||
28 | index 5dc006959..1a3f4a65c 100644 | ||
29 | --- a/lib/autoconf/specific.m4 | ||
30 | +++ b/lib/autoconf/specific.m4 | ||
31 | @@ -155,10 +155,10 @@ AS_CASE([$ac_cv_sys_year2038_opts], | ||
32 | ["none needed"], [], | ||
33 | ["support not detected"], | ||
34 | [ac_have_year2038=no | ||
35 | - AS_CASE([$enable_year2038], | ||
36 | - [required], | ||
37 | + AS_CASE([$ac_year2038_required,$enable_year2038], | ||
38 | + [yes,*], | ||
39 | [AC_MSG_FAILURE([support for timestamps after Jan 2038 is required])], | ||
40 | - [yes], | ||
41 | + [*,yes], | ||
42 | [# If we're not cross compiling and 'touch' works with a large | ||
43 | # timestamp, then we can presume the system supports wider time_t | ||
44 | # *somehow* and we just weren't able to detect it. One common | ||
45 | @@ -209,10 +209,12 @@ AS_CASE([$ac_cv_sys_year2038_opts], | ||
46 | m4_define([_AC_SYS_YEAR2038_ENABLE], | ||
47 | [m4_divert_text([DEFAULTS], | ||
48 | m4_provide_if([AC_SYS_YEAR2038_REQUIRED], | ||
49 | - [enable_year2038=required], | ||
50 | + [ac_year2038_required=yes], | ||
51 | + [ac_year2038_required=no]))dnl | ||
52 | +m4_divert_text([DEFAULTS], | ||
53 | m4_provide_if([AC_SYS_YEAR2038], | ||
54 | [enable_year2038=yes], | ||
55 | - [enable_year2038=no])))]dnl | ||
56 | + [enable_year2038=no]))]dnl | ||
57 | [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [], | ||
58 | [AC_ARG_ENABLE([year2038], | ||
59 | m4_provide_if([AC_SYS_YEAR2038], | ||
60 | @@ -231,7 +233,8 @@ m4_define([_AC_SYS_YEAR2038_ENABLE], | ||
61 | # documented macro. | ||
62 | AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN], | ||
63 | [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl | ||
64 | - AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE]) | ||
65 | + AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no], | ||
66 | + [_AC_SYS_YEAR2038_PROBE]) | ||
67 | AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) | ||
68 | ])]) | ||
69 | |||
70 | @@ -244,7 +247,8 @@ AC_DEFUN([AC_SYS_YEAR2038], | ||
71 | [m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], | ||
72 | [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl | ||
73 | [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl | ||
74 | - AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE]) | ||
75 | + AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no], | ||
76 | + [_AC_SYS_YEAR2038_PROBE]) | ||
77 | AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) | ||
78 | ])]) | ||
79 | |||
80 | @@ -326,7 +330,7 @@ AS_CASE([$ac_cv_sys_largefile_opts], | ||
81 | ["none needed"], [], | ||
82 | ["support not detected"], | ||
83 | [ac_have_largefile=no | ||
84 | - AS_IF([test $enable_largefile = required], | ||
85 | + AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no], | ||
86 | [AC_MSG_FAILURE([support for large files is required])])], | ||
87 | |||
88 | ["-D_FILE_OFFSET_BITS=64"], | ||
89 | @@ -358,11 +362,15 @@ _AC_SYS_YEAR2038_OPT_IN | ||
90 | m4_define([_AC_SYS_LARGEFILE_ENABLE], | ||
91 | [m4_divert_text([DEFAULTS], | ||
92 | m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], | ||
93 | - [enable_largefile=required], | ||
94 | - [enable_largefile=yes]))]dnl | ||
95 | + [ac_largefile_required=yes], | ||
96 | + [ac_largefile_required=no]))dnl | ||
97 | +m4_divert_text([DEFAULTS], | ||
98 | + [enable_largefile=yes])]dnl | ||
99 | [m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], | ||
100 | -[AC_ARG_ENABLE([largefile], | ||
101 | - [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])]) | ||
102 | + [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [], | ||
103 | + [AC_ARG_ENABLE([largefile], | ||
104 | + [AS_HELP_STRING([--disable-largefile], | ||
105 | + [omit support for large files])])])])]) | ||
106 | |||
107 | # AC_SYS_LARGEFILE | ||
108 | # ---------------- | ||
109 | @@ -377,7 +385,8 @@ m4_define([_AC_SYS_LARGEFILE_ENABLE], | ||
110 | # large files; see also AC_SYS_LARGEFILE_REQUIRED. | ||
111 | AC_DEFUN([AC_SYS_LARGEFILE], | ||
112 | [m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl | ||
113 | - AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE]) | ||
114 | + AS_IF([test "$ac_largefile_required,$enable_largefile,$ac_year2038_required" != no,no,no], | ||
115 | + [_AC_SYS_LARGEFILE_PROBE]) | ||
116 | AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE]) | ||
117 | ])]) | ||
118 | |||
119 | -- | ||
120 | 2.41.0 | ||
121 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch deleted file mode 100644 index f62fe1cd79..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | From 0cc3c4ca8e6c550bf590ae45a916982b6ec50203 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bruno Haible <bruno@clisp.org> | ||
3 | Date: Fri, 14 Apr 2023 16:18:35 +0200 | ||
4 | Subject: [PATCH 17/29] AC_SYS_YEAR2038: Fix configure failure on 32-bit mingw. | ||
5 | |||
6 | * lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE): Use the same option | ||
7 | spelling as in _AC_SYS_YEAR2038_OPTIONS. | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | lib/autoconf/specific.m4 | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 | ||
16 | index 1a3f4a65c..3bf1a0ed1 100644 | ||
17 | --- a/lib/autoconf/specific.m4 | ||
18 | +++ b/lib/autoconf/specific.m4 | ||
19 | @@ -182,7 +182,7 @@ AS_CASE([$ac_cv_sys_year2038_opts], | ||
20 | [AC_DEFINE([_TIME_BITS], [64], | ||
21 | [Number of bits in time_t, on hosts where this is settable.])], | ||
22 | |||
23 | - ["-D__MINGW_USE_VC2005_COMPAT=1"], | ||
24 | + ["-D__MINGW_USE_VC2005_COMPAT"], | ||
25 | [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1], | ||
26 | [Define to 1 on platforms where this makes time_t a 64-bit type.])], | ||
27 | |||
28 | -- | ||
29 | 2.41.0 | ||
30 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch deleted file mode 100644 index 478c4e4229..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | From e704a13c9644f4f4b9a9dd4e215ee7a1707f5850 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bruno Haible <bruno@clisp.org> | ||
3 | Date: Fri, 3 Mar 2023 14:32:13 +0100 | ||
4 | Subject: [PATCH 18/29] Document limitation of BusyBox tr. | ||
5 | |||
6 | BusyBox 1.35.0 tr, which is shipped with Alpine Linux 3.17, does not support | ||
7 | the POSIX [x*n] syntax. | ||
8 | |||
9 | * doc/autoconf.texi (Limitations of Usual Tools): Document limitation of 'tr' | ||
10 | from BusyBox. | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | doc/autoconf.texi | 14 ++++++++++++++ | ||
16 | 1 file changed, 14 insertions(+) | ||
17 | |||
18 | diff --git a/doc/autoconf.texi b/doc/autoconf.texi | ||
19 | index 5d5f613e6..b3c708e87 100644 | ||
20 | --- a/doc/autoconf.texi | ||
21 | +++ b/doc/autoconf.texi | ||
22 | @@ -20368,6 +20368,20 @@ $ @kbd{echo abc | coreutils/tr bc d} | ||
23 | add | ||
24 | @end example | ||
25 | |||
26 | +On platforms with the BusyBox tools, @command{tr} does not support the | ||
27 | +@code{[@var{x}*@var{n}]} option syntax. | ||
28 | + | ||
29 | +@example | ||
30 | +$ @kbd{echo abc | tr 'abcd' '[A*4]'} | ||
31 | +[A* | ||
32 | +$ @kbd{echo abc | coreutils/tr 'abcd' '[A*4]'} | ||
33 | +AAA | ||
34 | +$ @kbd{echo xyz | tr 'a-z' '[A*]'} | ||
35 | +]]] | ||
36 | +$ @kbd{echo xyz | coreutils/tr 'a-z' '[A*]'} | ||
37 | +AAA | ||
38 | +@end example | ||
39 | + | ||
40 | Posix requires @command{tr} to operate on binary files. But at least | ||
41 | Solaris @command{/usr/ucb/tr} and @command{/usr/bin/tr} silently discard | ||
42 | @code{NUL} in the input prior to doing any translation. When using | ||
43 | -- | ||
44 | 2.41.0 | ||
45 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch deleted file mode 100644 index db9307e13c..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | From 2277f2c15744ad1cc5cd1ecc50a43108e50530a2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bruno Haible <bruno@clisp.org> | ||
3 | Date: Wed, 19 Apr 2023 14:17:24 -0700 | ||
4 | Subject: [PATCH 19/29] AC_SYS_YEAR2038_REQUIRED: Fix configure failure with | ||
5 | MSVC. | ||
6 | |||
7 | * lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_PROBE): Distinguish the results | ||
8 | "support not detected" and "supported through gnulib". If the result is | ||
9 | "supported through gnulib", don't fail. | ||
10 | |||
11 | Upstream-Status: Backport | ||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | lib/autoconf/specific.m4 | 13 +++++++++++++ | ||
15 | 1 file changed, 13 insertions(+) | ||
16 | |||
17 | diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 | ||
18 | index 3bf1a0ed1..f411695fe 100644 | ||
19 | --- a/lib/autoconf/specific.m4 | ||
20 | +++ b/lib/autoconf/specific.m4 | ||
21 | @@ -323,11 +323,24 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE], | ||
22 | test $ac_opt_found = no || break | ||
23 | done | ||
24 | CC="$ac_save_CC" | ||
25 | + dnl Gnulib implements large file support for native Windows, based on the | ||
26 | + dnl variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE. | ||
27 | + m4_ifdef([gl_LARGEFILE], [ | ||
28 | + AC_REQUIRE([AC_CANONICAL_HOST]) | ||
29 | + if test $ac_opt_found != yes; then | ||
30 | + AS_CASE([$host_os], | ||
31 | + [mingw*], | ||
32 | + [ac_cv_sys_largefile_opts="supported through gnulib" | ||
33 | + ac_opt_found=yes] | ||
34 | + ) | ||
35 | + fi | ||
36 | + ]) | ||
37 | test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"]) | ||
38 | |||
39 | ac_have_largefile=yes | ||
40 | AS_CASE([$ac_cv_sys_largefile_opts], | ||
41 | ["none needed"], [], | ||
42 | + ["supported through gnulib"], [], | ||
43 | ["support not detected"], | ||
44 | [ac_have_largefile=no | ||
45 | AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no], | ||
46 | -- | ||
47 | 2.41.0 | ||
48 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch deleted file mode 100644 index cbd89cc3ba..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch +++ /dev/null | |||
@@ -1,405 +0,0 @@ | |||
1 | From 9c0183724614517a67d0955065171465bab7154a Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Wed, 26 Apr 2023 18:21:48 -0700 | ||
4 | Subject: [PATCH 20/29] Tone down year-2038 changes | ||
5 | |||
6 | New macro AC_SYS_YEAR2038_RECOMMENDED replaces new macro | ||
7 | AC_SYS_YEAR2038_REQUIRED, and gives the builder an out of | ||
8 | specifying --disable-year2038. Remove new macro | ||
9 | AC_SYS_LARGEFILE_REQUIRED, which was added only for symmetry and | ||
10 | does not seem to have a great need. | ||
11 | * NEWS, doc/autoconf.texi: Document this. | ||
12 | * lib/autoconf/specific.m4: | ||
13 | Be more specific about mid-January 2038 than just Jan 2038. | ||
14 | (_AC_SYS_YEAR2038_PROBE): Ignore IF-NOT-DETECTED arg. | ||
15 | If support is not detected, merely set ac_have_year2038=no instead | ||
16 | of erroring out. All callers changed. | ||
17 | (_AC_SYS_YEAR2038_OPT_IN): Remove. All callers removed. | ||
18 | (AC_SYS_YEAR2038): Simplify by requiring AC_SYS_LARGEFILE | ||
19 | and then testing the result. | ||
20 | (AC_SYS_YEAR2038_REQUIRED, AC_SYS_LARGEFILE_REQUIRED): Remove. | ||
21 | (AC_SYS_YEAR2038_RECOMMENDED): New macro. | ||
22 | (_AC_SYS_LARGEFILE_PROBE): If support is not detected, merely set | ||
23 | ac_have_largefile=no instead of erroring out. All callers changed. | ||
24 | Take on the burden of invoking year2038 probe as needed. | ||
25 | (AC_SYS_LARGEFILE): Simplify. | ||
26 | |||
27 | Upstream-Status: Backport | ||
28 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
29 | --- | ||
30 | NEWS | 18 ++-- | ||
31 | doc/autoconf.texi | 34 +++----- | ||
32 | lib/autoconf/specific.m4 | 177 +++++++++++---------------------------- | ||
33 | 3 files changed, 69 insertions(+), 160 deletions(-) | ||
34 | |||
35 | diff --git a/NEWS b/NEWS | ||
36 | index 8e4ecc1bf..a48a00858 100644 | ||
37 | --- a/NEWS | ||
38 | +++ b/NEWS | ||
39 | @@ -51,7 +51,7 @@ GNU Autoconf NEWS - User visible changes. | ||
40 | |||
41 | ** New features | ||
42 | |||
43 | -*** New macro AC_SYS_YEAR2038. | ||
44 | +*** New macros AC_SYS_YEAR2038 and AC_SYS_YEAR2038_RECOMMENDED. | ||
45 | This causes 'configure' to widen time_t if possible on systems where | ||
46 | time_t by default cannot represent file and other timestamps after | ||
47 | January 2038. Widening is possible only on 32-bit GNU/Linux x86 and | ||
48 | @@ -67,18 +67,14 @@ GNU Autoconf NEWS - User visible changes. | ||
49 | This is similar to longstanding consistency requirements with | ||
50 | --enable-largefile and --disable-largefile. | ||
51 | |||
52 | + AC_SYS_YEAR2038_RECOMMENDED acts like AC_SYS_YEAR2038 except that | ||
53 | + 'configure' fails if the target lacks support for post-2038 | ||
54 | + timestamps and --disable-year2038 is not given. | ||
55 | + | ||
56 | *** AC_SYS_LARGEFILE now optionally arranges to widen time_t. | ||
57 | It now acts like AC_SYS_YEAR2038, except 'configure' defaults to | ||
58 | - --disable-year2038 unless AC_SYS_YEAR2038 is also present. | ||
59 | - As with AC_SYS_YEAR2038, application and library builders should | ||
60 | - configure consistently. | ||
61 | - | ||
62 | -*** New macros AC_SYS_LARGEFILE_REQUIRED and AC_SYS_YEAR2038_REQUIRED. | ||
63 | - These act like AC_SYS_LARGEFILE and AC_SYS_YEAR2038 respectively, | ||
64 | - except that 'configure' fails if the target lacks support | ||
65 | - for large files and for post-2038 timestamps, respectively. | ||
66 | - As with AC_SYS_YEAR2038, application and library builders should | ||
67 | - configure consistently. | ||
68 | + --disable-year2038 unless either AC_SYS_YEAR2038 or | ||
69 | + AC_SYS_YEAR2038_RECOMMENDED is also present. | ||
70 | |||
71 | *** AC_USE_SYSTEM_EXTENSIONS now enables C23 Annex F extensions | ||
72 | by defining __STDC_WANT_IEC_60559_EXT__. | ||
73 | diff --git a/doc/autoconf.texi b/doc/autoconf.texi | ||
74 | index b3c708e87..0f3047b31 100644 | ||
75 | --- a/doc/autoconf.texi | ||
76 | +++ b/doc/autoconf.texi | ||
77 | @@ -8808,18 +8808,20 @@ if possible. These types may include @code{blkcnt_t}, @code{dev_t}, | ||
78 | |||
79 | Also, arrange for a @command{configure} option @code{--enable-year2038} | ||
80 | to request widening the type @code{time_t} as needed to represent file | ||
81 | -wand other timestamps after January 2038. This widening is possible | ||
82 | +wand other timestamps after mid-January 2038. This widening is possible | ||
83 | only on 32-bit GNU/Linux x86 and ARM systems with glibc 2.34 or later. | ||
84 | If year-2038 support is requested but @command{configure} fails to find a way | ||
85 | to widen @code{time_t} and inspection of the system suggests that | ||
86 | this feature is available somehow, @command{configure} will error out. | ||
87 | If you want the default to be @code{--enable-year2038}, you can use | ||
88 | -@code{AC_SYS_YEAR2038} instead of @code{AC_SYS_LARGEFILE}. | ||
89 | +@code{AC_SYS_YEAR2038} or @code{AC_SYS_YEAR2038_RECOMMENDED} | ||
90 | +instead of @code{AC_SYS_LARGEFILE}. | ||
91 | In other words, older packages that have long used @code{AC_SYS_LARGEFILE} | ||
92 | can have year-2038 support on 32-bit GNU/Linux x86 and ARM systems either by | ||
93 | regenerating @file{configure} with current Autoconf and configuring with | ||
94 | -@option{--enable-year2038}, or by using @code{AC_SYS_YEAR2038} and | ||
95 | -configuring without @option{--disable-year2038}. | ||
96 | +@option{--enable-year2038}, or by using @code{AC_SYS_YEAR2038} or | ||
97 | +@code{AC_SYS_YEAR2038_RECOMMENDED} and configuring without | ||
98 | +@option{--disable-year2038}. | ||
99 | A future version of Autoconf might change the @code{AC_SYS_LARGEFILE} | ||
100 | default to @code{--enable-year2038}; if and when that happens, | ||
101 | @code{AC_SYS_LARGEFILE} and @code{AC_SYS_YEAR2038} will become equivalent. | ||
102 | @@ -8886,19 +8888,6 @@ library, enabling or disabling the application's large-file support may | ||
103 | break binary compatibility with that library. | ||
104 | @end defmac | ||
105 | |||
106 | -@defmac AC_SYS_LARGEFILE_REQUIRED | ||
107 | -@acindex{SYS_LARGEFILE_REQUIRED} | ||
108 | -This macro has the same effect as @code{AC_SYS_LARGEFILE}, | ||
109 | -but also declares that the program being configured | ||
110 | -requires support for large files. | ||
111 | -If a large @code{off_t} is unavailable, | ||
112 | -@command{configure} will error out. | ||
113 | -The @option{--disable-largefile} option will not be available. | ||
114 | - | ||
115 | -Large-file and year-2038 support for applications and libraries should | ||
116 | -be configured compatibly. @xref{AC_SYS_LARGEFILE}. | ||
117 | -@end defmac | ||
118 | - | ||
119 | @anchor{AC_SYS_LONG_FILE_NAMES} | ||
120 | @defmac AC_SYS_LONG_FILE_NAMES | ||
121 | @acindex{SYS_LONG_FILE_NAMES} | ||
122 | @@ -8927,14 +8916,13 @@ applications and libraries should be configured compatibly. | ||
123 | @xref{AC_SYS_LARGEFILE}. | ||
124 | @end defmac | ||
125 | |||
126 | -@defmac AC_SYS_YEAR2038_REQUIRED | ||
127 | -@acindex{SYS_YEAR2038_REQUIRED} | ||
128 | +@defmac AC_SYS_YEAR2038_RECOMMENDED | ||
129 | +@acindex{SYS_YEAR2038_RECOMMENDED} | ||
130 | This macro has the same effect as @code{AC_SYS_YEAR2038}, | ||
131 | but also declares that the program being configured | ||
132 | -requires support for timestamps after mid-January of 2038. | ||
133 | -If a large @code{time_t} is unavailable, | ||
134 | -@command{configure} will unconditionally error out. | ||
135 | -The @option{--disable-year2038} option will not be available. | ||
136 | +should support timestamps after mid-January 2038. | ||
137 | +If a large @code{time_t} is unavailable, @command{configure} will error | ||
138 | +out unless the @option{--disable-year2038} option is specified. | ||
139 | |||
140 | Year-2038 support for applications and libraries should be configured | ||
141 | compatibly. @xref{AC_SYS_YEAR2038}. | ||
142 | diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 | ||
143 | index f411695fe..88e0479e8 100644 | ||
144 | --- a/lib/autoconf/specific.m4 | ||
145 | +++ b/lib/autoconf/specific.m4 | ||
146 | @@ -115,8 +115,8 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize( | ||
147 | dnl 32-bit MinGW (misconfiguration) | ||
148 | )) | ||
149 | |||
150 | -# _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED]) | ||
151 | -# ----------------------------------------- | ||
152 | +# _AC_SYS_YEAR2038_PROBE | ||
153 | +# ---------------------- | ||
154 | # Subroutine of AC_SYS_YEAR2038. Probe for time_t that can represent | ||
155 | # time points more than 2**31 - 1 seconds after the epoch (dates after | ||
156 | # 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts | ||
157 | @@ -129,13 +129,10 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize( | ||
158 | # AC_TRY_RUN. Note also that some systems only support large time_t | ||
159 | # together with large off_t. | ||
160 | # | ||
161 | -# If support is not detected, the behavior depends on which of the | ||
162 | -# top-level AC_SYS_YEAR2038 macros was used (see below). | ||
163 | -# | ||
164 | # If you change this macro you may also need to change | ||
165 | # _AC_SYS_YEAR2038_OPTIONS. | ||
166 | AC_DEFUN([_AC_SYS_YEAR2038_PROBE], | ||
167 | -[AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038], | ||
168 | +[AC_CACHE_CHECK([for $CC option for timestamps after 2038], | ||
169 | [ac_cv_sys_year2038_opts], | ||
170 | [ac_save_CPPFLAGS="$CPPFLAGS" | ||
171 | ac_opt_found=no | ||
172 | @@ -154,29 +151,7 @@ ac_have_year2038=yes | ||
173 | AS_CASE([$ac_cv_sys_year2038_opts], | ||
174 | ["none needed"], [], | ||
175 | ["support not detected"], | ||
176 | - [ac_have_year2038=no | ||
177 | - AS_CASE([$ac_year2038_required,$enable_year2038], | ||
178 | - [yes,*], | ||
179 | - [AC_MSG_FAILURE([support for timestamps after Jan 2038 is required])], | ||
180 | - [*,yes], | ||
181 | - [# If we're not cross compiling and 'touch' works with a large | ||
182 | - # timestamp, then we can presume the system supports wider time_t | ||
183 | - # *somehow* and we just weren't able to detect it. One common | ||
184 | - # case that we deliberately *don't* probe for is a system that | ||
185 | - # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers | ||
186 | - # wide time_t. (It would be inappropriate for us to override an | ||
187 | - # intentional use of -m32.) Error out, demanding use of | ||
188 | - # --disable-year2038 if this is intentional. | ||
189 | - AS_IF([test $cross_compiling = no], | ||
190 | - [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null], | ||
191 | - [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`], | ||
192 | - [*'Feb 7 2106'* | *'Feb 7 17:10'*], | ||
193 | - [AC_MSG_FAILURE(m4_text_wrap( | ||
194 | - [this system appears to support timestamps after January 2038, | ||
195 | - but no mechanism for enabling wide 'time_t' was detected. | ||
196 | - Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.) | ||
197 | - To proceed with 32-bit time_t, configure with '--disable-year2038'.], | ||
198 | - [], [], [55]))])])])])], | ||
199 | + [ac_have_year2038=no], | ||
200 | |||
201 | ["-D_TIME_BITS=64"], | ||
202 | [AC_DEFINE([_TIME_BITS], [64], | ||
203 | @@ -189,7 +164,7 @@ AS_CASE([$ac_cv_sys_year2038_opts], | ||
204 | ["-U_USE_32_BIT_TIME_T"*], | ||
205 | [AC_MSG_FAILURE(m4_text_wrap( | ||
206 | [the 'time_t' type is currently forced to be 32-bit. | ||
207 | - It will stop working after January 2038. | ||
208 | + It will stop working after mid-January 2038. | ||
209 | Remove _USE_32BIT_TIME_T from the compiler flags.], | ||
210 | [], [], [55]))], | ||
211 | |||
212 | @@ -199,44 +174,23 @@ AS_CASE([$ac_cv_sys_year2038_opts], | ||
213 | |||
214 | # _AC_SYS_YEAR2038_ENABLE | ||
215 | # ----------------------- | ||
216 | -# Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN. | ||
217 | # Depending on which of the YEAR2038 macros was used, add either an | ||
218 | -# --enable-year2038, or a --disable-year2038, or no option at all to | ||
219 | -# the configure script. Note that this is expanded very late and | ||
220 | +# --enable-year2038 or a --disable-year2038 to | ||
221 | +# the configure script. This is expanded very late and | ||
222 | # therefore there cannot be any code in the AC_ARG_ENABLE. The | ||
223 | # default value for 'enable_year2038' is emitted unconditionally | ||
224 | # because the generated code always looks at this variable. | ||
225 | m4_define([_AC_SYS_YEAR2038_ENABLE], | ||
226 | [m4_divert_text([DEFAULTS], | ||
227 | - m4_provide_if([AC_SYS_YEAR2038_REQUIRED], | ||
228 | - [ac_year2038_required=yes], | ||
229 | - [ac_year2038_required=no]))dnl | ||
230 | -m4_divert_text([DEFAULTS], | ||
231 | m4_provide_if([AC_SYS_YEAR2038], | ||
232 | [enable_year2038=yes], | ||
233 | [enable_year2038=no]))]dnl | ||
234 | -[m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [], | ||
235 | [AC_ARG_ENABLE([year2038], | ||
236 | m4_provide_if([AC_SYS_YEAR2038], | ||
237 | [AS_HELP_STRING([--disable-year2038], | ||
238 | - [omit support for dates after Jan 2038])], | ||
239 | + [don't support timestamps after 2038])], | ||
240 | [AS_HELP_STRING([--enable-year2038], | ||
241 | - [include support for dates after Jan 2038])]))])]) | ||
242 | - | ||
243 | -# _AC_SYS_YEAR2038_OPT_IN | ||
244 | -# ----------------------- | ||
245 | -# If the --enable-year2038 option is given to configure, attempt to | ||
246 | -# detect and activate support for large time_t on 32-bit systems. | ||
247 | -# This macro is automatically invoked by AC_SYS_LARGEFILE when large | ||
248 | -# *file* support is detected. It does not AC_REQUIRE AC_SYS_LARGEFILE | ||
249 | -# to avoid a dependency loop, and is therefore unsafe to expose as a | ||
250 | -# documented macro. | ||
251 | -AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN], | ||
252 | -[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl | ||
253 | - AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no], | ||
254 | - [_AC_SYS_YEAR2038_PROBE]) | ||
255 | - AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) | ||
256 | -])]) | ||
257 | + [support timestamps after 2038])]))]) | ||
258 | |||
259 | # AC_SYS_YEAR2038 | ||
260 | # --------------- | ||
261 | @@ -244,28 +198,39 @@ AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN], | ||
262 | # On systems where time_t is not always 64 bits, this probe can be | ||
263 | # skipped by passing the --disable-year2038 option to configure. | ||
264 | AC_DEFUN([AC_SYS_YEAR2038], | ||
265 | -[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], | ||
266 | - [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl | ||
267 | -[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl | ||
268 | - AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no], | ||
269 | - [_AC_SYS_YEAR2038_PROBE]) | ||
270 | - AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) | ||
271 | -])]) | ||
272 | - | ||
273 | -# AC_SYS_YEAR2038_REQUIRED | ||
274 | -# ------------------------ | ||
275 | -# Same as AC_SYS_YEAR2038, but declares that this program *requires* | ||
276 | -# support for large time_t. If we cannot find any way to make time_t | ||
277 | -# capable of representing values larger than 2**31 - 1, configure will | ||
278 | -# error out. Furthermore, no --enable-year2038 nor --disable-year2038 | ||
279 | -# option will be available. | ||
280 | -AC_DEFUN([AC_SYS_YEAR2038_REQUIRED], | ||
281 | -[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], | ||
282 | - [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl | ||
283 | -[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl | ||
284 | - _AC_SYS_YEAR2038_PROBE | ||
285 | - AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) | ||
286 | -])]) | ||
287 | +[AC_REQUIRE([AC_SYS_LARGEFILE])dnl | ||
288 | +AS_IF([test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no], | ||
289 | + [# If we're not cross compiling and 'touch' works with a large | ||
290 | + # timestamp, then we can presume the system supports wider time_t | ||
291 | + # *somehow* and we just weren't able to detect it. One common | ||
292 | + # case that we deliberately *don't* probe for is a system that | ||
293 | + # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers | ||
294 | + # wide time_t. (It would be inappropriate for us to override an | ||
295 | + # intentional use of -m32.) Error out, demanding use of | ||
296 | + # --disable-year2038 if this is intentional. | ||
297 | + AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null], | ||
298 | + [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`], | ||
299 | + [*'Feb 7 2106'* | *'Feb 7 17:10'*], | ||
300 | + [AC_MSG_FAILURE(m4_text_wrap( | ||
301 | + [this system appears to support timestamps after mid-January 2038, | ||
302 | + but no mechanism for enabling wide 'time_t' was detected. | ||
303 | + Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.) | ||
304 | + To proceed with 32-bit time_t, configure with '--disable-year2038'.], | ||
305 | + [], [], [55]))])])])]) | ||
306 | + | ||
307 | +# AC_SYS_YEAR2038_RECOMMENDED | ||
308 | +# --------------------------- | ||
309 | +# Same as AC_SYS_YEAR2038, but recommend support for large time_t. | ||
310 | +# If we cannot find any way to make time_t capable of representing | ||
311 | +# values larger than 2**31 - 1, error out unless --disable-year2038 is given. | ||
312 | +AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED], | ||
313 | +[AC_REQUIRE([AC_SYS_YEAR2038])dnl | ||
314 | +AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no], | ||
315 | + [AC_MSG_FAILURE(m4_text_wrap( | ||
316 | + [could not enable timestamps after mid-January 2038. | ||
317 | + Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.) | ||
318 | + To proceed with 32-bit time_t, configure with '--disable-year2038'.], | ||
319 | + [], [], [55]))])]) | ||
320 | |||
321 | # _AC_SYS_LARGEFILE_TEST_CODE | ||
322 | # --------------------------- | ||
323 | @@ -342,9 +307,7 @@ AS_CASE([$ac_cv_sys_largefile_opts], | ||
324 | ["none needed"], [], | ||
325 | ["supported through gnulib"], [], | ||
326 | ["support not detected"], | ||
327 | - [ac_have_largefile=no | ||
328 | - AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no], | ||
329 | - [AC_MSG_FAILURE([support for large files is required])])], | ||
330 | + [ac_have_largefile=no], | ||
331 | |||
332 | ["-D_FILE_OFFSET_BITS=64"], | ||
333 | [AC_DEFINE([_FILE_OFFSET_BITS], [64], | ||
334 | @@ -360,30 +323,9 @@ AS_CASE([$ac_cv_sys_largefile_opts], | ||
335 | [AC_MSG_ERROR( | ||
336 | [internal error: bad value for \$ac_cv_sys_largefile_opts])]) | ||
337 | |||
338 | -_AC_SYS_YEAR2038_OPT_IN | ||
339 | -]) | ||
340 | - | ||
341 | -# _AC_SYS_LARGEFILE_ENABLE | ||
342 | -# ------------------------ | ||
343 | -# Subroutine of AC_SYS_LARGEFILE. If AC_SYS_LARGEFILE_REQUIRED was | ||
344 | -# not used at any point in this configure script, add a | ||
345 | -# --disable-largefile option to the configure script. Note that this | ||
346 | -# is expanded very late and therefore there cannot be any code in the | ||
347 | -# AC_ARG_ENABLE. The default value for 'enable_largefile' is emitted | ||
348 | -# unconditionally because the generated shell code always looks at | ||
349 | -# this variable. | ||
350 | -m4_define([_AC_SYS_LARGEFILE_ENABLE], | ||
351 | -[m4_divert_text([DEFAULTS], | ||
352 | - m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], | ||
353 | - [ac_largefile_required=yes], | ||
354 | - [ac_largefile_required=no]))dnl | ||
355 | -m4_divert_text([DEFAULTS], | ||
356 | - [enable_largefile=yes])]dnl | ||
357 | -[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], | ||
358 | - [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [], | ||
359 | - [AC_ARG_ENABLE([largefile], | ||
360 | - [AS_HELP_STRING([--disable-largefile], | ||
361 | - [omit support for large files])])])])]) | ||
362 | +AS_IF([test "$enable_year2038" != no], | ||
363 | + [_AC_SYS_YEAR2038_PROBE]) | ||
364 | +AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])]) | ||
365 | |||
366 | # AC_SYS_LARGEFILE | ||
367 | # ---------------- | ||
368 | @@ -394,29 +336,12 @@ m4_divert_text([DEFAULTS], | ||
369 | # Additionally, on Linux file systems with 64-bit inodes a file that happens | ||
370 | # to have a 64-bit inode number cannot be accessed by 32-bit applications on | ||
371 | # Linux x86/x86_64. This can occur with file systems such as XFS and NFS. | ||
372 | -# This macro allows configuration to continue if the system doesn't support | ||
373 | -# large files; see also AC_SYS_LARGEFILE_REQUIRED. | ||
374 | AC_DEFUN([AC_SYS_LARGEFILE], | ||
375 | -[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl | ||
376 | - AS_IF([test "$ac_largefile_required,$enable_largefile,$ac_year2038_required" != no,no,no], | ||
377 | - [_AC_SYS_LARGEFILE_PROBE]) | ||
378 | - AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE]) | ||
379 | -])]) | ||
380 | - | ||
381 | -# AC_SYS_LARGEFILE_REQUIRED | ||
382 | -# ------------------------- | ||
383 | -# Same as AC_SYS_LARGEFILE, but declares that this program *requires* | ||
384 | -# support for large files. If we cannot find a combination of compiler | ||
385 | -# options and #defines that makes 'off_t' capable of representing 2**63 - 1, | ||
386 | -# 'configure' will error out. Furthermore, 'configure' will not offer a | ||
387 | -# --disable-largefile command line option. | ||
388 | -# If both AC_SYS_LARGEFILE and AC_SYS_LARGEFILE_REQUIRED are used in the | ||
389 | -# same configure script -- in either order -- AC_SYS_LARGEFILE_REQUIRED wins. | ||
390 | -AC_DEFUN([AC_SYS_LARGEFILE_REQUIRED], | ||
391 | -[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl | ||
392 | - _AC_SYS_LARGEFILE_PROBE | ||
393 | - AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE]) | ||
394 | -])]) | ||
395 | +[AC_ARG_ENABLE([largefile], | ||
396 | + [AS_HELP_STRING([--disable-largefile], | ||
397 | + [omit support for large files])])dnl | ||
398 | +AS_IF([test "$enable_largefile,$enable_year2038" != no,no], | ||
399 | + [_AC_SYS_LARGEFILE_PROBE])]) | ||
400 | |||
401 | # AC_SYS_LONG_FILE_NAMES | ||
402 | # ---------------------- | ||
403 | -- | ||
404 | 2.41.0 | ||
405 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch deleted file mode 100644 index 56bcbb6ca1..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch +++ /dev/null | |||
@@ -1,98 +0,0 @@ | |||
1 | From 028526149ee804617a302ccef22cc6adbda681b0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Wed, 10 May 2023 17:20:49 -0700 | ||
4 | Subject: [PATCH 21/29] Port AC_FUNC_MMAP to more-modern systems | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | * lib/autoconf/functions.m4 (AC_FUNC_MMAP): Don’t call | ||
10 | getpagesize, as it’s tricky to configure, modern POSIX doesn’t | ||
11 | require it, and calling it without including <unistd.h> provokes a | ||
12 | compile-time error on modern systems. Instead, rework the test | ||
13 | to not need getpagesize. Add a FIXME comment for unnecessary | ||
14 | tests; I don't want to remove them now as we're too close to | ||
15 | a release. Remove long-obsolete comment about GNU grep. | ||
16 | |||
17 | Upstream-Status: Backport | ||
18 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
19 | --- | ||
20 | lib/autoconf/functions.m4 | 44 +++++---------------------------------- | ||
21 | 1 file changed, 5 insertions(+), 39 deletions(-) | ||
22 | |||
23 | diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 | ||
24 | index 499e4c024..5a0f01856 100644 | ||
25 | --- a/lib/autoconf/functions.m4 | ||
26 | +++ b/lib/autoconf/functions.m4 | ||
27 | @@ -1283,6 +1283,7 @@ AU_ALIAS([AM_FUNC_MKTIME], [AC_FUNC_MKTIME]) | ||
28 | AN_FUNCTION([mmap], [AC_FUNC_MMAP]) | ||
29 | AC_DEFUN([AC_FUNC_MMAP], | ||
30 | [AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles | ||
31 | +dnl FIXME: Remove the unnecessary checks for unistd.h, sys/param.h, getpagesize. | ||
32 | AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h]) | ||
33 | AC_CHECK_FUNCS_ONCE([getpagesize]) | ||
34 | AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], | ||
35 | @@ -1305,48 +1306,11 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], | ||
36 | VM page cache was not coherent with the file system buffer cache | ||
37 | like early versions of FreeBSD and possibly contemporary NetBSD.) | ||
38 | For shared mappings, we should conversely verify that changes get | ||
39 | - propagated back to all the places they're supposed to be. | ||
40 | - | ||
41 | - Grep wants private fixed already mapped. | ||
42 | - The main things grep needs to know about mmap are: | ||
43 | - * does it exist and is it safe to write into the mmap'd area | ||
44 | - * how to use it (BSD variants) */ | ||
45 | + propagated back to all the places they're supposed to be. */ | ||
46 | |||
47 | #include <fcntl.h> | ||
48 | #include <sys/mman.h> | ||
49 | |||
50 | -/* This mess was copied from the GNU getpagesize.h. */ | ||
51 | -#ifndef HAVE_GETPAGESIZE | ||
52 | -# ifdef _SC_PAGESIZE | ||
53 | -# define getpagesize() sysconf(_SC_PAGESIZE) | ||
54 | -# else /* no _SC_PAGESIZE */ | ||
55 | -# ifdef HAVE_SYS_PARAM_H | ||
56 | -# include <sys/param.h> | ||
57 | -# ifdef EXEC_PAGESIZE | ||
58 | -# define getpagesize() EXEC_PAGESIZE | ||
59 | -# else /* no EXEC_PAGESIZE */ | ||
60 | -# ifdef NBPG | ||
61 | -# define getpagesize() NBPG * CLSIZE | ||
62 | -# ifndef CLSIZE | ||
63 | -# define CLSIZE 1 | ||
64 | -# endif /* no CLSIZE */ | ||
65 | -# else /* no NBPG */ | ||
66 | -# ifdef NBPC | ||
67 | -# define getpagesize() NBPC | ||
68 | -# else /* no NBPC */ | ||
69 | -# ifdef PAGESIZE | ||
70 | -# define getpagesize() PAGESIZE | ||
71 | -# endif /* PAGESIZE */ | ||
72 | -# endif /* no NBPC */ | ||
73 | -# endif /* no NBPG */ | ||
74 | -# endif /* no EXEC_PAGESIZE */ | ||
75 | -# else /* no HAVE_SYS_PARAM_H */ | ||
76 | -# define getpagesize() 8192 /* punt totally */ | ||
77 | -# endif /* no HAVE_SYS_PARAM_H */ | ||
78 | -# endif /* no _SC_PAGESIZE */ | ||
79 | - | ||
80 | -#endif /* no HAVE_GETPAGESIZE */ | ||
81 | - | ||
82 | int | ||
83 | main (void) | ||
84 | { | ||
85 | @@ -1355,7 +1319,9 @@ main (void) | ||
86 | int i, pagesize; | ||
87 | int fd, fd2; | ||
88 | |||
89 | - pagesize = getpagesize (); | ||
90 | + /* The "page size" need not equal the system page size, | ||
91 | + and need not even be a power of 2. */ | ||
92 | + pagesize = 8192; | ||
93 | |||
94 | /* First, make a file with some known garbage in it. */ | ||
95 | data = (char *) malloc (pagesize); | ||
96 | -- | ||
97 | 2.41.0 | ||
98 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch deleted file mode 100644 index 1b168c7b55..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch +++ /dev/null | |||
@@ -1,91 +0,0 @@ | |||
1 | From 33c26d2700f927432c756ccf7a4fc89403d35b95 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Wed, 10 May 2023 22:57:27 -0700 | ||
4 | Subject: [PATCH 22/29] Fix port of AC_FUNC_MMAP | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Problem reported by Matt Turner in: | ||
10 | https://lists.gnu.org/r/bug-autoconf/2023-05/msg00005.html | ||
11 | * lib/autoconf/functions.m4 (AC_FUNC_MMAP): Go back to getting the | ||
12 | page size, since the zero-fill test needs this after all. | ||
13 | However, prefer sysconf (_SC_PAGESIZE) or sysconf (_SC_PAGE_SIZE) | ||
14 | to getpagesize (), and use ‘long’ not ‘int’ to store the page size. | ||
15 | Also, declare getpagesize if it is used as a function. | ||
16 | |||
17 | Upstream-Status: Backport | ||
18 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
19 | --- | ||
20 | lib/autoconf/functions.m4 | 41 ++++++++++++++++++++++++++++++++++----- | ||
21 | 1 file changed, 36 insertions(+), 5 deletions(-) | ||
22 | |||
23 | diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 | ||
24 | index 5a0f01856..3d6e4aca8 100644 | ||
25 | --- a/lib/autoconf/functions.m4 | ||
26 | +++ b/lib/autoconf/functions.m4 | ||
27 | @@ -1283,7 +1283,6 @@ AU_ALIAS([AM_FUNC_MKTIME], [AC_FUNC_MKTIME]) | ||
28 | AN_FUNCTION([mmap], [AC_FUNC_MMAP]) | ||
29 | AC_DEFUN([AC_FUNC_MMAP], | ||
30 | [AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles | ||
31 | -dnl FIXME: Remove the unnecessary checks for unistd.h, sys/param.h, getpagesize. | ||
32 | AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h]) | ||
33 | AC_CHECK_FUNCS_ONCE([getpagesize]) | ||
34 | AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], | ||
35 | @@ -1311,17 +1310,49 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], | ||
36 | #include <fcntl.h> | ||
37 | #include <sys/mman.h> | ||
38 | |||
39 | +#ifndef getpagesize | ||
40 | +# ifdef _SC_PAGESIZE | ||
41 | +# define getpagesize() sysconf (_SC_PAGESIZE) | ||
42 | +# elif defined _SC_PAGE_SIZE | ||
43 | +# define getpagesize() sysconf (_SC_PAGE_SIZE) | ||
44 | +# elif HAVE_GETPAGESIZE | ||
45 | +int getpagesize (); | ||
46 | +# else | ||
47 | +# ifdef HAVE_SYS_PARAM_H | ||
48 | +# include <sys/param.h> | ||
49 | +# ifdef EXEC_PAGESIZE | ||
50 | +# define getpagesize() EXEC_PAGESIZE | ||
51 | +# else /* no EXEC_PAGESIZE */ | ||
52 | +# ifdef NBPG | ||
53 | +# define getpagesize() NBPG * CLSIZE | ||
54 | +# ifndef CLSIZE | ||
55 | +# define CLSIZE 1 | ||
56 | +# endif /* no CLSIZE */ | ||
57 | +# else /* no NBPG */ | ||
58 | +# ifdef NBPC | ||
59 | +# define getpagesize() NBPC | ||
60 | +# else /* no NBPC */ | ||
61 | +# ifdef PAGESIZE | ||
62 | +# define getpagesize() PAGESIZE | ||
63 | +# endif /* PAGESIZE */ | ||
64 | +# endif /* no NBPC */ | ||
65 | +# endif /* no NBPG */ | ||
66 | +# endif /* no EXEC_PAGESIZE */ | ||
67 | +# else /* no HAVE_SYS_PARAM_H */ | ||
68 | +# define getpagesize() 8192 /* punt totally */ | ||
69 | +# endif /* no HAVE_SYS_PARAM_H */ | ||
70 | +# endif | ||
71 | +#endif | ||
72 | + | ||
73 | int | ||
74 | main (void) | ||
75 | { | ||
76 | char *data, *data2, *data3; | ||
77 | const char *cdata2; | ||
78 | - int i, pagesize; | ||
79 | + long i, pagesize; | ||
80 | int fd, fd2; | ||
81 | |||
82 | - /* The "page size" need not equal the system page size, | ||
83 | - and need not even be a power of 2. */ | ||
84 | - pagesize = 8192; | ||
85 | + pagesize = getpagesize (); | ||
86 | |||
87 | /* First, make a file with some known garbage in it. */ | ||
88 | data = (char *) malloc (pagesize); | ||
89 | -- | ||
90 | 2.41.0 | ||
91 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch deleted file mode 100644 index 9fb33c3196..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | From ccc0d640c4d829504568330f9674408af5092ffc Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Sat, 13 May 2023 09:56:33 -0700 | ||
4 | Subject: [PATCH 23/29] Improve AC_SYS_YEAR2038_RECOMMENDED diagnostic | ||
5 | |||
6 | * lib/autoconf/specific.m4 (AC_SYS_YEAR2038_RECOMMENDED): | ||
7 | Do not recommend gcc -m64, as that likely will not work. | ||
8 | Problem reported by Bruno Haible in: | ||
9 | https://lists.gnu.org/r/bug-gnulib/2023-05/msg00060.html | ||
10 | Instead, mention that 32-bit time_t is not recommended | ||
11 | for this package, before telling the builder how | ||
12 | to configure with 32-bit time_t anyway. | ||
13 | |||
14 | Upstream-Status: Backport | ||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | lib/autoconf/specific.m4 | 5 +++-- | ||
18 | 1 file changed, 3 insertions(+), 2 deletions(-) | ||
19 | |||
20 | diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 | ||
21 | index 88e0479e8..91f20bf0d 100644 | ||
22 | --- a/lib/autoconf/specific.m4 | ||
23 | +++ b/lib/autoconf/specific.m4 | ||
24 | @@ -228,8 +228,9 @@ AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED], | ||
25 | AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no], | ||
26 | [AC_MSG_FAILURE(m4_text_wrap( | ||
27 | [could not enable timestamps after mid-January 2038. | ||
28 | - Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.) | ||
29 | - To proceed with 32-bit time_t, configure with '--disable-year2038'.], | ||
30 | + This package recommends support for these later timestamps. | ||
31 | + However, to proceed with signed 32-bit time_t even though it | ||
32 | + will fail then, configure with '--disable-year2038'.], | ||
33 | [], [], [55]))])]) | ||
34 | |||
35 | # _AC_SYS_LARGEFILE_TEST_CODE | ||
36 | -- | ||
37 | 2.41.0 | ||
38 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch deleted file mode 100644 index 2644c57836..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From 8e7281d7bebb5e389befe6e9a5afbb7b2ae13ae0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Wed, 17 May 2023 11:50:27 -0700 | ||
4 | Subject: [PATCH 24/29] Improve AC_FUNC_MMAP comments | ||
5 | |||
6 | * lib/autoconf/functions.m4 (AC_FUNC_MMAP): Add comment. | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | --- | ||
11 | lib/autoconf/functions.m4 | 2 ++ | ||
12 | 1 file changed, 2 insertions(+) | ||
13 | |||
14 | diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 | ||
15 | index 3d6e4aca8..54d04cc38 100644 | ||
16 | --- a/lib/autoconf/functions.m4 | ||
17 | +++ b/lib/autoconf/functions.m4 | ||
18 | @@ -1311,6 +1311,8 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], | ||
19 | #include <sys/mman.h> | ||
20 | |||
21 | #ifndef getpagesize | ||
22 | +/* Prefer sysconf to the legacy getpagesize function, as getpagesize has | ||
23 | + been removed from POSIX and is limited to page sizes that fit in 'int'. */ | ||
24 | # ifdef _SC_PAGESIZE | ||
25 | # define getpagesize() sysconf (_SC_PAGESIZE) | ||
26 | # elif defined _SC_PAGE_SIZE | ||
27 | -- | ||
28 | 2.41.0 | ||
29 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch deleted file mode 100644 index b7affed40d..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | From 103514e40da5f20aebf83a3446452ccebe5172bb Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Mon, 19 Jun 2023 14:04:29 -0700 | ||
4 | Subject: [PATCH 25/29] Fix AC_SYS_LARGEFILE on GNU/Linux alpha, s390x | ||
5 | |||
6 | Problem reported by Matoro <https://bugs.gnu.org/64123>. | ||
7 | * lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_CODE): | ||
8 | New overridable macro FTYPE, to test types other than off_t. | ||
9 | (_AC_SYS_LARGEFILE_TEST_CODE): Test ino_t for | ||
10 | -D_FILE_OFFSETBITS=64 too, if no flags are needed for off_t. | ||
11 | Needed for GNU/Linux on alpha and s390x. | ||
12 | |||
13 | Upstream-Status: Backport | ||
14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
15 | --- | ||
16 | lib/autoconf/specific.m4 | 21 +++++++++++++++------ | ||
17 | 1 file changed, 15 insertions(+), 6 deletions(-) | ||
18 | |||
19 | diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 | ||
20 | index 91f20bf0d..9d5974548 100644 | ||
21 | --- a/lib/autoconf/specific.m4 | ||
22 | +++ b/lib/autoconf/specific.m4 | ||
23 | @@ -238,13 +238,16 @@ AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no], | ||
24 | # C code used to probe for large file support. | ||
25 | m4_define([_AC_SYS_LARGEFILE_TEST_CODE], | ||
26 | [@%:@include <sys/types.h> | ||
27 | - /* Check that off_t can represent 2**63 - 1 correctly. | ||
28 | - We can't simply define LARGE_OFF_T to be 9223372036854775807, | ||
29 | +@%:@ifndef FTYPE | ||
30 | +@%:@ define FTYPE off_t | ||
31 | +@%:@endif | ||
32 | + /* Check that FTYPE can represent 2**63 - 1 correctly. | ||
33 | + We can't simply define LARGE_FTYPE to be 9223372036854775807, | ||
34 | since some C++ compilers masquerading as C compilers | ||
35 | incorrectly reject 9223372036854775807. */ | ||
36 | -@%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) | ||
37 | - int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 | ||
38 | - && LARGE_OFF_T % 2147483647 == 1) | ||
39 | +@%:@define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31)) | ||
40 | + int FTYPE_is_large[[(LARGE_FTYPE % 2147483629 == 721 | ||
41 | + && LARGE_FTYPE % 2147483647 == 1) | ||
42 | ? 1 : -1]];[]dnl | ||
43 | ]) | ||
44 | # Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it. | ||
45 | @@ -284,7 +287,13 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE], | ||
46 | AS_IF([test x"$ac_opt" != x"none needed"], | ||
47 | [CC="$ac_save_CC $ac_opt"]) | ||
48 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])], | ||
49 | - [ac_cv_sys_largefile_opts="$ac_opt" | ||
50 | + [AS_IF([test x"$ac_opt" = x"none needed"], | ||
51 | + [# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. | ||
52 | + CC="$CC -DFTYPE=ino_t" | ||
53 | + AC_COMPILE_IFELSE([], [], | ||
54 | + [CC="$CC -D_FILE_OFFSET_BITS=64" | ||
55 | + AC_COMPILE_IFELSE([], [ac_opt='-D_FILE_OFFSET_BITS=64'])])]) | ||
56 | + ac_cv_sys_largefile_opts=$ac_opt | ||
57 | ac_opt_found=yes]) | ||
58 | test $ac_opt_found = no || break | ||
59 | done | ||
60 | -- | ||
61 | 2.41.0 | ||
62 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch deleted file mode 100644 index 8d2539611d..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch +++ /dev/null | |||
@@ -1,270 +0,0 @@ | |||
1 | From a7421b411b4359b97528c8f4e9dd8abe82235813 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Tue, 20 Jun 2023 13:23:19 -0700 | ||
4 | Subject: [PATCH 26/29] Modernize INSTALL | ||
5 | |||
6 | Problem reported for gettext bootstrap by Julien Palard in: | ||
7 | https://savannah.gnu.org/bugs/?62196 | ||
8 | * doc/install.texi: Give a brief info as to how to bootstrap, | ||
9 | on packages built from Git rather from a distribution tarball. | ||
10 | Remove aging details about c99, macOS, X, HP-UX, OSF/1, Solaris, | ||
11 | Haiku, sun4. Improve documentation for enable/disable and | ||
12 | with/without options. | ||
13 | |||
14 | Upstream-Status: Backport | ||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | doc/install.texi | 157 +++++++++++++++++++++-------------------------- | ||
18 | 1 file changed, 70 insertions(+), 87 deletions(-) | ||
19 | |||
20 | diff --git a/doc/install.texi b/doc/install.texi | ||
21 | index e06689613..cec245fd0 100644 | ||
22 | --- a/doc/install.texi | ||
23 | +++ b/doc/install.texi | ||
24 | @@ -18,9 +18,21 @@ warranty of any kind. | ||
25 | @node Basic Installation | ||
26 | @section Basic Installation | ||
27 | |||
28 | -Briefly, the shell command | ||
29 | -@samp{./configure@tie{}&& make@tie{}&& make@tie{}install} | ||
30 | -should configure, build, and install this package. The following | ||
31 | +Briefly, the following shell commands: | ||
32 | + | ||
33 | +@example | ||
34 | +test -f configure || ./bootstrap | ||
35 | +./configure | ||
36 | +make | ||
37 | +make install | ||
38 | +@end example | ||
39 | + | ||
40 | +@noindent | ||
41 | +should configure, build, and install this package. | ||
42 | +The @command{./bootstrap} line is intended for developers; | ||
43 | +you can omit it when building from a distribution tarball. | ||
44 | + | ||
45 | +The following | ||
46 | more-detailed instructions are generic; see the @file{README} file for | ||
47 | instructions specific to this package. | ||
48 | @ifclear autoconf | ||
49 | @@ -32,6 +44,17 @@ More recommendations for GNU packages can be found in | ||
50 | @ref{Makefile Conventions, , Makefile Conventions, standards, | ||
51 | GNU Coding Standards}. | ||
52 | |||
53 | +If the @command{bootstrap} shell script exists, it attempts to build the | ||
54 | +@command{configure} shell script and related files, perhaps by | ||
55 | +downloading other software components from the network, and by using | ||
56 | +developer tools that are less commonly installed. Because the output of | ||
57 | +@command{bootstrap} is system-independent, it is normally run by a | ||
58 | +package developer so that its output can be put into the distribution | ||
59 | +tarball and ordinary builders and users need not run @command{bootstrap}. | ||
60 | +Some packages have commands like @command{./autopull.sh} and | ||
61 | +@command {./autogen.sh} that you can run instead of @command{./bootstrap}, | ||
62 | +for more fine-grained control over bootstrapping. | ||
63 | + | ||
64 | The @command{configure} shell script attempts to guess correct values | ||
65 | for various system-dependent variables used during compilation. It uses | ||
66 | those values to create a @file{Makefile} in each directory of the | ||
67 | @@ -63,8 +86,15 @@ The simplest way to compile this package is: | ||
68 | |||
69 | @enumerate | ||
70 | @item | ||
71 | -@command{cd} to the directory containing the package's source code and type | ||
72 | -@samp{./configure} to configure the package for your system. | ||
73 | +@command{cd} to the directory containing the package's source code. | ||
74 | + | ||
75 | +@item | ||
76 | +If this is a developer checkout and file @samp{configure} does not yet exist, | ||
77 | +type @samp{./bootstrap} to create it. | ||
78 | +You may need special developer tools and network access to bootstrap. | ||
79 | + | ||
80 | +@item | ||
81 | +Type @samp{./configure} to configure the package for your system. | ||
82 | |||
83 | Running @command{configure} might take a while. While running, it prints some | ||
84 | messages telling which features it is checking for. | ||
85 | @@ -124,7 +154,7 @@ parameters by setting variables in the command line or in the environment. | ||
86 | Here is an example: | ||
87 | |||
88 | @example | ||
89 | -./configure CC=c99 CFLAGS=-g LIBS=-lposix | ||
90 | +./configure CC=gcc CFLAGS=-g LIBS=-lposix | ||
91 | @end example | ||
92 | |||
93 | @xref{Defining Variables}, for more details. | ||
94 | @@ -148,21 +178,10 @@ architecture at a time in the source code directory. After you have | ||
95 | installed the package for one architecture, use @samp{make distclean} | ||
96 | before reconfiguring for another architecture. | ||
97 | |||
98 | -On MacOS X 10.5 and later systems, you can create libraries and | ||
99 | -executables that work on multiple system types---known as @dfn{fat} or | ||
100 | -@dfn{universal} binaries---by specifying multiple @option{-arch} options | ||
101 | -to the compiler but only a single @option{-arch} option to the | ||
102 | -preprocessor. Like this: | ||
103 | - | ||
104 | -@example | ||
105 | -./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | ||
106 | - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | ||
107 | - CPP="gcc -E" CXXCPP="g++ -E" | ||
108 | -@end example | ||
109 | - | ||
110 | -This is not guaranteed to produce working output in all cases, you may | ||
111 | -have to build one architecture at a time and combine the results | ||
112 | -using the @command{lipo} tool if you have problems. | ||
113 | +Some platforms, notably macOS, support ``fat'' or ``universal'' binaries, | ||
114 | +where a single binary can execute on different architectures. | ||
115 | +On these platforms you can configure and compile just once, | ||
116 | +with options specific to that platform. | ||
117 | |||
118 | @node Installation Names | ||
119 | @section Installation Names | ||
120 | @@ -227,20 +246,16 @@ an extra prefix or suffix on their names by giving @command{configure} | ||
121 | the option @option{--program-prefix=@var{PREFIX}} or | ||
122 | @option{--program-suffix=@var{SUFFIX}}. | ||
123 | |||
124 | -Some packages pay attention to @option{--enable-@var{feature}} options | ||
125 | +Some packages pay attention to @option{--enable-@var{feature}} | ||
126 | +and @option{--disable-@var{feature}} options | ||
127 | to @command{configure}, where @var{feature} indicates an optional part | ||
128 | of the package. They may also pay attention to | ||
129 | -@option{--with-@var{package}} options, where @var{package} is something | ||
130 | -like @samp{gnu-as} or @samp{x} (for the X Window System). The | ||
131 | -@file{README} should mention any @option{--enable-} and @option{--with-} | ||
132 | +@option{--with-@var{package}} and @option{--without-@var{package}} options, | ||
133 | +where @var{package} is something like @samp{gnu-ld}. | ||
134 | +@samp{./configure --help} should mention the | ||
135 | +@option{--enable-...} and @option{--with-...} | ||
136 | options that the package recognizes. | ||
137 | |||
138 | -For packages that use the X Window System, @command{configure} can | ||
139 | -usually find the X include and library files automatically, but if it | ||
140 | -doesn't, you can use the @command{configure} options | ||
141 | -@option{--x-includes=@var{dir}} and @option{--x-libraries=@var{dir}} to | ||
142 | -specify their locations. | ||
143 | - | ||
144 | Some packages offer the ability to configure how verbose the execution | ||
145 | of @command{make} will be. For these packages, running | ||
146 | @samp{./configure --enable-silent-rules} sets the default to minimal | ||
147 | @@ -248,53 +263,6 @@ output, which can be overridden with @code{make V=1}; while running | ||
148 | @samp{./configure --disable-silent-rules} sets the default to verbose, | ||
149 | which can be overridden with @code{make V=0}. | ||
150 | |||
151 | -@node Particular Systems | ||
152 | -@section Particular systems | ||
153 | - | ||
154 | -On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is | ||
155 | -not installed, it is recommended to use the following options in order to | ||
156 | -use an ANSI C compiler: | ||
157 | - | ||
158 | -@example | ||
159 | -./configure CC="cc -Ae -D_XOPEN_SOURCE=500" | ||
160 | -@end example | ||
161 | - | ||
162 | -@noindent | ||
163 | -and if that doesn't work, install pre-built binaries of GCC for HP-UX. | ||
164 | - | ||
165 | -HP-UX @command{make} updates targets which have the same timestamps as | ||
166 | -their prerequisites, which makes it generally unusable when shipped | ||
167 | -generated files such as @command{configure} are involved. Use GNU | ||
168 | -@command{make} instead. | ||
169 | - | ||
170 | -On OSF/1 a.k.a.@: Tru64, some versions of the default C compiler cannot | ||
171 | -parse its @code{<wchar.h>} header file. The option @option{-nodtk} can be | ||
172 | -used as a workaround. If GNU CC is not installed, it is therefore | ||
173 | -recommended to try | ||
174 | - | ||
175 | -@example | ||
176 | -./configure CC="cc" | ||
177 | -@end example | ||
178 | - | ||
179 | -@noindent | ||
180 | -and if that doesn't work, try | ||
181 | - | ||
182 | -@example | ||
183 | -./configure CC="cc -nodtk" | ||
184 | -@end example | ||
185 | - | ||
186 | -On Solaris, don't put @code{/usr/ucb} early in your @env{PATH}. This | ||
187 | -directory contains several dysfunctional programs; working variants | ||
188 | -of these programs are available in @code{/usr/bin}. So, if you need | ||
189 | -@code{/usr/ucb} in your @env{PATH}, put it @emph{after} @code{/usr/bin}. | ||
190 | - | ||
191 | -On Haiku, software installed for all users goes in @file{/boot/common}, | ||
192 | -not @file{/usr/local}. It is recommended to use the following options: | ||
193 | - | ||
194 | -@example | ||
195 | -./configure --prefix=/boot/common | ||
196 | -@end example | ||
197 | - | ||
198 | @node System Type | ||
199 | @section Specifying the System Type | ||
200 | |||
201 | @@ -304,7 +272,8 @@ will run on. Usually, assuming the package is built to be run on the | ||
202 | @emph{same} architectures, @command{configure} can figure that out, but | ||
203 | if it prints a message saying it cannot guess the machine type, give it | ||
204 | the @option{--build=@var{type}} option. @var{type} can either be a | ||
205 | -short name for the system type, such as @samp{sun4}, or a canonical name | ||
206 | +short name like @samp{mingw64} for the system type, or a canonical name | ||
207 | +like @samp{x86_64-pc-linux-gnu} | ||
208 | which has the form: | ||
209 | |||
210 | @example | ||
211 | @@ -319,6 +288,7 @@ where @var{system} can have one of these forms: | ||
212 | @var{kernel}-@var{os} | ||
213 | @end example | ||
214 | |||
215 | +@noindent | ||
216 | See the file @file{config.sub} for the possible values of each field. | ||
217 | If @file{config.sub} isn't included in this package, then this package | ||
218 | doesn't need to know the machine type. | ||
219 | @@ -405,13 +375,6 @@ traditionally @file{config.cache}. @var{file} defaults to | ||
220 | @itemx -C | ||
221 | Alias for @option{--cache-file=config.cache}. | ||
222 | |||
223 | -@item --quiet | ||
224 | -@itemx --silent | ||
225 | -@itemx -q | ||
226 | -Do not print messages saying which checks are being made. To suppress | ||
227 | -all normal output, redirect it to @file{/dev/null} (any error messages | ||
228 | -will still be shown). | ||
229 | - | ||
230 | @item --srcdir=@var{dir} | ||
231 | Look for the package's source code in directory @var{dir}. Usually | ||
232 | @command{configure} can determine that directory automatically. | ||
233 | @@ -421,13 +384,33 @@ Use @var{dir} as the installation prefix. @ref{Installation Names} | ||
234 | for more details, including other options available for fine-tuning | ||
235 | the installation locations. | ||
236 | |||
237 | +@item --build=@var{type} | ||
238 | +Build for architecture @var{type}. @ref{Specifying the System Type} | ||
239 | +for more details, including other system type options. | ||
240 | + | ||
241 | +@item --enable-@var{feature} | ||
242 | +@itemx --disable-@var{feature} | ||
243 | +Enable or disable the optional @var{feature}. @xref{Optional Features}. | ||
244 | + | ||
245 | +@item --with-@var{package} | ||
246 | +@itemx --without-@var{package} | ||
247 | +Use or omit @var{package} when building. @xref{Optional Features}. | ||
248 | + | ||
249 | +@item --quiet | ||
250 | +@itemx --silent | ||
251 | +@itemx -q | ||
252 | +Do not print messages saying which checks are being made. To suppress | ||
253 | +all normal output, redirect it to @file{/dev/null} (any error messages | ||
254 | +will still be shown). | ||
255 | + | ||
256 | @item --no-create | ||
257 | @itemx -n | ||
258 | Run the configure checks, but stop before creating any output files. | ||
259 | @end table | ||
260 | |||
261 | @noindent | ||
262 | -@command{configure} also accepts some other, not widely useful, options. | ||
263 | +@command{configure} also recognizes several environment variables, | ||
264 | +and accepts some other, less widely useful, options. | ||
265 | Run @samp{configure --help} for more details. | ||
266 | |||
267 | @c Local Variables: | ||
268 | -- | ||
269 | 2.41.0 | ||
270 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch deleted file mode 100644 index 7ab5074755..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch +++ /dev/null | |||
@@ -1,58 +0,0 @@ | |||
1 | From eaea61e4485cdecf989fa777ff4e166c945a6eea Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Tue, 20 Jun 2023 13:39:15 -0700 | ||
4 | Subject: [PATCH 27/29] doc: fix broken cross-refs | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | --- | ||
9 | doc/autoconf.texi | 5 +---- | ||
10 | doc/install.texi | 2 +- | ||
11 | 2 files changed, 2 insertions(+), 5 deletions(-) | ||
12 | |||
13 | diff --git a/doc/autoconf.texi b/doc/autoconf.texi | ||
14 | index 0f3047b31..7817fc1b5 100644 | ||
15 | --- a/doc/autoconf.texi | ||
16 | +++ b/doc/autoconf.texi | ||
17 | @@ -604,7 +604,6 @@ Running @command{configure} Scripts | ||
18 | * Multiple Architectures:: Compiling for multiple architectures at once | ||
19 | * Installation Names:: Installing in different directories | ||
20 | * Optional Features:: Selecting optional features | ||
21 | -* Particular Systems:: Particular systems | ||
22 | * System Type:: Specifying the system type | ||
23 | * Sharing Defaults:: Setting site-wide defaults for @command{configure} | ||
24 | * Defining Variables:: Specifying the compiler etc. | ||
25 | @@ -23304,7 +23303,6 @@ may use comes with Autoconf. | ||
26 | * Multiple Architectures:: Compiling for multiple architectures at once | ||
27 | * Installation Names:: Installing in different directories | ||
28 | * Optional Features:: Selecting optional features | ||
29 | -* Particular Systems:: Particular systems | ||
30 | * System Type:: Specifying the system type | ||
31 | * Sharing Defaults:: Setting site-wide defaults for @command{configure} | ||
32 | * Defining Variables:: Specifying the compiler etc. | ||
33 | @@ -26990,8 +26988,7 @@ for simple differences. | ||
34 | @item | ||
35 | Most tests which produce their result in a substituted variable allow to | ||
36 | override the test by setting the variable on the @command{configure} | ||
37 | -command line (@pxref{Compilers and Options}, @pxref{Defining Variables}, | ||
38 | -@pxref{Particular Systems}). | ||
39 | +command line (@pxref{Compilers and Options}, @pxref{Defining Variables}). | ||
40 | |||
41 | @item | ||
42 | Many tests store their result in a cache variable (@pxref{Caching | ||
43 | diff --git a/doc/install.texi b/doc/install.texi | ||
44 | index cec245fd0..6d9788fa9 100644 | ||
45 | --- a/doc/install.texi | ||
46 | +++ b/doc/install.texi | ||
47 | @@ -385,7 +385,7 @@ for more details, including other options available for fine-tuning | ||
48 | the installation locations. | ||
49 | |||
50 | @item --build=@var{type} | ||
51 | -Build for architecture @var{type}. @ref{Specifying the System Type} | ||
52 | +Build for architecture @var{type}. @ref{System Type}. | ||
53 | for more details, including other system type options. | ||
54 | |||
55 | @item --enable-@var{feature} | ||
56 | -- | ||
57 | 2.41.0 | ||
58 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch deleted file mode 100644 index 95ad80df5e..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch +++ /dev/null | |||
@@ -1,224 +0,0 @@ | |||
1 | From 328f9b88ef896e8e31818c50d9ec2ade5c892ea4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bruno Haible <bruno@clisp.org> | ||
3 | Date: Fri, 23 Jun 2023 17:37:35 +0200 | ||
4 | Subject: [PATCH 28/29] INSTALL: Clarify --build, --host, --target, and the | ||
5 | system types. | ||
6 | |||
7 | * doc/install.texi (Compilers and Options): Add another reference. | ||
8 | (System Types): Renamed from System Type. Explain how to canonicalize | ||
9 | and how to validate a system type. Don't explain --build, --host, | ||
10 | --target here. | ||
11 | (Building for a different system type): New section. | ||
12 | (Troubleshooting the Build Type): New section. | ||
13 | (Configuring a Compiler): New section. | ||
14 | (configure Invocation): Mention the --host option, not the --build | ||
15 | option, since --build is so rarely needed. | ||
16 | |||
17 | Upstream-Status: Backport | ||
18 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
19 | --- | ||
20 | doc/autoconf.texi | 6 +-- | ||
21 | doc/install.texi | 132 +++++++++++++++++++++++++++++++++++++--------- | ||
22 | 2 files changed, 111 insertions(+), 27 deletions(-) | ||
23 | |||
24 | diff --git a/doc/autoconf.texi b/doc/autoconf.texi | ||
25 | index 7817fc1b5..043f7fb21 100644 | ||
26 | --- a/doc/autoconf.texi | ||
27 | +++ b/doc/autoconf.texi | ||
28 | @@ -604,7 +604,7 @@ Running @command{configure} Scripts | ||
29 | * Multiple Architectures:: Compiling for multiple architectures at once | ||
30 | * Installation Names:: Installing in different directories | ||
31 | * Optional Features:: Selecting optional features | ||
32 | -* System Type:: Specifying the system type | ||
33 | +* System Types:: Specifying a system type | ||
34 | * Sharing Defaults:: Setting site-wide defaults for @command{configure} | ||
35 | * Defining Variables:: Specifying the compiler etc. | ||
36 | * configure Invocation:: Changing how @command{configure} runs | ||
37 | @@ -22383,7 +22383,7 @@ system it's running on. To do so it runs a script called | ||
38 | command or symbols predefined by the C preprocessor. | ||
39 | |||
40 | Alternately, the user can specify the system type with command line | ||
41 | -arguments to @command{configure} (@pxref{System Type}. Doing so is | ||
42 | +arguments to @command{configure} (@pxref{System Types}. Doing so is | ||
43 | necessary when | ||
44 | cross-compiling. In the most complex case of cross-compiling, three | ||
45 | system types are involved. The options to specify them are: | ||
46 | @@ -23303,7 +23303,7 @@ may use comes with Autoconf. | ||
47 | * Multiple Architectures:: Compiling for multiple architectures at once | ||
48 | * Installation Names:: Installing in different directories | ||
49 | * Optional Features:: Selecting optional features | ||
50 | -* System Type:: Specifying the system type | ||
51 | +* System Types:: Specifying a system type | ||
52 | * Sharing Defaults:: Setting site-wide defaults for @command{configure} | ||
53 | * Defining Variables:: Specifying the compiler etc. | ||
54 | * configure Invocation:: Changing how @command{configure} runs | ||
55 | diff --git a/doc/install.texi b/doc/install.texi | ||
56 | index 6d9788fa9..a3ef17828 100644 | ||
57 | --- a/doc/install.texi | ||
58 | +++ b/doc/install.texi | ||
59 | @@ -157,8 +157,16 @@ Here is an example: | ||
60 | ./configure CC=gcc CFLAGS=-g LIBS=-lposix | ||
61 | @end example | ||
62 | |||
63 | -@xref{Defining Variables}, for more details. | ||
64 | - | ||
65 | +See | ||
66 | +@ref{Defining Variables} and | ||
67 | +@ifset autoconf | ||
68 | +@ref{Preset Output Variables} | ||
69 | +@end ifset | ||
70 | +@ifclear autoconf | ||
71 | +@ref{Preset Output Variables,,, autoconf, Autoconf} | ||
72 | +@c (@url{https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Preset-Output-Variables.html}) | ||
73 | +@end ifclear | ||
74 | +for more details. | ||
75 | |||
76 | @node Multiple Architectures | ||
77 | @section Compiling For Multiple Architectures | ||
78 | @@ -263,18 +271,17 @@ output, which can be overridden with @code{make V=1}; while running | ||
79 | @samp{./configure --disable-silent-rules} sets the default to verbose, | ||
80 | which can be overridden with @code{make V=0}. | ||
81 | |||
82 | -@node System Type | ||
83 | -@section Specifying the System Type | ||
84 | +@node System Types | ||
85 | +@section Specifying a System Type | ||
86 | |||
87 | -There may be some features @command{configure} cannot figure out | ||
88 | -automatically, but needs to determine by the type of machine the package | ||
89 | -will run on. Usually, assuming the package is built to be run on the | ||
90 | -@emph{same} architectures, @command{configure} can figure that out, but | ||
91 | -if it prints a message saying it cannot guess the machine type, give it | ||
92 | -the @option{--build=@var{type}} option. @var{type} can either be a | ||
93 | -short name like @samp{mingw64} for the system type, or a canonical name | ||
94 | -like @samp{x86_64-pc-linux-gnu} | ||
95 | -which has the form: | ||
96 | +The following sections go into details regarding situations where you | ||
97 | +may have to specify a system type, either through the option | ||
98 | +@option{--host=@var{type}}, or through the option | ||
99 | +@option{--build=@var{type}}, or -- in the case of compilers -- through | ||
100 | +@option{--target=@var{type}}. | ||
101 | + | ||
102 | +A system type @var{type} can either be a short name like @samp{mingw64}, | ||
103 | +or a canonical name like @samp{x86_64-pc-linux-gnu} which has the form: | ||
104 | |||
105 | @example | ||
106 | @var{cpu}-@var{company}-@var{system} | ||
107 | @@ -291,16 +298,93 @@ where @var{system} can have one of these forms: | ||
108 | @noindent | ||
109 | See the file @file{config.sub} for the possible values of each field. | ||
110 | If @file{config.sub} isn't included in this package, then this package | ||
111 | -doesn't need to know the machine type. | ||
112 | +doesn't need to know any machine type. | ||
113 | + | ||
114 | +The file @file{config.sub} is a program that validates and canonicalizes | ||
115 | +a system type. | ||
116 | +It can do canonicalization, as in | ||
117 | + | ||
118 | +@example | ||
119 | +$ sh config.sub x86_64-linux | ||
120 | +x86_64-pc-linux-gnu | ||
121 | +$ sh config.sub arm64-linux | ||
122 | +aarch64-unknown-linux-gnu | ||
123 | +@end example | ||
124 | + | ||
125 | +@noindent | ||
126 | +It also validates the parts. For example, this interaction tells you | ||
127 | +that ``crusoe'' is not a valid cpu architecture name: | ||
128 | |||
129 | -If you are @emph{building} compiler tools for cross-compiling, you | ||
130 | -should use the option @option{--target=@var{type}} to select the type of | ||
131 | -system they will produce code for. | ||
132 | +@example | ||
133 | +$ sh config.sub crusoe-linux | ||
134 | +Invalid configuration `crusoe-linux': machine `crusoe-unknown' not recognized | ||
135 | +@end example | ||
136 | + | ||
137 | +@node Building for a different system type | ||
138 | +@section Creating binaries for a different system type | ||
139 | + | ||
140 | +When you want to create binaries that will run on a different machine | ||
141 | +type than the one you are building on, you need to specify both | ||
142 | +@itemize @bullet | ||
143 | +@item | ||
144 | +a @option{--host=@var{type}} option, specifying the machine type on | ||
145 | +which the binaries shall run, | ||
146 | +@item | ||
147 | +compiler variables (@code{CC} for the C compiler, @code{CXX} for the C++ | ||
148 | +compiler, and so on), pointing to compilers that generate object code | ||
149 | +for that machine type. | ||
150 | +@end itemize | ||
151 | + | ||
152 | +For example, to create binaries intended to run on a 64-bit ARM | ||
153 | +processor: | ||
154 | +@example | ||
155 | +./configure --host=aarch64-linux-gnu \ | ||
156 | + CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ | ||
157 | +@end example | ||
158 | |||
159 | -If you want to @emph{use} a cross compiler, that generates code for a | ||
160 | -platform different from the build platform, you should specify the | ||
161 | -@dfn{host} platform (i.e., that on which the generated programs will | ||
162 | -eventually be run) with @option{--host=@var{type}}. | ||
163 | +If you do this on a machine that can execute such binaries (e.g.@: by | ||
164 | +virtue of the @code{qemu-aarch64} program, system libraries for that | ||
165 | +architecture under @code{$QEMU_LD_PREFIX}, and a Linux | ||
166 | +@code{binfmt_misc} configuration), the build behaves like a native | ||
167 | +build. | ||
168 | +If not, the build is a cross-build, in the sense that @code{configure} | ||
169 | +will make cross-compilation guesses instead of running test programs, | ||
170 | +and ``make check'' will not work. | ||
171 | + | ||
172 | +@node Troubleshooting the Build Type | ||
173 | +@section Fixing a ``cannot guess build type'' error | ||
174 | + | ||
175 | +In rare cases, it may happen that @code{configure} fails with the error | ||
176 | +message ``cannot guess build type''. | ||
177 | +This error means that the files @file{config.guess} and | ||
178 | +@file{config.sub} don't recognize the type of the system on which you | ||
179 | +are building. | ||
180 | +In this case, first fetch the newest versions of these files, from | ||
181 | +@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess} | ||
182 | +and | ||
183 | +@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub}, | ||
184 | +respectively, and use these as drop-in replacement for the files | ||
185 | +@file{config.guess} and @file{config.sub} that were shipped with this | ||
186 | +package. | ||
187 | + | ||
188 | +If this resolves the problem, feel free to report the solution to the | ||
189 | +maintainers of this package. | ||
190 | + | ||
191 | +Otherwise, it means that your system is not yet supported by | ||
192 | +@file{config.guess} and @file{config.sub}. | ||
193 | +As a workaround, you can use a configure option | ||
194 | +@option{--build=@var{type}}, where @var{type} comes closest to your | ||
195 | +system type. | ||
196 | +Also, you're welcome to file a report to | ||
197 | +@email{config-patches@@gnu.org}. | ||
198 | + | ||
199 | +@node Configuring a Compiler | ||
200 | +@section Configuration options specific to a compiler | ||
201 | + | ||
202 | +If you are building a compiler, and this compiler should generate code | ||
203 | +for a system type that is different from the one on which the compiler | ||
204 | +binaries shall run on, use the option @option{--target=@var{type}} to | ||
205 | +select the type of system for which the compiler should produce code. | ||
206 | |||
207 | @node Sharing Defaults | ||
208 | @section Sharing Defaults | ||
209 | @@ -384,9 +468,9 @@ Use @var{dir} as the installation prefix. @ref{Installation Names} | ||
210 | for more details, including other options available for fine-tuning | ||
211 | the installation locations. | ||
212 | |||
213 | -@item --build=@var{type} | ||
214 | -Build for architecture @var{type}. @ref{System Type}. | ||
215 | -for more details, including other system type options. | ||
216 | +@item --host=@var{type} | ||
217 | +Build binaries for architecture @var{type}. @ref{System Types} and | ||
218 | +@ref{Building for a different system type} for more details. | ||
219 | |||
220 | @item --enable-@var{feature} | ||
221 | @itemx --disable-@var{feature} | ||
222 | -- | ||
223 | 2.41.0 | ||
224 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch deleted file mode 100644 index 9129ab789a..0000000000 --- a/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch +++ /dev/null | |||
@@ -1,366 +0,0 @@ | |||
1 | From d8ca8b323873e5cd9d969a062f70b31db450ba53 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Eggert <eggert@cs.ucla.edu> | ||
3 | Date: Sat, 24 Jun 2023 14:39:34 -0700 | ||
4 | Subject: [PATCH 29/29] Shorten and improve INSTALL | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Rewrite install.texi so that INSTALL is shorter and hopefully | ||
10 | more useful for new installers. | ||
11 | * doc/install.texi: When not building the Autoconf manual, put | ||
12 | copyright notice at the end, and omit external references as they | ||
13 | do not work in INSTALL. | ||
14 | Avoid long URLs as they do not work well in INSTALL or | ||
15 | in info files. Be more consistent (though not entirely | ||
16 | consistent) about “system” vs “architecture”. | ||
17 | (System Types, Building for a different system type) | ||
18 | (Troubleshooting the Build Type): Coalesce into a single section | ||
19 | and rewrite for clarity and brevity. Mention build-aux. Do not | ||
20 | mention --target here as it’s too rare to make the cut. | ||
21 | |||
22 | Upstream-Status: Backport | ||
23 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
24 | --- | ||
25 | doc/install.texi | 224 +++++++++++++++++------------------------------ | ||
26 | 1 file changed, 82 insertions(+), 142 deletions(-) | ||
27 | |||
28 | diff --git a/doc/install.texi b/doc/install.texi | ||
29 | index a3ef17828..6c3a9c21c 100644 | ||
30 | --- a/doc/install.texi | ||
31 | +++ b/doc/install.texi | ||
32 | @@ -2,23 +2,13 @@ | ||
33 | @c the INSTALL file. | ||
34 | |||
35 | @ifclear autoconf | ||
36 | - | ||
37 | @unnumbered Installation Instructions | ||
38 | - | ||
39 | -Copyright @copyright{} 1994--1996, 1999--2002, 2004--2017, 2020--2023 | ||
40 | -Free Software Foundation, Inc. | ||
41 | - | ||
42 | -Copying and distribution of this file, with or without modification, are | ||
43 | -permitted in any medium without royalty provided the copyright notice | ||
44 | -and this notice are preserved. This file is offered as-is, without | ||
45 | -warranty of any kind. | ||
46 | - | ||
47 | @end ifclear | ||
48 | |||
49 | @node Basic Installation | ||
50 | @section Basic Installation | ||
51 | |||
52 | -Briefly, the following shell commands: | ||
53 | +The following shell commands: | ||
54 | |||
55 | @example | ||
56 | test -f configure || ./bootstrap | ||
57 | @@ -41,8 +31,13 @@ of the features documented below. The lack of an optional feature in a | ||
58 | given package is not necessarily a bug. | ||
59 | @end ifclear | ||
60 | More recommendations for GNU packages can be found in | ||
61 | +@ifset autoconf | ||
62 | @ref{Makefile Conventions, , Makefile Conventions, standards, | ||
63 | GNU Coding Standards}. | ||
64 | +@end ifset | ||
65 | +@ifclear autoconf | ||
66 | +the GNU Coding Standards. | ||
67 | +@end ifclear | ||
68 | |||
69 | If the @command{bootstrap} shell script exists, it attempts to build the | ||
70 | @command{configure} shell script and related files, perhaps by | ||
71 | @@ -61,8 +56,8 @@ those values to create a @file{Makefile} in each directory of the | ||
72 | package. It may also create one or more @file{.h} files containing | ||
73 | system-dependent definitions. Finally, it creates a shell script | ||
74 | @file{config.status} that you can run in the future to recreate the | ||
75 | -current configuration, and a file @file{config.log} containing compiler | ||
76 | -output (useful mainly for debugging @command{configure}). | ||
77 | +current configuration, and a file @file{config.log} containing | ||
78 | +output useful for debugging @command{configure}. | ||
79 | |||
80 | It can also use an optional file (typically called @file{config.cache} | ||
81 | and enabled with @option{--cache-file=config.cache} or simply | ||
82 | @@ -77,10 +72,9 @@ they can be considered for the next release. If you are using the | ||
83 | cache, and at some point @file{config.cache} contains results you don't | ||
84 | want to keep, you may remove or edit it. | ||
85 | |||
86 | -The file @file{configure.ac} (or @file{configure.in}) is used to create | ||
87 | -@file{configure} by a program called @command{autoconf}. You need | ||
88 | -@file{configure.ac} if you want to change it or regenerate | ||
89 | -@file{configure} using a newer version of @command{autoconf}. | ||
90 | +The @command{autoconf} program generates @file{configure} from the file | ||
91 | +@file{configure.ac}. Normally you should edit @file{configure.ac} | ||
92 | +instead of editing @file{configure} directly. | ||
93 | |||
94 | The simplest way to compile this package is: | ||
95 | |||
96 | @@ -95,8 +89,7 @@ You may need special developer tools and network access to bootstrap. | ||
97 | |||
98 | @item | ||
99 | Type @samp{./configure} to configure the package for your system. | ||
100 | - | ||
101 | -Running @command{configure} might take a while. While running, it prints some | ||
102 | +This might take a while. While running, @command{configure} prints | ||
103 | messages telling which features it is checking for. | ||
104 | |||
105 | @item | ||
106 | @@ -125,21 +118,11 @@ code directory by typing @samp{make clean}. To also remove the files | ||
107 | that @command{configure} created (so you can compile the package for a | ||
108 | different kind of computer), type @samp{make distclean}. There is also | ||
109 | a @samp{make maintainer-clean} target, but that is intended mainly for | ||
110 | -the package's developers. If you use it, you may have to get all sorts | ||
111 | -of other programs in order to regenerate files that came with the | ||
112 | -distribution. | ||
113 | +the package's developers. If you use it, you may have to bootstrap again. | ||
114 | |||
115 | @item | ||
116 | -Often, you can also type @samp{make uninstall} to remove the installed | ||
117 | -files again. In practice, not all packages have tested that | ||
118 | -uninstallation works correctly, even though it is required by the | ||
119 | -GNU Coding Standards. | ||
120 | - | ||
121 | -@item | ||
122 | -Some packages, particularly those that use Automake, provide @samp{make | ||
123 | -distcheck}, which can by used by developers to test that all other | ||
124 | -targets like @samp{make install} and @samp{make uninstall} work | ||
125 | -correctly. This target is generally not run by end users. | ||
126 | +If the package follows the GNU Coding Standards, | ||
127 | +you can type @samp{make uninstall} to remove the installed files. | ||
128 | @end enumerate | ||
129 | |||
130 | @node Compilers and Options | ||
131 | @@ -158,21 +141,17 @@ Here is an example: | ||
132 | @end example | ||
133 | |||
134 | See | ||
135 | -@ref{Defining Variables} and | ||
136 | +@ref{Defining Variables} | ||
137 | @ifset autoconf | ||
138 | -@ref{Preset Output Variables} | ||
139 | +and @ref{Preset Output Variables} | ||
140 | @end ifset | ||
141 | -@ifclear autoconf | ||
142 | -@ref{Preset Output Variables,,, autoconf, Autoconf} | ||
143 | -@c (@url{https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Preset-Output-Variables.html}) | ||
144 | -@end ifclear | ||
145 | for more details. | ||
146 | |||
147 | @node Multiple Architectures | ||
148 | @section Compiling For Multiple Architectures | ||
149 | |||
150 | You can compile the package for more than one kind of computer at the | ||
151 | -same time, by placing the object files for each architecture in their | ||
152 | +same time, by placing the object files for each system in their | ||
153 | own directory. To do this, you can use GNU @command{make}. | ||
154 | @command{cd} to the directory where you want the object files and | ||
155 | executables to go and run the @command{configure} script. | ||
156 | @@ -182,9 +161,9 @@ known as a @dfn{VPATH} build. | ||
157 | |||
158 | With a non-GNU @command{make}, | ||
159 | it is safer to compile the package for one | ||
160 | -architecture at a time in the source code directory. After you have | ||
161 | -installed the package for one architecture, use @samp{make distclean} | ||
162 | -before reconfiguring for another architecture. | ||
163 | +system at a time in the source code directory. After you have | ||
164 | +installed the package for one system, use @samp{make distclean} | ||
165 | +before reconfiguring for another system. | ||
166 | |||
167 | Some platforms, notably macOS, support ``fat'' or ``universal'' binaries, | ||
168 | where a single binary can execute on different architectures. | ||
169 | @@ -274,117 +253,65 @@ which can be overridden with @code{make V=0}. | ||
170 | @node System Types | ||
171 | @section Specifying a System Type | ||
172 | |||
173 | -The following sections go into details regarding situations where you | ||
174 | -may have to specify a system type, either through the option | ||
175 | -@option{--host=@var{type}}, or through the option | ||
176 | -@option{--build=@var{type}}, or -- in the case of compilers -- through | ||
177 | -@option{--target=@var{type}}. | ||
178 | - | ||
179 | -A system type @var{type} can either be a short name like @samp{mingw64}, | ||
180 | -or a canonical name like @samp{x86_64-pc-linux-gnu} which has the form: | ||
181 | - | ||
182 | -@example | ||
183 | -@var{cpu}-@var{company}-@var{system} | ||
184 | -@end example | ||
185 | - | ||
186 | -@noindent | ||
187 | -where @var{system} can have one of these forms: | ||
188 | +By default @command{configure} builds for the current system. | ||
189 | +To create binaries that can run on a different system type, | ||
190 | +specify a @option{--host=@var{type}} option along with compiler | ||
191 | +variables that specify how to generate object code for @var{type}. | ||
192 | +For example, to create binaries intended to run on a 64-bit ARM | ||
193 | +processor: | ||
194 | |||
195 | @example | ||
196 | -@var{os} | ||
197 | -@var{kernel}-@var{os} | ||
198 | +./configure --host=aarch64-linux-gnu \ | ||
199 | + CC=aarch64-linux-gnu-gcc \ | ||
200 | + CXX=aarch64-linux-gnu-g++ | ||
201 | @end example | ||
202 | |||
203 | @noindent | ||
204 | -See the file @file{config.sub} for the possible values of each field. | ||
205 | -If @file{config.sub} isn't included in this package, then this package | ||
206 | -doesn't need to know any machine type. | ||
207 | - | ||
208 | -The file @file{config.sub} is a program that validates and canonicalizes | ||
209 | -a system type. | ||
210 | -It can do canonicalization, as in | ||
211 | +If done on a machine that can execute these binaries | ||
212 | +(e.g., via @command{qemu-aarch64}, @env{$QEMU_LD_PREFIX}, and Linux's | ||
213 | +@code{binfmt_misc} capability), the build behaves like a native build. | ||
214 | +Otherwise it is a cross-build: @code{configure} | ||
215 | +will make cross-compilation guesses instead of running test programs, | ||
216 | +and @code{make check} will not work. | ||
217 | + | ||
218 | +A system type can either be a short name like @samp{mingw64}, | ||
219 | +or a canonical name like @samp{x86_64-pc-linux-gnu}. | ||
220 | +Canonical names have the form @var{cpu}-@var{company}-@var{system} | ||
221 | +where @var{system} is either @var{os} or @var{kernel}-@var{os}. | ||
222 | +To canonicalize and validate a system type, | ||
223 | +you can run the command @file{config.sub}, | ||
224 | +which is often squirreled away in a subdirectory like @file{build-aux}. | ||
225 | +For example: | ||
226 | |||
227 | @example | ||
228 | -$ sh config.sub x86_64-linux | ||
229 | -x86_64-pc-linux-gnu | ||
230 | -$ sh config.sub arm64-linux | ||
231 | +$ build-aux/config.sub arm64-linux | ||
232 | aarch64-unknown-linux-gnu | ||
233 | +$ build-aux/config.sub riscv-lnx | ||
234 | +Invalid configuration 'riscv-lnx': OS 'lnx' not recognized | ||
235 | @end example | ||
236 | |||
237 | @noindent | ||
238 | -It also validates the parts. For example, this interaction tells you | ||
239 | -that ``crusoe'' is not a valid cpu architecture name: | ||
240 | - | ||
241 | -@example | ||
242 | -$ sh config.sub crusoe-linux | ||
243 | -Invalid configuration `crusoe-linux': machine `crusoe-unknown' not recognized | ||
244 | -@end example | ||
245 | - | ||
246 | -@node Building for a different system type | ||
247 | -@section Creating binaries for a different system type | ||
248 | - | ||
249 | -When you want to create binaries that will run on a different machine | ||
250 | -type than the one you are building on, you need to specify both | ||
251 | -@itemize @bullet | ||
252 | -@item | ||
253 | -a @option{--host=@var{type}} option, specifying the machine type on | ||
254 | -which the binaries shall run, | ||
255 | -@item | ||
256 | -compiler variables (@code{CC} for the C compiler, @code{CXX} for the C++ | ||
257 | -compiler, and so on), pointing to compilers that generate object code | ||
258 | -for that machine type. | ||
259 | -@end itemize | ||
260 | - | ||
261 | -For example, to create binaries intended to run on a 64-bit ARM | ||
262 | -processor: | ||
263 | -@example | ||
264 | -./configure --host=aarch64-linux-gnu \ | ||
265 | - CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ | ||
266 | -@end example | ||
267 | - | ||
268 | -If you do this on a machine that can execute such binaries (e.g.@: by | ||
269 | -virtue of the @code{qemu-aarch64} program, system libraries for that | ||
270 | -architecture under @code{$QEMU_LD_PREFIX}, and a Linux | ||
271 | -@code{binfmt_misc} configuration), the build behaves like a native | ||
272 | -build. | ||
273 | -If not, the build is a cross-build, in the sense that @code{configure} | ||
274 | -will make cross-compilation guesses instead of running test programs, | ||
275 | -and ``make check'' will not work. | ||
276 | - | ||
277 | -@node Troubleshooting the Build Type | ||
278 | -@section Fixing a ``cannot guess build type'' error | ||
279 | - | ||
280 | -In rare cases, it may happen that @code{configure} fails with the error | ||
281 | -message ``cannot guess build type''. | ||
282 | -This error means that the files @file{config.guess} and | ||
283 | -@file{config.sub} don't recognize the type of the system on which you | ||
284 | -are building. | ||
285 | -In this case, first fetch the newest versions of these files, from | ||
286 | -@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess} | ||
287 | -and | ||
288 | -@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub}, | ||
289 | -respectively, and use these as drop-in replacement for the files | ||
290 | -@file{config.guess} and @file{config.sub} that were shipped with this | ||
291 | -package. | ||
292 | - | ||
293 | -If this resolves the problem, feel free to report the solution to the | ||
294 | -maintainers of this package. | ||
295 | - | ||
296 | -Otherwise, it means that your system is not yet supported by | ||
297 | -@file{config.guess} and @file{config.sub}. | ||
298 | -As a workaround, you can use a configure option | ||
299 | -@option{--build=@var{type}}, where @var{type} comes closest to your | ||
300 | -system type. | ||
301 | -Also, you're welcome to file a report to | ||
302 | +You can look at the @file{config.sub} file to see which types are recognized. | ||
303 | +If the file is absent, this package does not need the system type. | ||
304 | + | ||
305 | +If @command{configure} fails with the diagnostic ``cannot guess build type''. | ||
306 | +@file{config.sub} did not recognize your system's type. | ||
307 | +In this case, first fetch the newest versions of these files | ||
308 | +from the @url{https://savannah.gnu.org/projects/config, GNU config package}. | ||
309 | +If that fixes things, please report it to the | ||
310 | +maintainers of the package containing @command{configure}. | ||
311 | +Otherwise, you can try the configure option | ||
312 | +@option{--build=@var{type}} where @var{type} comes close to your | ||
313 | +system type; also, please report the problem to | ||
314 | @email{config-patches@@gnu.org}. | ||
315 | |||
316 | -@node Configuring a Compiler | ||
317 | -@section Configuration options specific to a compiler | ||
318 | - | ||
319 | -If you are building a compiler, and this compiler should generate code | ||
320 | -for a system type that is different from the one on which the compiler | ||
321 | -binaries shall run on, use the option @option{--target=@var{type}} to | ||
322 | -select the type of system for which the compiler should produce code. | ||
323 | +For more details about configuring system types, see | ||
324 | +@ifset autoconf | ||
325 | +@ref{Manual Configuration}. | ||
326 | +@end ifset | ||
327 | +@ifclear autoconf | ||
328 | +the Autoconf documentation. | ||
329 | +@end ifclear | ||
330 | |||
331 | @node Sharing Defaults | ||
332 | @section Sharing Defaults | ||
333 | @@ -469,8 +396,8 @@ for more details, including other options available for fine-tuning | ||
334 | the installation locations. | ||
335 | |||
336 | @item --host=@var{type} | ||
337 | -Build binaries for architecture @var{type}. @ref{System Types} and | ||
338 | -@ref{Building for a different system type} for more details. | ||
339 | +Build binaries for system @var{type}. | ||
340 | +@xref{System Types}. | ||
341 | |||
342 | @item --enable-@var{feature} | ||
343 | @itemx --disable-@var{feature} | ||
344 | @@ -497,6 +424,19 @@ Run the configure checks, but stop before creating any output files. | ||
345 | and accepts some other, less widely useful, options. | ||
346 | Run @samp{configure --help} for more details. | ||
347 | |||
348 | +@ifclear autoconf | ||
349 | +@node Copyright notice | ||
350 | +@section Copyright notice | ||
351 | + | ||
352 | +Copyright @copyright{} 1994--1996, 1999--2002, 2004--2017, 2020--2023 | ||
353 | +Free Software Foundation, Inc. | ||
354 | + | ||
355 | +Copying and distribution of this file, with or without modification, are | ||
356 | +permitted in any medium without royalty provided the copyright notice | ||
357 | +and this notice are preserved. This file is offered as-is, without | ||
358 | +warranty of any kind. | ||
359 | +@end ifclear | ||
360 | + | ||
361 | @c Local Variables: | ||
362 | @c fill-column: 72 | ||
363 | @c ispell-local-dictionary: "american" | ||
364 | -- | ||
365 | 2.41.0 | ||
366 | |||
diff --git a/meta/recipes-devtools/autoconf/autoconf_2.72c.bb b/meta/recipes-devtools/autoconf/autoconf_2.72d.bb index 76130d58a5..939fc3abd5 100644 --- a/meta/recipes-devtools/autoconf/autoconf_2.72c.bb +++ b/meta/recipes-devtools/autoconf/autoconf_2.72d.bb | |||
@@ -12,49 +12,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=cc3f3a7596cb558bbd9eb7fbaa3ef16c \ | |||
12 | file://COPYINGv3;md5=1ebbd3e34237af26da5dc08a4e440464" | 12 | file://COPYINGv3;md5=1ebbd3e34237af26da5dc08a4e440464" |
13 | 13 | ||
14 | SRC_URI = " \ | 14 | SRC_URI = " \ |
15 | https://alpha.gnu.org/gnu/autoconf/autoconf-2.72c.tar.gz \ | 15 | https://alpha.gnu.org/gnu/autoconf/${BP}.tar.gz \ |
16 | file://program_prefix.patch \ | 16 | file://program_prefix.patch \ |
17 | file://autoreconf-exclude.patch \ | 17 | file://autoreconf-exclude.patch \ |
18 | file://remove-usr-local-lib-from-m4.patch \ | 18 | file://remove-usr-local-lib-from-m4.patch \ |
19 | file://preferbash.patch \ | 19 | file://preferbash.patch \ |
20 | file://autotest-automake-result-format.patch \ | 20 | file://autotest-automake-result-format.patch \ |
21 | file://man-host-perl.patch \ | 21 | file://man-host-perl.patch \ |
22 | ${BACKPORTS} \ | ||
23 | " | 22 | " |
24 | SRC_URI:append:class-native = " file://no-man.patch" | 23 | SRC_URI:append:class-native = " file://no-man.patch" |
25 | 24 | ||
26 | BACKPORTS = "\ | 25 | SRC_URI[sha256sum] = "c09dcba3d051507459df2fcd58d6f19e5b342568fa910e3bb3a74b4402cde3a6" |
27 | file://backports/0001-mention-prototypes-more-prominently-in-NEWS.patch \ | ||
28 | file://backports/0002-build-run-make-fetch-which-updated-these.patch \ | ||
29 | file://backports/0003-NEWS-Tighten-up-wording.patch \ | ||
30 | file://backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch \ | ||
31 | file://backports/0006-Fix-timing-bug-on-high-speed-builds.patch \ | ||
32 | file://backports/0007-Support-underquoted-callers-better.patch \ | ||
33 | file://backports/0008-New-script-for-building-inside-Guix-containers.patch \ | ||
34 | file://backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch \ | ||
35 | file://backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch \ | ||
36 | file://backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch \ | ||
37 | file://backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch \ | ||
38 | file://backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch \ | ||
39 | file://backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch \ | ||
40 | file://backports/0015-Support-circa-early-2022-Gnulib.patch \ | ||
41 | file://backports/0016-Improve-year2038-largefile-option-processing.patch \ | ||
42 | file://backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch \ | ||
43 | file://backports/0018-Document-limitation-of-BusyBox-tr.patch \ | ||
44 | file://backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch \ | ||
45 | file://backports/0020-Tone-down-year-2038-changes.patch \ | ||
46 | file://backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch \ | ||
47 | file://backports/0022-Fix-port-of-AC_FUNC_MMAP.patch \ | ||
48 | file://backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch \ | ||
49 | file://backports/0024-Improve-AC_FUNC_MMAP-comments.patch \ | ||
50 | file://backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch \ | ||
51 | file://backports/0026-Modernize-INSTALL.patch \ | ||
52 | file://backports/0027-doc-fix-broken-cross-refs.patch \ | ||
53 | file://backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch \ | ||
54 | file://backports/0029-Shorten-and-improve-INSTALL.patch \ | ||
55 | " | ||
56 | |||
57 | SRC_URI[sha256sum] = "21b64169c820c6cdf27fc981ca9c2fb615546e5dead92bccf8d92d0784cdd364" | ||
58 | 26 | ||
59 | RDEPENDS:${PN} = "m4 gnu-config \ | 27 | RDEPENDS:${PN} = "m4 gnu-config \ |
60 | perl \ | 28 | perl \ |