From patchwork Fri Jul 28 03:47:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 28057 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8AFE1C001E0 for ; Fri, 28 Jul 2023 03:48:14 +0000 (UTC) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mx.groups.io with SMTP id smtpd.web10.25560.1690516084867092126 for ; Thu, 27 Jul 2023 20:48:04 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20221208 header.b=HqFUd2wc; spf=pass (domain: gmail.com, ip: 209.85.215.170, mailfrom: raj.khem@gmail.com) Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-53fa455cd94so996183a12.2 for ; Thu, 27 Jul 2023 20:48:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690516084; x=1691120884; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=D401+xwiac6oBvWltaTcFfbBAXBQN+3soy19svMgEFA=; b=HqFUd2wcmMFPnT6LWTyddYFzII+/NyVFCOceHIfyd6v2UDZFlGpuVbxloHaAkREx60 Phoia1brpLqiHnmhWD3yFY6f/nZlh+JUiD2CVJEqvo4iOcuIBcILll53XdkwTSklh/cx TehMUUS9/ydj5ZCRSVMw6NVRa3X3HTSFXuTpaZ6rPhC1bf2MOxRMEcOqKKE1wdKePvjE xfmG25Kq7Jjz3RsAqEmmaG8s+7DV1/gLOJ4PnK4yeoBUbKR6vohCjeJ17I0ABvDM9Izh 1fOrLwjsDw2Hm5PXpSTwqcxbRZH0IubShaiKN8OZqIQwoKWifE6BArzcR9aiBLCGVLAx jU/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690516084; x=1691120884; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D401+xwiac6oBvWltaTcFfbBAXBQN+3soy19svMgEFA=; b=W5OTqe2/dNe1CW7LAr8VoVKUW8SuAjLDx9gTOALyaquHHvBVN8WAKRjOkTpkfYL9S5 PL1vh7uzXBar5VhISuDmXBRFwmgnZLbM/9pQ68XkkbB81BpmZXztjRFXr7JTOWvALm5H cG3Phy+M619qem+sEyMKonvpN74oqyyKRxKUeiBVC2tp9vs0jsGEzqgmmKUnYhHpi2TR yX4qt+406bsyzjjG/onO8LKUj9OWKfc8q6p1zsg59tADegYQRa+kNhwAAGe0Fdw0uHg/ BRIO14ZMSZdLuV5KxPtJgfNCEhfv2iqJ1Y8aPvRBInTd3Z9D31zhMzM+pROONRmELjdB HJtg== X-Gm-Message-State: ABy/qLZjOkXadFRbTkmZBpmB2UAGURCmyYj3PUmMWx/28+ZiqGJO5LXS u4ANGSH0ggwD8a7GubUaAirBPmNwdfQUgg== X-Google-Smtp-Source: APBJJlEq9TlexcXdXlyIG24HNBS8lWENUsUwK/wq3cwuw6BQRcKYDxidXd4YYvTKfxMCvx0726f67g== X-Received: by 2002:a17:90b:1403:b0:268:1e9:53bf with SMTP id jo3-20020a17090b140300b0026801e953bfmr399888pjb.37.1690516083411; Thu, 27 Jul 2023 20:48:03 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net ([2601:646:9100:6180::6608]) by smtp.gmail.com with ESMTPSA id ms19-20020a17090b235300b00263f446d432sm3460532pjb.43.2023.07.27.20.48.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jul 2023 20:48:03 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Subject: [PATCH 1/4] autoconf: Upgrade to 2.72c Date: Thu, 27 Jul 2023 20:47:55 -0700 Message-ID: <4777edacf52865c1050db2ac915606739ab3988a.1690515949.git.raj.khem@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 28 Jul 2023 03:48:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/185008 From: Richard Purdie Signed-off-by: Richard Purdie Signed-off-by: Khem Raj --- .../gettext-0.21.1/autoconf-2.73.patch | 41 ++++++ meta/recipes-core/gettext/gettext_0.21.1.bb | 1 + ...ilers-that-moan-about-K-R-func-decls.patch | 138 ------------------ .../{autoconf_2.71.bb => autoconf_2.72c.bb} | 6 +- .../bison/bison/autoconf-2.73.patch | 15 ++ meta/recipes-devtools/bison/bison_3.8.2.bb | 1 + meta/recipes-extended/findutils/findutils.inc | 1 + .../findutils/findutils/autoconf-2.73.patch | 15 ++ .../gzip/gzip-1.12/autoconf-2.73.patch | 15 ++ meta/recipes-extended/gzip/gzip_1.12.bb | 1 + .../libarchive/libarchive/configurehack.patch | 45 ++++++ .../libarchive/libarchive_3.6.2.bb | 1 + .../libpipeline/autoconf-2.73.patch | 15 ++ .../libpipeline/libpipeline_1.5.7.bb | 1 + .../man-db/files/autoconf-2.73.patch | 15 ++ meta/recipes-extended/man-db/man-db_2.11.2.bb | 1 + .../parted/files/autoconf-2.73.patch | 13 ++ meta/recipes-extended/parted/parted_3.6.bb | 1 + .../apr/apr/autoconf-2.73.patch | 23 +++ meta/recipes-support/apr/apr_1.7.4.bb | 1 + 20 files changed, 209 insertions(+), 141 deletions(-) create mode 100644 meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch delete mode 100644 meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch rename meta/recipes-devtools/autoconf/{autoconf_2.71.bb => autoconf_2.72c.bb} (92%) create mode 100644 meta/recipes-devtools/bison/bison/autoconf-2.73.patch create mode 100644 meta/recipes-extended/findutils/findutils/autoconf-2.73.patch create mode 100644 meta/recipes-extended/gzip/gzip-1.12/autoconf-2.73.patch create mode 100644 meta/recipes-extended/libarchive/libarchive/configurehack.patch create mode 100644 meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch create mode 100644 meta/recipes-extended/man-db/files/autoconf-2.73.patch create mode 100644 meta/recipes-extended/parted/files/autoconf-2.73.patch create mode 100644 meta/recipes-support/apr/apr/autoconf-2.73.patch diff --git a/meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch b/meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch new file mode 100644 index 00000000000..9b3ed336a4b --- /dev/null +++ b/meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch @@ -0,0 +1,41 @@ +Upstream-Status: Inappropriate + +Index: gettext-0.21.1/gettext-runtime/gnulib-m4/largefile.m4 +=================================================================== +--- gettext-0.21.1.orig/gettext-runtime/gnulib-m4/largefile.m4 ++++ gettext-0.21.1/gettext-runtime/gnulib-m4/largefile.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- +Index: gettext-0.21.1/gettext-tools/gnulib-m4/largefile.m4 +=================================================================== +--- gettext-0.21.1.orig/gettext-tools/gnulib-m4/largefile.m4 ++++ gettext-0.21.1/gettext-tools/gnulib-m4/largefile.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- +Index: gettext-0.21.1/libtextstyle/gnulib-m4/largefile.m4 +=================================================================== +--- gettext-0.21.1.orig/libtextstyle/gnulib-m4/largefile.m4 ++++ gettext-0.21.1/libtextstyle/gnulib-m4/largefile.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- diff --git a/meta/recipes-core/gettext/gettext_0.21.1.bb b/meta/recipes-core/gettext/gettext_0.21.1.bb index b80ea9276ef..2f030a2df9d 100644 --- a/meta/recipes-core/gettext/gettext_0.21.1.bb +++ b/meta/recipes-core/gettext/gettext_0.21.1.bb @@ -29,6 +29,7 @@ SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \ file://serial-tests-config.patch \ file://0001-tests-autopoint-3-unset-MAKEFLAGS.patch \ file://0001-init-env.in-do-not-add-C-CXX-parameters.patch \ + file://autoconf-2.73.patch \ " SRC_URI[sha256sum] = "e8c3650e1d8cee875c4f355642382c1df83058bd5a11ee8555c0cf276d646d45" diff --git a/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch b/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch deleted file mode 100644 index 4f15bf96c3b..00000000000 --- a/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 7a3bbca81b803ba116b83c82de378e840cc35f81 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Thu, 1 Sep 2022 16:19:50 -0500 -Subject: [PATCH] Port to compilers that moan about K&R func decls -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* lib/autoconf/c.m4 (AC_LANG_CALL, AC_LANG_FUNC_LINK_TRY): -Use '(void)' rather than '()' in function prototypes, as the latter -provokes fatal errors in some compilers nowadays. -* lib/autoconf/functions.m4 (AC_FUNC_STRTOD): -* tests/fortran.at (AC_F77_DUMMY_MAIN usage): -* tests/semantics.at (AC_CHECK_DECLS): -Don’t use () in a function decl. - -Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b] -Signed-off-by: Khem Raj ---- - doc/autoconf.texi | 7 +++---- - lib/autoconf/c.m4 | 6 +++--- - lib/autoconf/functions.m4 | 3 --- - tests/fortran.at | 8 ++++---- - tests/semantics.at | 2 +- - 5 files changed, 11 insertions(+), 15 deletions(-) - ---- a/doc/autoconf.texi -+++ b/doc/autoconf.texi -@@ -5465,9 +5465,7 @@ the @samp{#undef malloc}): - #include - #undef malloc - --#include -- --void *malloc (); -+#include - - /* Allocate an N-byte block of memory from the heap. - If N is zero, allocate a 1-byte block. */ -@@ -8295,7 +8293,7 @@ needed: - # ifdef __cplusplus - extern "C" - # endif -- int F77_DUMMY_MAIN () @{ return 1; @} -+ int F77_DUMMY_MAIN (void) @{ return 1; @} - #endif - @end example - ---- a/lib/autoconf/c.m4 -+++ b/lib/autoconf/c.m4 -@@ -127,7 +127,7 @@ m4_if([$2], [main], , - [/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ --char $2 ();])], [return $2 ();])]) -+char $2 (void);])], [return $2 ();])]) - - - # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) -@@ -151,7 +151,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], - #define $1 innocuous_$1 - - /* System header to define __stub macros and hopefully few prototypes, -- which can conflict with char $1 (); below. */ -+ which can conflict with char $1 (void); below. */ - - #include - #undef $1 -@@ -162,7 +162,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], - #ifdef __cplusplus - extern "C" - #endif --char $1 (); -+char $1 (void); - /* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ ---- a/lib/autoconf/functions.m4 -+++ b/lib/autoconf/functions.m4 -@@ -1601,9 +1601,6 @@ AC_DEFUN([AC_FUNC_STRTOD], - AC_CACHE_CHECK(for working strtod, ac_cv_func_strtod, - [AC_RUN_IFELSE([AC_LANG_SOURCE([[ - ]AC_INCLUDES_DEFAULT[ --#ifndef strtod --double strtod (); --#endif - int - main (void) - { ---- a/tests/fortran.at -+++ b/tests/fortran.at -@@ -233,7 +233,7 @@ void FOOBAR_F77 (double *x, double *y); - # ifdef __cplusplus - extern "C" - # endif -- int F77_DUMMY_MAIN () { return 1; } -+ int F77_DUMMY_MAIN (void) { return 1; } - #endif - - int main(int argc, char *argv[]) -@@ -315,7 +315,7 @@ void FOOBAR_FC(double *x, double *y); - # ifdef __cplusplus - extern "C" - # endif -- int FC_DUMMY_MAIN () { return 1; } -+ int FC_DUMMY_MAIN (void) { return 1; } - #endif - - int main (int argc, char *argv[]) -@@ -561,7 +561,7 @@ void @foobar@ (int *x); - # ifdef __cplusplus - extern "C" - # endif -- int F77_DUMMY_MAIN () { return 1; } -+ int F77_DUMMY_MAIN (void) { return 1; } - #endif - - int main(int argc, char *argv[]) -@@ -637,7 +637,7 @@ void @foobar@ (int *x); - # ifdef __cplusplus - extern "C" - # endif -- int FC_DUMMY_MAIN () { return 1; } -+ int FC_DUMMY_MAIN (void) { return 1; } - #endif - - int main(int argc, char *argv[]) ---- a/tests/semantics.at -+++ b/tests/semantics.at -@@ -207,7 +207,7 @@ AT_CHECK_MACRO([AC_CHECK_DECLS], - [[extern int yes; - enum { myenum }; - extern struct mystruct_s { int x[20]; } mystruct; -- extern int myfunc(); -+ extern int myfunc (int); - #define mymacro1(arg) arg - #define mymacro2]]) - # Ensure we can detect missing declarations of functions whose diff --git a/meta/recipes-devtools/autoconf/autoconf_2.71.bb b/meta/recipes-devtools/autoconf/autoconf_2.72c.bb similarity index 92% rename from meta/recipes-devtools/autoconf/autoconf_2.71.bb rename to meta/recipes-devtools/autoconf/autoconf_2.72c.bb index 97c241a3f5f..fe9779e4ddb 100644 --- a/meta/recipes-devtools/autoconf/autoconf_2.71.bb +++ b/meta/recipes-devtools/autoconf/autoconf_2.72c.bb @@ -11,18 +11,18 @@ DEPENDS:remove:class-native = "autoconf-native automake-native help2man-native" LIC_FILES_CHKSUM = "file://COPYING;md5=cc3f3a7596cb558bbd9eb7fbaa3ef16c \ file://COPYINGv3;md5=1ebbd3e34237af26da5dc08a4e440464" -SRC_URI = "${GNU_MIRROR}/autoconf/${BP}.tar.gz \ +SRC_URI = " \ + https://alpha.gnu.org/gnu/autoconf/autoconf-2.72c.tar.gz \ file://program_prefix.patch \ file://autoreconf-exclude.patch \ file://remove-usr-local-lib-from-m4.patch \ file://preferbash.patch \ file://autotest-automake-result-format.patch \ file://man-host-perl.patch \ - file://0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch \ " SRC_URI:append:class-native = " file://no-man.patch" -SRC_URI[sha256sum] = "431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c" +SRC_URI[sha256sum] = "21b64169c820c6cdf27fc981ca9c2fb615546e5dead92bccf8d92d0784cdd364" RDEPENDS:${PN} = "m4 gnu-config \ perl \ diff --git a/meta/recipes-devtools/bison/bison/autoconf-2.73.patch b/meta/recipes-devtools/bison/bison/autoconf-2.73.patch new file mode 100644 index 00000000000..8c77d50e0a6 --- /dev/null +++ b/meta/recipes-devtools/bison/bison/autoconf-2.73.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate + +Index: findutils-4.9.0/gl/m4/largefile.m4 +=================================================================== +--- findutils-4.9.0.orig/m4/largefile.m4 ++++ findutils-4.9.0/m4/largefile.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- diff --git a/meta/recipes-devtools/bison/bison_3.8.2.bb b/meta/recipes-devtools/bison/bison_3.8.2.bb index c95f321244f..da138e35874 100644 --- a/meta/recipes-devtools/bison/bison_3.8.2.bb +++ b/meta/recipes-devtools/bison/bison_3.8.2.bb @@ -10,6 +10,7 @@ SECTION = "devel" DEPENDS = "bison-native flex-native" SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ + file://autoconf-2.73.patch \ file://add-with-bisonlocaledir.patch \ " SRC_URI[sha256sum] = "9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2" diff --git a/meta/recipes-extended/findutils/findutils.inc b/meta/recipes-extended/findutils/findutils.inc index ddcc05750b8..03cf2a8d72b 100644 --- a/meta/recipes-extended/findutils/findutils.inc +++ b/meta/recipes-extended/findutils/findutils.inc @@ -7,6 +7,7 @@ BUGTRACKER = "http://savannah.gnu.org/bugs/?group=findutils" SECTION = "console/utils" SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz \ + file://autoconf-2.73.patch \ file://run-ptest \ " diff --git a/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch b/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch new file mode 100644 index 00000000000..2247ebe5b2b --- /dev/null +++ b/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate + +Index: findutils-4.9.0/gl/m4/largefile.m4 +=================================================================== +--- findutils-4.9.0.orig/gl/m4/largefile.m4 ++++ findutils-4.9.0/gl/m4/largefile.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- diff --git a/meta/recipes-extended/gzip/gzip-1.12/autoconf-2.73.patch b/meta/recipes-extended/gzip/gzip-1.12/autoconf-2.73.patch new file mode 100644 index 00000000000..8c77d50e0a6 --- /dev/null +++ b/meta/recipes-extended/gzip/gzip-1.12/autoconf-2.73.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate + +Index: findutils-4.9.0/gl/m4/largefile.m4 +=================================================================== +--- findutils-4.9.0.orig/m4/largefile.m4 ++++ findutils-4.9.0/m4/largefile.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- diff --git a/meta/recipes-extended/gzip/gzip_1.12.bb b/meta/recipes-extended/gzip/gzip_1.12.bb index 14de50b2305..35eb7c4da23 100644 --- a/meta/recipes-extended/gzip/gzip_1.12.bb +++ b/meta/recipes-extended/gzip/gzip_1.12.bb @@ -5,6 +5,7 @@ require gzip.inc LICENSE = "GPL-3.0-or-later" SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \ + file://autoconf-2.73.patch \ file://run-ptest \ " SRC_URI:append:class-target = " file://wrong-path-fix.patch" diff --git a/meta/recipes-extended/libarchive/libarchive/configurehack.patch b/meta/recipes-extended/libarchive/libarchive/configurehack.patch new file mode 100644 index 00000000000..991ec92f053 --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/configurehack.patch @@ -0,0 +1,45 @@ +Upstream-Status: Pending +Index: libarchive-3.6.2/configure.ac +=================================================================== +--- libarchive-3.6.2.orig/configure.ac ++++ libarchive-3.6.2/configure.ac +@@ -357,6 +357,19 @@ if test "x$with_bz2lib" != "xno"; then + esac + fi + ++# Checks for typedefs, structures, and compiler characteristics. ++AC_C_CONST ++# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW ++# and MSVC. Use a customized version. ++la_TYPE_UID_T ++AC_TYPE_MODE_T ++# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on ++# most systems... default to "long long" instead. ++AC_CHECK_TYPE(off_t, [long long]) ++AC_TYPE_SIZE_T ++AC_CHECK_TYPE(id_t, [unsigned long]) ++AC_CHECK_TYPE(uintptr_t, [unsigned int]) ++ + AC_ARG_WITH([libb2], + AS_HELP_STRING([--without-libb2], [Don't build support for BLAKE2 through libb2])) + +@@ -558,19 +571,6 @@ LDFLAGS=$save_LDFLAGS + + AC_SUBST(GC_SECTIONS) + +-# Checks for typedefs, structures, and compiler characteristics. +-AC_C_CONST +-# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW +-# and MSVC. Use a customized version. +-la_TYPE_UID_T +-AC_TYPE_MODE_T +-# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on +-# most systems... default to "long long" instead. +-AC_CHECK_TYPE(off_t, [long long]) +-AC_TYPE_SIZE_T +-AC_CHECK_TYPE(id_t, [unsigned long]) +-AC_CHECK_TYPE(uintptr_t, [unsigned int]) +- + # Check for tm_gmtoff in struct tm + AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,, + [ diff --git a/meta/recipes-extended/libarchive/libarchive_3.6.2.bb b/meta/recipes-extended/libarchive/libarchive_3.6.2.bb index aafede3da8c..bf14725dc18 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.6.2.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.6.2.bb @@ -29,6 +29,7 @@ PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd," EXTRA_OECONF += "--enable-largefile --without-iconv" SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz" +SRC_URI += "file://configurehack.patch" UPSTREAM_CHECK_URI = "http://libarchive.org/" SRC_URI[sha256sum] = "ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3" diff --git a/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch b/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch new file mode 100644 index 00000000000..2247ebe5b2b --- /dev/null +++ b/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate + +Index: findutils-4.9.0/gl/m4/largefile.m4 +=================================================================== +--- findutils-4.9.0.orig/gl/m4/largefile.m4 ++++ findutils-4.9.0/gl/m4/largefile.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- diff --git a/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb b/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb index 73c7aaaa914..7e3f13ebde0 100644 --- a/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb +++ b/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb @@ -7,6 +7,7 @@ LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" SRC_URI = "${SAVANNAH_GNU_MIRROR}/libpipeline/libpipeline-${PV}.tar.gz" +SRC_URI += "file://autoconf-2.73.patch" SRC_URI[sha256sum] = "b8b45194989022a79ec1317f64a2a75b1551b2a55bea06f67704cb2a2e4690b0" inherit pkgconfig autotools diff --git a/meta/recipes-extended/man-db/files/autoconf-2.73.patch b/meta/recipes-extended/man-db/files/autoconf-2.73.patch new file mode 100644 index 00000000000..2247ebe5b2b --- /dev/null +++ b/meta/recipes-extended/man-db/files/autoconf-2.73.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate + +Index: findutils-4.9.0/gl/m4/largefile.m4 +=================================================================== +--- findutils-4.9.0.orig/gl/m4/largefile.m4 ++++ findutils-4.9.0/gl/m4/largefile.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- diff --git a/meta/recipes-extended/man-db/man-db_2.11.2.bb b/meta/recipes-extended/man-db/man-db_2.11.2.bb index ca0cb1a0e12..3884a531a6a 100644 --- a/meta/recipes-extended/man-db/man-db_2.11.2.bb +++ b/meta/recipes-extended/man-db/man-db_2.11.2.bb @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \ file://99_mandb \ file://0001-man-Move-local-variable-declaration-to-function-scop.patch \ + file://autoconf-2.73.patch \ file://man_db.conf-avoid-multilib-install-file-conflict.patch" SRC_URI[sha256sum] = "cffa1ee4e974be78646c46508e6dd2f37e7c589aaab2938cc1064f058fef9f8d" diff --git a/meta/recipes-extended/parted/files/autoconf-2.73.patch b/meta/recipes-extended/parted/files/autoconf-2.73.patch new file mode 100644 index 00000000000..23abc2fc6b6 --- /dev/null +++ b/meta/recipes-extended/parted/files/autoconf-2.73.patch @@ -0,0 +1,13 @@ +Upstream-Status: Inappropriate + +--- a/m4/largefile.m4 ++++ b/m4/largefile.m4 +@@ -27,7 +27,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # Work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- diff --git a/meta/recipes-extended/parted/parted_3.6.bb b/meta/recipes-extended/parted/parted_3.6.bb index a755e1c148b..a537ef74dba 100644 --- a/meta/recipes-extended/parted/parted_3.6.bb +++ b/meta/recipes-extended/parted/parted_3.6.bb @@ -9,6 +9,7 @@ DEPENDS = "ncurses util-linux virtual/libiconv" SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \ file://fix-doc-mandir.patch \ file://0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch \ + file://autoconf-2.73.patch \ file://run-ptest \ " diff --git a/meta/recipes-support/apr/apr/autoconf-2.73.patch b/meta/recipes-support/apr/apr/autoconf-2.73.patch new file mode 100644 index 00000000000..7ddb7668bd0 --- /dev/null +++ b/meta/recipes-support/apr/apr/autoconf-2.73.patch @@ -0,0 +1,23 @@ +Upstream-Status: Pending + +Index: apr-1.7.2/configure.in +=================================================================== +--- apr-1.7.2.orig/configure.in ++++ apr-1.7.2/configure.in +@@ -430,6 +430,8 @@ if test "$host" = "i586-pc-beos"; then + ) dnl + fi + ++APR_CHECK_DEFINE(LOCK_EX, sys/file.h) ++ + # this is the place to put specific options for platform/compiler + # combinations + case "$host:$CC" in +@@ -2384,7 +2386,6 @@ AC_MSG_RESULT([$msg]) + AC_SUBST(have_union_semun) + + dnl Checks for libraries. +-APR_CHECK_DEFINE(LOCK_EX, sys/file.h) + APR_CHECK_DEFINE(F_SETLK, fcntl.h) + APR_CHECK_DEFINE(SEM_UNDO, sys/sem.h) + diff --git a/meta/recipes-support/apr/apr_1.7.4.bb b/meta/recipes-support/apr/apr_1.7.4.bb index e5714693416..5ac7f4b93f7 100644 --- a/meta/recipes-support/apr/apr_1.7.4.bb +++ b/meta/recipes-support/apr/apr_1.7.4.bb @@ -22,6 +22,7 @@ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \ file://libtoolize_check.patch \ file://0001-Add-option-to-disable-timed-dependant-tests.patch \ file://0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch \ + file://autoconf-2.73.patch \ " SRC_URI[sha256sum] = "fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577" From patchwork Fri Jul 28 03:47:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 28058 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8D758C001DE for ; Fri, 28 Jul 2023 03:48:14 +0000 (UTC) Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by mx.groups.io with SMTP id smtpd.web11.25663.1690516087911881564 for ; Thu, 27 Jul 2023 20:48:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20221208 header.b=YwE2ipGo; spf=pass (domain: gmail.com, ip: 209.85.216.50, mailfrom: raj.khem@gmail.com) Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-26809f86bd5so998741a91.3 for ; Thu, 27 Jul 2023 20:48:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690516087; x=1691120887; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=6KcCsRYKfLp44Er2fWBBPehsGbh9dRNgtTfyYxOEQ7Y=; b=YwE2ipGoZh/LbHEC8DbnHlPQFuxqNSspBTn3n5dl99HeYgaZXveuTwdCNyL4vTvvTe pfYJiwvDqv9rb9X1UIy0JTpFh+bXmc61XshSbd+U1N7f2Nq75DneritfqnOsRKen961V nCV0Mo5Ylwqe8m+wPWtz65873T3iNONOWQd6XMqmqgdrh+X3Le9ATdvnWFbsKTotoq9T 29senF/JM/fg5z53pc3UNmvMpde7hrcg5CKILvIfLwcUbpVlUrlWjazqLxuOD+8SB7t0 fktwnWBBE9uuDnxrWTX2x95aT+Xs4g3tyZD3PLPt12Uk4u1zVSkjW/llQua+GxtipvDR 8evw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690516087; x=1691120887; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6KcCsRYKfLp44Er2fWBBPehsGbh9dRNgtTfyYxOEQ7Y=; b=StCM0RuFm7FEeWdz5YH3uHavUhsOPim6mouS6cPJGbVKo6QXTVs+XZMRgg3pJ7t4A4 fC7ZKdh7e+UmvnQcMGDHoXsb/A0u36tWICq7qHJMl0mpIS4V8PWymkfjpS+3544k0ReI 61OiLb2MPzgCvK2MPPLhI7QYnEygdh4osFjgZFXtYCGN6GYVbvzc2vX09x/TMHisKR0W t99lnq54tyj2NIB5VZhAUSpZi+ddCVyssfgGyieiL7SNnJdIj6NW0w7vTWQpjfpyyT/t q+Za+W5ZoCv8I55fealgI87DBxpFQUxsIHOR2xCYM+aM/LVXjcJWYNQIsIqU1J3Dg7Ci XIBA== X-Gm-Message-State: ABy/qLZH0V2taqpuxd9SfuR/+NF6qj7cnukUTXtrum1g3v7ByhdTvcaM 8N9wFUh0tcl+6Mpb0+q1B+mygbkOUL2oiw== X-Google-Smtp-Source: APBJJlGupzeq93VWsxC86RExv0x2smVs/JEKlVUjr5ZgQueqRPqVqrON+iR/9PXvXOHYr/E6mIep0g== X-Received: by 2002:a17:90a:9412:b0:263:f5b7:bc05 with SMTP id r18-20020a17090a941200b00263f5b7bc05mr414509pjo.14.1690516084447; Thu, 27 Jul 2023 20:48:04 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net ([2601:646:9100:6180::6608]) by smtp.gmail.com with ESMTPSA id ms19-20020a17090b235300b00263f446d432sm3460532pjb.43.2023.07.27.20.48.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jul 2023 20:48:04 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Subject: [PATCH 2/4] autoconf: Backport upstreamed patches Date: Thu, 27 Jul 2023 20:47:56 -0700 Message-ID: <879dfd39716a1c8f7e2a6b20577213f2e9cbe2b3.1690515949.git.raj.khem@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 28 Jul 2023 03:48:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/185011 These patches improve the Y2038 support on top of 2.72c release Signed-off-by: Khem Raj --- ...-prototypes-more-prominently-in-NEWS.patch | 36 ++ ...d-run-make-fetch-which-updated-these.patch | 123 ++++++ .../0003-NEWS-Tighten-up-wording.patch | 29 ++ ...to-programs-misusing-AC_EGREP_HEADER.patch | 82 ++++ ...-Fix-timing-bug-on-high-speed-builds.patch | 75 ++++ ...7-Support-underquoted-callers-better.patch | 57 +++ ...-for-building-inside-Guix-containers.patch | 54 +++ ..._DIR-Rewrite-using-AC_CANONICAL_HOST.patch | 82 ++++ ...PE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch | 77 ++++ ..._TRADITIONAL-a-compatibility-alias-f.patch | 180 ++++++++ ...TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch | 328 ++++++++++++++ ...-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch | 84 ++++ ...st-few-internal-uses-of-AC_EGREP_CPP.patch | 116 +++++ ...0015-Support-circa-early-2022-Gnulib.patch | 32 ++ ...year2038-largefile-option-processing.patch | 121 ++++++ ...Fix-configure-failure-on-32-bit-ming.patch | 30 ++ ...18-Document-limitation-of-BusyBox-tr.patch | 45 ++ ...REQUIRED-Fix-configure-failure-with-.patch | 48 +++ .../0020-Tone-down-year-2038-changes.patch | 405 ++++++++++++++++++ ...-AC_FUNC_MMAP-to-more-modern-systems.patch | 98 +++++ .../0022-Fix-port-of-AC_FUNC_MMAP.patch | 91 ++++ ..._SYS_YEAR2038_RECOMMENDED-diagnostic.patch | 38 ++ .../0024-Improve-AC_FUNC_MMAP-comments.patch | 29 ++ ...S_LARGEFILE-on-GNU-Linux-alpha-s390x.patch | 62 +++ .../backports/0026-Modernize-INSTALL.patch | 270 ++++++++++++ .../0027-doc-fix-broken-cross-refs.patch | 58 +++ ...build-host-target-and-the-system-typ.patch | 224 ++++++++++ .../0029-Shorten-and-improve-INSTALL.patch | 366 ++++++++++++++++ .../autoconf/autoconf_2.72c.bb | 34 +- 29 files changed, 3273 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch create mode 100644 meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch 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 new file mode 100644 index 00000000000..3faf6f0a814 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch @@ -0,0 +1,36 @@ +From 5ffc09fca39de051537fbebd7c6c33d5255a520f Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 27 Mar 2023 18:10:36 -0700 +Subject: [PATCH 01/29] mention prototypes more prominently in NEWS + +* NEWS: Mention the function prototype issue early. +(From a suggestion by Zack Weinberg.) + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + NEWS | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/NEWS b/NEWS +index cf01ee210..d64648c6f 100644 +--- a/NEWS ++++ b/NEWS +@@ -4,6 +4,14 @@ GNU Autoconf NEWS - User visible changes. + + ** Backward incompatibilities + ++*** AC_CHECK_FUNC and similar macros now use function prototypes. ++ AC_CHECK_FUNC and and similar macros now use C declarations with ++ function prototypes, a feature introduced in C89. The new approach ++ should work better with C23, which removed the non-prototyped K&R ++ style that AC_CHECK_FUNC previously used. However, this change ++ means Autoconf no longer supports pre-1989 C compilers, as they do ++ not support function prototypes. ++ + *** Autoconf now requires perl 5.10 (2007) or later. + Generated 'configure' scripts continue to run without perl. + +-- +2.41.0 + 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 new file mode 100644 index 00000000000..35f324c4aeb --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch @@ -0,0 +1,123 @@ +From e2220ed33e69d8bc6504e3f6279894afe33a99a5 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Wed, 29 Mar 2023 12:59:09 -0700 +Subject: [PATCH 02/29] build: run "make fetch", which updated these: + +* build-aux/texinfo.tex: Update from texinfo. +* lib/Autom4te/FileUtils.pm: Update from automake. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + build-aux/texinfo.tex | 50 +++++++++++++++++++++------------------ + lib/Autom4te/FileUtils.pm | 5 +++- + 2 files changed, 31 insertions(+), 24 deletions(-) + +diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex +index d25161109..55a002d27 100644 +--- a/build-aux/texinfo.tex ++++ b/build-aux/texinfo.tex +@@ -3,7 +3,7 @@ + % Load plain if necessary, i.e., if running under initex. + \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi + % +-\def\texinfoversion{2023-03-21.06} ++\def\texinfoversion{2023-03-27.21} + % + % Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc. + % +@@ -1102,27 +1102,33 @@ where each line of input produces a line of output.} + + % Output page labels information. + % See PDF reference v.1.7 p.594, section 8.3.1. ++% Page label ranges must be increasing. + \ifpdf + \def\pagelabels{% + \def\title{0 << /P (T-) /S /D >>}% +- \edef\roman{\the\romancount << /S /r >>}% +- \edef\arabic{\the\arabiccount << /S /D >>}% + % +- % Page label ranges must be increasing. Remove any duplicates. +- % (There is a slight chance of this being wrong if e.g. there is +- % a @contents but no @titlepage, etc.) +- % +- \ifnum\romancount=0 \def\roman{}\fi +- \ifnum\arabiccount=0 \def\title{}% +- \else +- \ifnum\romancount=\arabiccount \def\roman{}\fi +- \fi +- % +- \ifnum\romancount<\arabiccount +- \pdfcatalog{/PageLabels << /Nums [\title \roman \arabic ] >> }\relax ++ % support @contents at very end of document ++ \ifnum\contentsendcount=\pagecount ++ \ifnum\arabiccount<\romancount ++ \pdfcatalog{/PageLabels << /Nums ++ [\title ++ \the\arabiccount << /S /D >> ++ \the\romancount << /S /r >> ++ ] >> }\relax ++ \fi ++ % no contents in document ++ \else\ifnum\contentsendcount=0 ++ \pdfcatalog{/PageLabels << /Nums ++ [\title ++ \the\arabiccount << /S /D >> ++ ] >> }\relax + \else +- \pdfcatalog{/PageLabels << /Nums [\title \arabic \roman ] >> }\relax +- \fi ++ \pdfcatalog{/PageLabels << /Nums ++ [\title ++ \the\romancount << /S /r >> ++ \the\contentsendcount << /S /D >> ++ ] >> }\relax ++ \fi\fi + } + \else + \let\pagelabels\relax +@@ -1131,6 +1137,8 @@ where each line of input produces a line of output.} + \newcount\pagecount \pagecount=0 + \newcount\romancount \romancount=0 + \newcount\arabiccount \arabiccount=0 ++\newcount\contentsendcount \contentsendcount=0 ++ + \ifpdf + \let\ptxadvancepageno\advancepageno + \def\advancepageno{% +@@ -6809,12 +6817,8 @@ might help (with 'rm \jobname.?? \jobname.??s')% + % Get ready to use Arabic numerals again + \def\contentsendroman{% + \lastnegativepageno = \pageno +- \global\pageno = \savepageno +- % +- % If \romancount > \arabiccount, the contents are at the end of the +- % document. Otherwise, advance where the Arabic numerals start for +- % the page numbers. +- \ifnum\romancount>\arabiccount\else\global\arabiccount=\pagecount\fi ++ \global\pageno=1 ++ \contentsendcount = \pagecount + } + + % Typeset the label for a chapter or appendix for the short contents. +diff --git a/lib/Autom4te/FileUtils.pm b/lib/Autom4te/FileUtils.pm +index ab58b9de4..2468fe6d8 100644 +--- a/lib/Autom4te/FileUtils.pm ++++ b/lib/Autom4te/FileUtils.pm +@@ -39,9 +39,12 @@ use strict; + use warnings FATAL => 'all'; + + use Exporter; +-use Time::HiRes qw(stat); + use IO::File; + ++# use sub-second resolution timestamps if available, ++# carry on with one-second resolution timestamps if that is all we have ++BEGIN { eval { require Time::HiRes; import Time::HiRes qw(stat) } } ++ + use Autom4te::Channels; + use Autom4te::ChannelDefs; + +-- +2.41.0 + 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 new file mode 100644 index 00000000000..76c37a005bd --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch @@ -0,0 +1,29 @@ +From e05aa447945c0d72ad924fd89a28830cf1a0f8d3 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Fri, 31 Mar 2023 10:37:57 -0700 +Subject: [PATCH 03/29] * NEWS: Tighten up wording. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + NEWS | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/NEWS b/NEWS +index d64648c6f..884e46f45 100644 +--- a/NEWS ++++ b/NEWS +@@ -5,9 +5,7 @@ GNU Autoconf NEWS - User visible changes. + ** Backward incompatibilities + + *** AC_CHECK_FUNC and similar macros now use function prototypes. +- AC_CHECK_FUNC and and similar macros now use C declarations with +- function prototypes, a feature introduced in C89. The new approach +- should work better with C23, which removed the non-prototyped K&R ++ This should work better with C23, which removed the non-prototyped K&R + style that AC_CHECK_FUNC previously used. However, this change + means Autoconf no longer supports pre-1989 C compilers, as they do + not support function prototypes. +-- +2.41.0 + 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 new file mode 100644 index 00000000000..1b30d9926cb --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch @@ -0,0 +1,82 @@ +From 232cab527897bcdf4d55492d41af73d31905bda5 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Fri, 31 Mar 2023 10:46:20 -0700 +Subject: [PATCH 04/29] Cater to programs misusing AC_EGREP_HEADER +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Frederic Berat in: +https://lists.gnu.org/archive/html/autoconf/2022-11/msg00127.html +* lib/autoconf/programs.m4 (AC_PROG_EGREP): Also set +EGREP_TRADITIONAL and ac_cv_path_EGREP_TRADITIONAL. +* tests/c.at (AC_PROG_EGREP and AC_EGREP_HEADER): +New test, taken from Frederic Berat’s email in: +https://lists.gnu.org/r/autoconf/2023-03/msg00043.html + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/programs.m4 | 10 ++++++++++ + tests/c.at | 24 ++++++++++++++++++++++++ + 2 files changed, 34 insertions(+) + +diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4 +index 1b7460c85..62ba6b8b6 100644 +--- a/lib/autoconf/programs.m4 ++++ b/lib/autoconf/programs.m4 +@@ -371,6 +371,16 @@ AC_CACHE_CHECK([for egrep], ac_cv_path_EGREP, + fi]) + EGREP="$ac_cv_path_EGREP" + AC_SUBST([EGREP]) ++ dnl ++ dnl Also set EGREP_TRADITIONAL even though unnecessary here, ++ dnl for wrong but too-common code with the following pattern: ++ dnl AC_PROG_EGREP ++ dnl if false; then ++ dnl AC_EGREP_HEADER([printf], [stdio.h], [has_printf=yes]) ++ dnl fi ++ dnl AC_EGREP_HEADER([malloc], [stdlib.h], [has_malloc=yes]) ++ EGREP_TRADITIONAL=$EGREP ++ ac_cv_path_EGREP_TRADITIONAL=$EGREP + ])# AC_PROG_EGREP + + # _AC_PROG_EGREP_TRADITIONAL +diff --git a/tests/c.at b/tests/c.at +index c37f43b10..fad54760f 100644 +--- a/tests/c.at ++++ b/tests/c.at +@@ -232,6 +232,30 @@ AT_CHECK_DEFINES( + AT_CLEANUP + + ++## ----------------------------------- ## ++## AC_PROG_EGREP and AC_EGREP_HEADER. ## ++## ----------------------------------- ## ++ ++AT_SETUP([AC_PROG_EGREP and AC_EGREP_HEADER]) ++ ++_AT_CHECK_AC_MACRO( ++[[AC_PROG_CPP ++ AC_PROG_EGREP ++ ++ # Although this code is incorrect (it should use AS_IF), ++ # it follows a too-common real world pattern. ++ # For now, test for it; we may remove this test later. ++ if false; then ++ AC_EGREP_HEADER([^], [limits.h]) ++ fi ++ ++ AC_EGREP_HEADER([$], [limits.h], [], ++ [AC_MSG_ERROR([[egrep-related macros do not tolerate misuse of 'if']])]) ++]]) ++ ++AT_CLEANUP ++ ++ + ## ------------------------------------ ## + ## AC_NO_EXECUTABLES (working linker). ## + ## ------------------------------------ ## +-- +2.41.0 + 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 new file mode 100644 index 00000000000..53fb40b4df3 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch @@ -0,0 +1,75 @@ +From 713d9822bbfb2923115065efaefed34a0113f8a1 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sat, 1 Apr 2023 16:44:03 -0700 +Subject: [PATCH 06/29] Fix timing bug on high-speed builds +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Bogdan via Jacob Bachmeyer in: +https://lists.gnu.org/r/autoconf/2023-04/msg00002.html +* bin/autom4te.in: If a file timestamp equals a dependency’s +timestamp, consider the file to be out of date. Although this may +result in extra work, it fixes some rare timing bugs. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + bin/autom4te.in | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/bin/autom4te.in b/bin/autom4te.in +index 4b61f0a82..71d7e6a62 100644 +--- a/bin/autom4te.in ++++ b/bin/autom4te.in +@@ -910,10 +910,8 @@ sub up_to_date ($) + return 0 + if ! -f $tfile || ! -f $ofile; + +- # The youngest of the cache files must be older than the oldest of ++ # The younger of the cache files must be older than the oldest of + # the dependencies. +- # FIXME: These timestamps have only 1-second resolution. +- # Time::HiRes fixes this, but assumes Perl 5.8 or later. + my $tmtime = mtime ($tfile); + my $omtime = mtime ($ofile); + my ($file, $mtime) = ($tmtime < $omtime +@@ -926,7 +924,7 @@ sub up_to_date ($) + # We depend at least upon the arguments. + foreach my $dep (@ARGV) + { +- if ($mtime < mtime ($dep)) ++ if ($mtime <= mtime ($dep)) + { + verb "up_to_date ($file): outdated: $dep"; + return 0; +@@ -949,7 +947,7 @@ sub up_to_date ($) + # timestamp of that missing file was newer). + return 0 + if ! $dep; +- if ($mtime < mtime ($dep)) ++ if ($mtime <= mtime ($dep)) + { + verb "up_to_date ($file): outdated: $dep"; + return 0; +@@ -1038,7 +1036,7 @@ $icache_file = new Autom4te::XFile $icache, O_RDWR|O_CREAT; + $icache_file->lock (LOCK_EX) + if ($flock_implemented eq "yes"); + +-# Read the cache index if available and older than autom4te itself. ++# Read the cache index if available and younger than autom4te itself. + # If autom4te is younger, then some structures such as C4che might + # have changed, which would corrupt its processing. + Autom4te::C4che->load ($icache_file) +@@ -1105,7 +1103,7 @@ else + # Actual M4 expansion, if the user wants it, or if $output is old + # (STDOUT is pretty old). + handle_output ($req, $output) +- if $force || mtime ($output) < mtime ($ocache . $req->id); ++ if $force || mtime ($output) <= mtime ($ocache . $req->id); + } + + # If we ran up to here, the cache is valid. +-- +2.41.0 + 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 new file mode 100644 index 00000000000..f9f9345ade6 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch @@ -0,0 +1,57 @@ +From 794182506c3c5814d48b2fc4d832770f608ce0ef Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sat, 1 Apr 2023 20:25:13 -0700 +Subject: [PATCH 07/29] Support underquoted callers better +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported bh Khem Raj for mcpp 2.7.2 (2008) in: +https://lists.gnu.org/r/autoconf/2023-04/msg00001.html +* lib/autoconf/programs.m4 (_AC_PATH_PROG_FLAVOR_GNU): +Add two ‘@%:@(’s to cater to underquoted callers. +* lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Use quadrigraph instead of +‘#’, for underquoted callers. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/programs.m4 | 5 +++-- + lib/m4sugar/m4sh.m4 | 2 +- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4 +index 62ba6b8b6..d06d18c44 100644 +--- a/lib/autoconf/programs.m4 ++++ b/lib/autoconf/programs.m4 +@@ -543,11 +543,12 @@ dnl # for best performing tool in a list breaks down. + # ---------------------------------------------------------------- + m4_define([_AC_PATH_PROG_FLAVOR_GNU], + [# Check for GNU $1 +-case `"$1" --version 2>&1` in ++case `"$1" --version 2>&1` in @%:@( + *GNU*) + $2;; + m4_ifval([$3], +-[*) ++[@%:@( ++*) + $3;; + ])esac + ])# _AC_PATH_PROG_FLAVOR_GNU +diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4 +index ab5ca7db7..368487fa0 100644 +--- a/lib/m4sugar/m4sh.m4 ++++ b/lib/m4sugar/m4sh.m4 +@@ -1389,7 +1389,7 @@ m4_if([$1], m4_translit([[$1]], [:;]), + for as_dir in $as_dummy]) + do + IFS=$as_save_IFS +- case $as_dir in #((( ++ case $as_dir in @%:@((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; +-- +2.41.0 + 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 new file mode 100644 index 00000000000..cec7dcddefe --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch @@ -0,0 +1,54 @@ +From 8babe5f2ccb73cc574933743b381557a4db02424 Mon Sep 17 00:00:00 2001 +From: Zack Weinberg +Date: Thu, 30 Mar 2023 10:50:36 -0400 +Subject: [PATCH 08/29] New script for building inside Guix containers. + +build-aux/test-build-guix, goes with the top level manifest.scm. +See the top of the file for usage instructions. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + build-aux/test-build-guix | 30 ++++++++++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + create mode 100755 build-aux/test-build-guix + +diff --git a/build-aux/test-build-guix b/build-aux/test-build-guix +new file mode 100755 +index 000000000..4470af9b7 +--- /dev/null ++++ b/build-aux/test-build-guix +@@ -0,0 +1,30 @@ ++#! /bin/sh ++ ++# From a pristine Git checkout, run ++# guix shell --container --manifest=manifest.scm -- build-aux/test-build-guix ++# to perform a complete bootstrap and test build of Autoconf. ++ ++set -ex ++ ++# Guix bug? /bin/sh is usually *not* the shell specified in the manifest. ++SHELL="$(command -v sh)" ++export SHELL ++if [ "$(realpath /bin/sh)" != "$(realpath "$SHELL")" ]; then ++ ( ++ cd /bin ++ rm sh ++ ln -s "$SHELL" sh ++ ) ++ exec "$SHELL" "$0" "$@" ++fi ++ ++./bootstrap ++if [ -d _build ]; then ++ rm -rf _build/* ++else ++ mkdir _build ++fi ++cd _build ++../configure ++make all info pdf dvi ++make distcheck +-- +2.41.0 + 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 new file mode 100644 index 00000000000..c1c60dcf53f --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch @@ -0,0 +1,82 @@ +From dcf9bb7e3b12f3bd74edff60e80b53e668159579 Mon Sep 17 00:00:00 2001 +From: Zack Weinberg +Date: Sun, 2 Apr 2023 10:27:08 -0400 +Subject: [PATCH 09/29] AC_XENIX_DIR: Rewrite using AC_CANONICAL_HOST. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +AC_XENIX_DIR is an obsolete macro, defined as AC_HEADER_DIRENT plus +code to make absolutely sure configure scripts that depended on a +shell variable internal to the original (2.13 era) definition of +AC_XENIX_DIR are not broken by autoupdate. (That variable had the +temptingly public-sounding name “XENIX.”) This compatibility code +uses AC_EGREP_CPP, which is itself discouraged for use in new +configure scripts. + +(N.B. codesearch.debian.net does not find any uses whatsoever of +this macro, nor any code in an .ac or .m4 file that depends on the +XENIX variable.) + +Change the compatibility code to use AC_CANONICAL_HOST instead, +and clarify which pieces of the code inserted by autoupdate are +probably still necessary. + +* lib/autoconf/specific.m4 (AC_XENIX_DIR): Set XENIX variable + based on value of host_os. Clarify what manual cleanup is + recommended after autoupdate replaces this obsolete macro. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/specific.m4 | 26 +++++++++++--------------- + 1 file changed, 11 insertions(+), 15 deletions(-) + +diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 +index 1b3ee661b..a2dc5d488 100644 +--- a/lib/autoconf/specific.m4 ++++ b/lib/autoconf/specific.m4 +@@ -754,9 +754,9 @@ dnl it should only be defined when necessary. + ## Checks for UNIX variants. ## + ## -------------------------- ## + +- +-# These are kludges which should be replaced by a single POSIX check. +-# They aren't cached, to discourage their use. ++# These macros are all obsolete, from the early days of Autoconf, ++# before the invention of AC_CANONICAL_SYSTEM. Autoupdate will ++# replace each with inline code for a more modern feature check. + + # AC_AIX + # ------ +@@ -776,19 +776,15 @@ AU_DEFUN([AC_ISC_POSIX], [AC_SEARCH_LIBS([strerror], [cposix])]) + # AC_XENIX_DIR + # ------------ + AU_DEFUN([AC_XENIX_DIR], +-[AC_MSG_CHECKING([for Xenix]) +-AC_EGREP_CPP([yes], +-[#if defined M_XENIX && ! defined M_UNIX +- yes +-@%:@endif], +- [AC_MSG_RESULT([yes]); XENIX=yes], +- [AC_MSG_RESULT([no]); XENIX=]) +- +-AC_HEADER_DIRENT[]dnl ++[AC_HEADER_DIRENT ++# Autoupdate added the next two lines to ensure that your configure ++# script's behavior did not change. They are safe to remove unless ++# you have code that depends on the XENIX shell variable. ++AC_CANONICAL_HOST ++AS_CASE([$host_os], [xenix*], [XENIX=yes], [XENIX=no]) ++# End of code added by autoupdate + ], +-[You shouldn't need to depend upon XENIX. Remove the +-'AC_MSG_CHECKING', 'AC_EGREP_CPP', and this warning if this part +-of the test is useless.]) ++[Check for code depending on the XENIX shell variable.]) + + + # AC_DYNIX_SEQ +-- +2.41.0 + 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 new file mode 100644 index 00000000000..49322712ac2 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch @@ -0,0 +1,77 @@ +From 51d98495d1aac00970d791f064e83ca762bf81c7 Mon Sep 17 00:00:00 2001 +From: Zack Weinberg +Date: Sun, 2 Apr 2023 10:43:51 -0400 +Subject: [PATCH 10/29] AC_TYPE_UID_T: Rewrite using AC_CHECK_TYPE. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +AC_TYPE_UID_T uses AC_EGREP_HEADER to search sys/types.h for +occurrences of the string ‘uid_t’ and, if found, assumes both +uid_t and gid_t are available. This would be better done using +a pair of AC_CHECK_TYPE operations. + +I also converted two uses of old-style AC_CHECK_TYPE, immediately +below, to new-style. (There are probably other old-style uses in +this file, I only did the ones I happened to see.) + +* lib/autoconf/types.m4 (AC_TYPE_UID_T): Check for uid_t and gid_t, + separately, using AC_CHECK_TYPE, instead of grepping sys/types.h. + (AC_TYPE_SIZE_T, AC_TYPE_SSIZE_T): Use new-style AC_CHECK_TYPE. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/types.m4 | 30 +++++++++++++++++------------- + 1 file changed, 17 insertions(+), 13 deletions(-) + +diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4 +index ebac0cf6d..ef2456135 100644 +--- a/lib/autoconf/types.m4 ++++ b/lib/autoconf/types.m4 +@@ -589,25 +589,29 @@ AC_DEFUN([AC_TYPE_MBSTATE_T], + + # AC_TYPE_UID_T + # ------------- +-# FIXME: Rewrite using AC_CHECK_TYPE. + AN_IDENTIFIER([gid_t], [AC_TYPE_UID_T]) + AN_IDENTIFIER([uid_t], [AC_TYPE_UID_T]) + AC_DEFUN([AC_TYPE_UID_T], +-[AC_CACHE_CHECK(for uid_t in sys/types.h, ac_cv_type_uid_t, +-[AC_EGREP_HEADER(uid_t, sys/types.h, +- ac_cv_type_uid_t=yes, ac_cv_type_uid_t=no)]) +-if test $ac_cv_type_uid_t = no; then +- AC_DEFINE(uid_t, int, [Define to 'int' if doesn't define.]) +- AC_DEFINE(gid_t, int, [Define to 'int' if doesn't define.]) +-fi +-]) +- +- ++[AC_CHECK_TYPE([uid_t], [], ++ [AC_DEFINE([uid_t], [int], ++ [Define as 'int' if doesn't define.])]) ++AC_CHECK_TYPE([gid_t], [], ++ [AC_DEFINE([gid_t], [int], ++ [Define as 'int' if doesn't define.])])]) ++ ++# This should be obsoleted, size_t is in C90. + AN_IDENTIFIER([size_t], [AC_TYPE_SIZE_T]) +-AC_DEFUN([AC_TYPE_SIZE_T], [AC_CHECK_TYPE(size_t, unsigned int)]) ++AC_DEFUN([AC_TYPE_SIZE_T], ++[AC_CHECK_TYPE([size_t], [], ++ [AC_DEFINE([size_t], [unsigned int], ++ [Define as 'unsigned int' if doesn't define.])])]) + + AN_IDENTIFIER([ssize_t], [AC_TYPE_SSIZE_T]) +-AC_DEFUN([AC_TYPE_SSIZE_T], [AC_CHECK_TYPE(ssize_t, int)]) ++AC_DEFUN([AC_TYPE_SSIZE_T], ++[AC_CHECK_TYPE([ssize_t], [], ++ [AC_DEFINE([ssize_t], [int], ++ [Define as 'int' if doesn't define.])])]) ++ + + AN_IDENTIFIER([pid_t], [AC_TYPE_PID_T]) + AC_DEFUN([AC_TYPE_PID_T], +-- +2.41.0 + 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 new file mode 100644 index 00000000000..9c1f435d530 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch @@ -0,0 +1,180 @@ +From daaca7f74f94d6a7a51d571156d5fbaba5ef9a87 Mon Sep 17 00:00:00 2001 +From: Zack Weinberg +Date: Sun, 2 Apr 2023 21:03:30 -0400 +Subject: [PATCH 11/29] Make AC_PROG_GCC_TRADITIONAL a compatibility alias for + AC_PROG_CC. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This macro is one of the last remaining internal uses of AC_EGREP_CPP. +It has only ever done anything useful with GCC, and GCC dropped +support for ‘traditional’ compilation in version 3.3 (released 2003) +so I do not think it is worth trying to preserve. + +* lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL): Make into a + compatibility alias for AC_PROG_CC, similar to AC_PROG_CC_STDC. +* lib/autoconf/general.m4 (AC_EGREP_CPP): Remove stale comment. +* doc/autoconf.texi, NEWS: Document this change. +* tests/mktests.pl: Exclude AC_PROG_GCC_TRADITIONAL from + autoupdate tests. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + NEWS | 7 +++++++ + doc/autoconf.texi | 29 ++++++++++++++--------------- + lib/autoconf/c.m4 | 30 ++++++------------------------ + lib/autoconf/general.m4 | 2 -- + tests/mktests.pl | 2 +- + 5 files changed, 28 insertions(+), 42 deletions(-) + +diff --git a/NEWS b/NEWS +index 6a106f155..53c57ff59 100644 +--- a/NEWS ++++ b/NEWS +@@ -81,6 +81,13 @@ GNU Autoconf NEWS - User visible changes. + with plain apostrophes instead of the older GNU style `like this' + with grave accent and apostrophe. + ++*** AC_PROG_GCC_TRADITIONAL no longer does anything. ++ ++ This macro has had no useful effect since GCC dropped support for ++ traditional-mode compilation in version 3.3 (released in 2003), and ++ the systems that needed it are also long obsolete. It is now a ++ compatibility synonym for AC_PROG_CC. ++ + ** Notable bug fixes + + *** Autoconf caches now use finer-grained timestamps. +diff --git a/doc/autoconf.texi b/doc/autoconf.texi +index 8db64d8bb..037c8055f 100644 +--- a/doc/autoconf.texi ++++ b/doc/autoconf.texi +@@ -7764,20 +7764,6 @@ This macro is obsolescent, as current C compilers support prototypes. + New programs need not use this macro. + @end defmac + +-@anchor{AC_PROG_GCC_TRADITIONAL} +-@defmac AC_PROG_GCC_TRADITIONAL +-@acindex{PROG_GCC_TRADITIONAL} +-@ovindex CC +-Add @option{-traditional} to output variable @code{CC} if using a +-GNU C compiler and @code{ioctl} does not work properly without +-@option{-traditional}. That usually happens when the fixed header files +-have not been installed on an old system. +- +-This macro is obsolescent, since current versions of the GNU C +-compiler fix the header files automatically when installed. +-@end defmac +- +- + @node C++ Compiler + @subsection C++ Compiler Characteristics + +@@ -23986,7 +23972,8 @@ These days portable programs should use @code{waitpid}, not + + @defmac AC_GCC_TRADITIONAL + @acindex{GCC_TRADITIONAL} +-Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}). ++Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}), ++which is itself obsolete. + @end defmac + + @defmac AC_GETGROUPS_T +@@ -24369,6 +24356,18 @@ Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}). + Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}). + @end defmac + ++@anchor{AC_PROG_GCC_TRADITIONAL} ++@defmac AC_PROG_GCC_TRADITIONAL ++@acindex{PROG_GCC_TRADITIONAL} ++Used to put GCC into ``traditional'' (pre-ISO C) compilation mode, ++on systems with headers that did not work correctly with a ++standard-compliant compiler. GCC has not supported traditional ++compilation in many years, and all of the systems that required this are ++long obsolete themselves. This macro is now a compatibility synonym for ++@code{AC_PROG_CC} (@pxref{AC_PROG_CC}). ++ ++@end defmac ++ + @defmac AC_PROGRAMS_CHECK + @acindex{PROGRAMS_CHECK} + Replaced by @code{AC_CHECK_PROGS} (@pxref{AC_CHECK_PROGS}). +diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 +index fef6c516d..33648b5b9 100644 +--- a/lib/autoconf/c.m4 ++++ b/lib/autoconf/c.m4 +@@ -551,30 +551,6 @@ fi[]dnl + ])# _AC_PROG_CC_G + + +-# AC_PROG_GCC_TRADITIONAL +-# ----------------------- +-AC_DEFUN([AC_PROG_GCC_TRADITIONAL], +-[AC_REQUIRE([AC_PROG_CC])dnl +-if test $ac_cv_c_compiler_gnu = yes; then +- AC_CACHE_CHECK(whether $CC needs -traditional, +- ac_cv_prog_gcc_traditional, +-[ ac_pattern="Autoconf.*'x'" +- AC_EGREP_CPP($ac_pattern, [#include +-Autoconf TIOCGETP], +- ac_cv_prog_gcc_traditional=yes, ac_cv_prog_gcc_traditional=no) +- +- if test $ac_cv_prog_gcc_traditional = no; then +- AC_EGREP_CPP($ac_pattern, [#include +-Autoconf TCGETA], +- ac_cv_prog_gcc_traditional=yes) +- fi]) +- if test $ac_cv_prog_gcc_traditional = yes; then +- CC="$CC -traditional" +- fi +-fi +-])# AC_PROG_GCC_TRADITIONAL +- +- + # AC_PROG_CC_C_O + # -------------- + AC_DEFUN([AC_PROG_CC_C_O], +@@ -1675,6 +1651,12 @@ AU_DEFUN([AC_PROG_CC_STDC], + [$0 is obsolete; use AC_PROG_CC] + ) + ++# AC_PROG_GCC_TRADITIONAL ++# ----------------------- ++AU_DEFUN([AC_PROG_GCC_TRADITIONAL], ++ [AC_REQUIRE([AC_PROG_CC])], ++ [$0 is obsolete; use AC_PROG_CC] ++) + + # AC_C_BACKSLASH_A + # ---------------- +diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4 +index ecda0a51c..47d896d54 100644 +--- a/lib/autoconf/general.m4 ++++ b/lib/autoconf/general.m4 +@@ -2766,8 +2766,6 @@ AU_DEFUN([AC_TRY_CPP], + # AC_EGREP_CPP(PATTERN, PROGRAM, + # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) + # ------------------------------------------------------ +-# Because this macro is used by AC_PROG_GCC_TRADITIONAL, which must +-# come early, it is not included in AC_BEFORE checks. + AC_DEFUN([AC_EGREP_CPP], + [AC_LANG_PREPROC_REQUIRE()dnl + AC_REQUIRE([_AC_PROG_EGREP_TRADITIONAL])dnl +diff --git a/tests/mktests.pl b/tests/mktests.pl +index effed0bca..81f63586c 100644 +--- a/tests/mktests.pl ++++ b/tests/mktests.pl +@@ -112,7 +112,7 @@ my @ac_exclude_list = ( + # Check all AU_DEFUN'ed macros with AT_CHECK_AU_MACRO, except these. + my @au_exclude_list = ( + # Empty. +- qr/^AC_(C_CROSS|PROG_CC_(C[89]9|STDC))$/, ++ qr/^AC_(C_CROSS|PROG_(CC_(C[89]9|STDC)|GCC_TRADITIONAL))$/, + + # Use AC_REQUIRE. + qr/^AC_(CYGWIN|MINGW32|EMXOS2)$/, +-- +2.41.0 + 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 new file mode 100644 index 00000000000..4d28101b46f --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch @@ -0,0 +1,328 @@ +From b5891a57b586ef6ff78bb752d62915b78cd58d7e Mon Sep 17 00:00:00 2001 +From: Zack Weinberg +Date: Sun, 2 Apr 2023 15:07:58 -0400 +Subject: [PATCH 12/29] Overhaul AC_TYPE_GETGROUPS and AC_FUNC_GETGROUPS. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +AC_TYPE_GETGROUPS is the last remaining use of AC_EGREP_HEADER in +stock Autoconf macros. It uses it only when cross compiling, as a +fallback from an AC_RUN_IFELSE check, testing for a bug in system +headers from the late 1980s or early 1990s, where gid_t *existed* +but the second argument to getgroups needed to be an array of int, +and this didn’t cause a compile error (i.e. the system headers +declare getgroups with no prototype or an incorrect prototype). +AC_FUNC_GETGROUPS also uses AC_RUN_IFELSE to test for obscure +problems specific to long-obsolete Unixes. + +The downsides of AC_RUN_IFELSE and AC_EGREP_HEADER seem more severe +than the chances of someone compiling a current-generation program, +that uses getgroups, on an OS old enough to have one of the really +nasty bugs. Accordingly, this patch changes AC_FUNC_GETGROUPS to use +a host_os-based *blacklist* both in native and cross compilation. +This is limited to the two host_os values for which either our old +code, or Gnulib, documented a serious bug: ultrix* and nextstep*. +Currently it does not try to pin down the exact version ranges subject +to the bugs — that would require research by someone with access to +the full history of these OSes. + +An incorrect guess by this blacklist can be overridden by setting +ac_cv_func_getgroups_works in config.site. AC_TYPE_GETGROUPS, for its +part, now does a series of regular old AC_COMPILE_IFELSE checks to +probe the prototype of getgroups, and considers that good enough. + +While I was in there I noticed that AC_FUNC_GETGROUPS does not +AC_SUBST a documented output variable, and that the name of this +variable is misspelled in the manual. + +* lib/autoconf/functions.m4 (AC_FUNC_GETGROUPS): Use AC_SEARCH_LIBS + to probe for getgroups. Use an AC_CANONICAL_HOST-based blacklist + for bug detection, not AC_RUN_IFELSE. AC_SUBST the GETGROUPS_LIB + output variable. +* lib/autoconf/types.m4 (AC_TYPE_GETGROUPS): Check only the prototype + of getgroups, using AC_COMPILE_IFELSE; do not use either AC_RUN_IFELSE + or AC_EGREP_HEADER. +* doc/autoconf.texi: Update to match. Correct misspelling of + GETGROUPS_LIB. +* tests.local.at (_AT_CHECK_ENV): Allow GETGROUPS_LIB output variable. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + NEWS | 11 +++++ + doc/autoconf.texi | 25 ++++++---- + lib/autoconf/functions.m4 | 61 ++++++++++++------------ + lib/autoconf/types.m4 | 97 ++++++++++++++++++++++++--------------- + tests/local.at | 2 +- + 5 files changed, 120 insertions(+), 76 deletions(-) + +diff --git a/NEWS b/NEWS +index 53c57ff59..8e4ecc1bf 100644 +--- a/NEWS ++++ b/NEWS +@@ -38,6 +38,17 @@ GNU Autoconf NEWS - User visible changes. + This matters only for uses that, contrary to the documentation + and despite warnings, use m4_divert with numbered diversions. + ++*** AC_FUNC_GETGROUPS and AC_TYPE_GETGROUPS no longer run test programs. ++ These macros were testing for OS bugs that we believe are at least ++ twenty years in the past. Most operating systems are now trusted to ++ provide an accurate prototype for getgroups in unistd.h, and to ++ implement it as specified in POSIX. ++ ++ AC_FUNC_GETGROUPS still includes a short blacklist of OSes with ++ known, severe bugs in getgroups. It can be overridden using ++ config.site. If you encounter a mistake in this blacklist ++ please report it to bug-autoconf. ++ + ** New features + + *** New macro AC_SYS_YEAR2038. +diff --git a/doc/autoconf.texi b/doc/autoconf.texi +index 037c8055f..5d5f613e6 100644 +--- a/doc/autoconf.texi ++++ b/doc/autoconf.texi +@@ -5257,17 +5257,26 @@ and also contains workarounds for other portability problems of + @defmac AC_FUNC_GETGROUPS + @acindex{FUNC_GETGROUPS} + @cvindex HAVE_GETGROUPS +-@ovindex GETGROUPS_LIBS ++@ovindex GETGROUPS_LIB + @c @fuindex getgroups + @prindex @code{getgroups} + @caindex func_getgroups_works +-If the @code{getgroups} function is available and works, +-define @code{HAVE_GETGROUPS}. Set @code{GETGROUPS_LIBS} to any libraries +-needed to get that function. This macro runs @code{AC_TYPE_GETGROUPS}. +- +-This macro is obsolescent. New programs need not use this macro. But +-they may want to use the Gnulib module @code{getgroups}, which provides +-workarounds to other portability problems of this function. ++Perform all the checks performed by @code{AC_TYPE_GETGROUPS} ++(@pxref{AC_TYPE_GETGROUPS}). ++Then, if the @code{getgroups} function is available ++and known to work correctly, define @code{HAVE_GETGROUPS}. ++Set the output variable @code{GETGROUPS_LIB} to any libraries ++needed to get that function. ++ ++This macro relies on a list of systems with known, serious bugs in ++@code{getgroups}. If this list mis-identifies your system's ++@code{getgroups} as buggy, or as not buggy, you can override it by ++setting the cache variable @code{ac_cv_func_getgroups_works} in a ++@file{config.site} file (@pxref{Site Defaults}). Please also report the ++error to @email{bug-autoconf@@gnu.org, the Autoconf Bugs mailing list}. ++ ++The Gnulib module @code{getgroups} provides workarounds for additional, ++less severe portability problems with this function. + @end defmac + + @anchor{AC_FUNC_GETLOADAVG} +diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 +index 655d6ba8f..74512e97d 100644 +--- a/lib/autoconf/functions.m4 ++++ b/lib/autoconf/functions.m4 +@@ -698,47 +698,46 @@ AS_IF([test "$ac_cv_func_fseeko_ftello" = "need _LARGEFILE_SOURCE"], + # When cross-compiling, assume getgroups is broken. + AN_FUNCTION([getgroups], [AC_FUNC_GETGROUPS]) + AC_DEFUN([AC_FUNC_GETGROUPS], +-[AC_REQUIRE([AC_TYPE_GETGROUPS])dnl +-AC_REQUIRE([AC_TYPE_SIZE_T])dnl +-AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles +-AC_CHECK_FUNC(getgroups) ++[AC_REQUIRE([AC_CANONICAL_HOST])dnl ++AC_REQUIRE([AC_TYPE_GETGROUPS])dnl + +-# If we don't yet have getgroups, see if it's in -lbsd. ++# On older systems getgroups might be in -lbsd. + # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1. + ac_save_LIBS=$LIBS +-if test $ac_cv_func_getgroups = no; then +- AC_CHECK_LIB(bsd, getgroups, [GETGROUPS_LIB=-lbsd]) +-fi +- +-# Run the program to test the functionality of the system-supplied +-# getgroups function only if there is such a function. ++LIBS= ++GETGROUPS_LIB= ++AC_SEARCH_LIBS([getgroups], [bsd], ++ [test "$ac_res" = "none required" || GETGROUPS_LIB="$ac_res" ++ ac_cv_func_getgroups=yes], ++ [ac_cv_func_getgroups=no]) ++LIBS=$ac_save_LIBS ++AC_SUBST([GETGROUPS_LIB]) ++ ++# Known severe bugs in getgroups on particular systems. ++# - On Ultrix 4.3 and NextSTEP 3.2, getgroups (0, 0) is reported to ++# fail, rather than returning the number of supplementary groups as ++# it ought to. We do not know the exact range of releases affected ++# in either case. ++# We currently reject all versions of the systems with known bugs, and ++# no other systems. Please send corrections to bug-autoconf@gnu.org. + if test $ac_cv_func_getgroups = yes; then ++ # This AC_CACHE_CHECK exists so that one may override an incorrect ++ # guess by setting ac_cv_func_getgroups_works in a config.site file. + AC_CACHE_CHECK([for working getgroups], ac_cv_func_getgroups_works, +- [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], +- [[/* On Ultrix 4.3, getgroups (0, 0) always fails. */ +- return getgroups (0, 0) == -1;]])], +- [ac_cv_func_getgroups_works=yes], +- [ac_cv_func_getgroups_works=no], +- [case "$host_os" in # (( +- # Guess yes on glibc systems. +- *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;; +- # If we don't know, assume the worst. +- *) ac_cv_func_getgroups_works="guessing no" ;; +- esac]) +- ]) ++ [AS_CASE([$host_os], ++ [ultrix* | nextstep*], ++ [ac_cv_func_getgroups_works=no # getgroups(0,0) fails ++], ++ [ac_cv_func_getgroups_works=yes])]) + else + ac_cv_func_getgroups_works=no + fi +-case "$ac_cv_func_getgroups_works" in +- *yes) +- AC_DEFINE(HAVE_GETGROUPS, 1, +- [Define to 1 if your system has a working 'getgroups' function.]) +- ;; +-esac +-LIBS=$ac_save_LIBS ++if test $ac_cv_func_getgroups_works = yes; then ++ AC_DEFINE(HAVE_GETGROUPS, 1, ++ [Define to 1 if your system has a working 'getgroups' function.]) ++fi + ])# AC_FUNC_GETGROUPS + +- + # _AC_LIBOBJ_GETLOADAVG + # --------------------- + # Set up the AC_LIBOBJ replacement of 'getloadavg'. +diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4 +index ef2456135..af3872b2f 100644 +--- a/lib/autoconf/types.m4 ++++ b/lib/autoconf/types.m4 +@@ -258,44 +258,69 @@ AN_IDENTIFIER([ptrdiff_t], [AC_CHECK_TYPES]) + # AC_TYPE_GETGROUPS + # ----------------- + AC_DEFUN([AC_TYPE_GETGROUPS], ++dnl We now unconditionally assume that if has a prototype for ++dnl getgroups, it is accurate; and that if does _not_ declare ++dnl getgroups with a prototype, the second argument is an array of int. ++dnl (Older versions of Autoconf made these assumptions only when cross ++dnl compiling.) See AC_FUNC_GETGROUPS, over in functions.m4, for why ++dnl this uses AC_COMPILE_IFELSE rather than AC_LINK_IFELSE. + [AC_REQUIRE([AC_TYPE_UID_T])dnl +-AC_CACHE_CHECK(type of array argument to getgroups, ac_cv_type_getgroups, +-[AC_RUN_IFELSE([AC_LANG_SOURCE( +-[[/* Thanks to Mike Rendell for this test. */ +-]AC_INCLUDES_DEFAULT[ +-#define NGID 256 +-#undef MAX +-#define MAX(x, y) ((x) > (y) ? (x) : (y)) +- +-int +-main (void) +-{ +- gid_t gidset[NGID]; +- int i, n; +- union { gid_t gval; long int lval; } val; +- +- val.lval = -1; +- for (i = 0; i < NGID; i++) +- gidset[i] = val.gval; +- n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1, +- gidset); +- /* Exit non-zero if getgroups seems to require an array of ints. This +- happens when gid_t is short int but getgroups modifies an array +- of ints. */ +- return n > 0 && gidset[n] != val.gval; +-}]])], +- [ac_cv_type_getgroups=gid_t], +- [ac_cv_type_getgroups=int], +- [ac_cv_type_getgroups=cross]) +-if test $ac_cv_type_getgroups = cross; then +- dnl When we can't run the test program (we are cross compiling), presume +- dnl that has either an accurate prototype for getgroups or none. +- dnl Old systems without prototypes probably use int. +- AC_EGREP_HEADER([getgroups.*int.*gid_t], unistd.h, +- ac_cv_type_getgroups=gid_t, ac_cv_type_getgroups=int) +-fi]) ++AC_CACHE_CHECK([type of array argument to getgroups], ac_cv_type_getgroups, ++[# If AC_TYPE_UID_T says there isn't any gid_t typedef, then we can skip ++# everything below. ++AS_IF([test $ac_cv_type_gid_t = no], ++ [ac_cv_type_getgroups=int], ++ [# Test programs below rely on strict type checking of extern declarations: ++ # 'extern int getgroups(int, int *); extern int getgroups(int, pid_t *);' ++ # is valid in C89 if and only if pid_t is a typedef for int. Unlike ++ # anything involving either an assignment or a function call, compilers ++ # tend to make this kind of type mismatch a hard error, not just an ++ # "incompatible pointer types" warning. ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM( ++[AC_INCLUDES_DEFAULT ++[extern int getgroups(int, gid_t *);]], ++[[return !(getgroups(0, 0) >= 0);]])], ++ [ac_getgroups_gidarray=yes], ++ [ac_getgroups_gidarray=no]) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM( ++[AC_INCLUDES_DEFAULT ++[extern int getgroups(int, int *);]], ++[[return !(getgroups(0, 0) >= 0);]])], ++ [ac_getgroups_intarray=yes], ++ [ac_getgroups_intarray=no]) ++ ++ AS_CASE([int:$ac_getgroups_intarray,gid:$ac_getgroups_gidarray], ++ [int:yes,gid:no], [ac_cv_type_getgroups=int], ++ [int:no,gid:yes], [ac_cv_type_getgroups=gid_t], ++ [int:yes,gid:yes], [ ++ # Both programs compiled - this means *either* that getgroups ++ # was declared with no prototype, in which case we should use int, ++ # or that it was declared prototyped but gid_t is a typedef for int, ++ # in which case we should use gid_t. Distinguish the two cases ++ # by testing if the compiler catches a blatantly incorrect function ++ # signature for getgroups. ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM( ++[AC_INCLUDES_DEFAULT ++[extern int getgroups(int, float);]], ++[[return !(getgroups(0, 0) >= 0);]])], [ ++ # Compiler did not catch incorrect argument list; ++ # getgroups is unprototyped. ++ ac_cv_type_getgroups=int ++ ], [ ++ # Compiler caught incorrect argument list; ++ # gid_t is a typedef for int. ++ ac_cv_type_getgroups=gid_t ++ ]) ++ ], [ ++ # Both programs failed to compile - this probably means getgroups ++ # wasn't declared at all. Use 'int', as this is probably a very ++ # old system where the type _would have been_ int. ++ ac_cv_type_getgroups=int ++ ]) ++ ]) ++])dnl AC_CACHE_CHECK + AC_DEFINE_UNQUOTED(GETGROUPS_T, $ac_cv_type_getgroups, +- [Define to the type of elements in the array set by ++ [Define to the type of elements in the array argument to + 'getgroups'. Usually this is either 'int' or 'gid_t'.]) + ])# AC_TYPE_GETGROUPS + +diff --git a/tests/local.at b/tests/local.at +index 64a9fb264..db49f84a9 100644 +--- a/tests/local.at ++++ b/tests/local.at +@@ -401,7 +401,7 @@ if test -f state-env.before && test -f state-env.after; then + [interpval|PATH_SEPARATOR], + [GFC|F77_DUMMY_MAIN|f77_(case|underscore)], + [FC(_DUMMY_MAIN|FLAGS|LIBS|FLAGS_[fF]|_MODEXT|_MODINC|_MODOUT|_DEFINE)?], +- [ALLOCA|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB], ++ [ALLOCA|GETGROUPS_LIB|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB], + [AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|MKDIR_P|AR|RANLIB|SET_MAKE|YACC], + [EGREP_TRADITIONAL], + [GREP|[EF]GREP|SED], +-- +2.41.0 + 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 new file mode 100644 index 00000000000..2dadd833203 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch @@ -0,0 +1,84 @@ +From a7dc6d83c7d12b8409c512c3c10ad29f01e6c164 Mon Sep 17 00:00:00 2001 +From: Zack Weinberg +Date: Sun, 2 Apr 2023 21:54:31 -0400 +Subject: [PATCH 13/29] Fold AC_C_STRINGIZE into AC_PROG_CC. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Another of the last few uses of AC_EGREP_CPP is to check for the ISO C +“stringification” operator. As this is a feature of C89, let’s fold +the test into the extensive C89 tests we already have, and make +AC_C_STRINGIZE just lean on AC_PROG_CC, in the same way +AC_C_PROTOTYPES does. + +* lib/autoconf/c.m4 (_AC_C_C89_TEST_GLOBALS): Add test of preprocessor + stringification and token pasting. + (AC_C_STRINGIZE): Just check ac_prog_cc_stdc. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/c.m4 | 31 ++++++++++++++++++++----------- + 1 file changed, 20 insertions(+), 11 deletions(-) + +diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 +index 33648b5b9..c8c6a665c 100644 +--- a/lib/autoconf/c.m4 ++++ b/lib/autoconf/c.m4 +@@ -1143,6 +1143,21 @@ static char *f (char * (*g) (char **, int), char **p, ...) + return s; + } + ++/* C89 style stringification. */ ++#define noexpand_stringify(a) #a ++const char *stringified = noexpand_stringify(arbitrary+token=sequence); ++ ++/* C89 style token pasting. Exercises some of the corner cases that ++ e.g. old MSVC gets wrong, but not very hard. */ ++#define noexpand_concat(a,b) a##b ++#define expand_concat(a,b) noexpand_concat(a,b) ++extern int vA; ++extern int vbee; ++#define aye A ++#define bee B ++int *pvA = &expand_concat(v,aye); ++int *pvbee = &noexpand_concat(v,bee); ++ + /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated +@@ -2112,16 +2127,10 @@ fi + # -------------- + # Checks if '#' can be used to glue strings together at the CPP level. + # Defines HAVE_STRINGIZE if positive. ++# Obsolete - new code should assume C89 compliance. + AC_DEFUN([AC_C_STRINGIZE], +-[AC_CACHE_CHECK([for preprocessor stringizing operator], +- [ac_cv_c_stringize], +-[AC_EGREP_CPP([@%:@teststring], +- [@%:@define x(y) #y +- +-char *s = x(teststring);], +- [ac_cv_c_stringize=no], +- [ac_cv_c_stringize=yes])]) +-if test $ac_cv_c_stringize = yes; then ++[AC_REQUIRE([AC_PROG_CC]) ++if test "$ac_prog_cc_stdc" != no; then + AC_DEFINE(HAVE_STRINGIZE, 1, + [Define to 1 if cpp supports the ANSI @%:@ stringizing operator.]) + fi +@@ -2130,8 +2139,8 @@ fi + + # AC_C_PROTOTYPES + # --------------- +-# Check if the C compiler supports prototypes, included if it needs +-# options. ++# Check if the C compiler supports prototypes. ++# Obsolete - new code should assume C89 compliance. + AC_DEFUN([AC_C_PROTOTYPES], + [AC_REQUIRE([AC_PROG_CC])dnl + if test "$ac_prog_cc_stdc" != no; then +-- +2.41.0 + 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 new file mode 100644 index 00000000000..85e9a45615f --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch @@ -0,0 +1,116 @@ +From e25dfa75e18295d28de67747b4ff9d65f65c4f06 Mon Sep 17 00:00:00 2001 +From: Zack Weinberg +Date: Sun, 2 Apr 2023 22:17:55 -0400 +Subject: [PATCH 14/29] Remove the last few internal uses of AC_EGREP_CPP. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Most of the remaining uses were converted to AC_COMPILE_IFELSE. +The use in AC_FUNC_LOADAVG becomes an AC_PREPROC_IFELSE because +we can’t be sure getloadavg.c can be _compiled_ at this point in +the build. The use in AC_C_VARARRAYS could be either _PREPROC_ or +_COMPILE_; we use _COMPILE_ because, _PREPROC_ is never used, then +we don’t have to do the “checking how to run the C preprocessor” test. + +* lib/autoconf/c.m4 (AC_C_VARARRAYS): Use AC_COMPILE_IFELSE instead of + AC_EGREP_CPP. +* lib/autoconf/headers.m4 (_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H) + (_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL_H): Likewise. +* lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Use AC_PREPROC_IFELSE + instead of AC_EGREP_CPP. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/c.m4 | 8 ++++---- + lib/autoconf/functions.m4 | 10 +++++----- + lib/autoconf/headers.m4 | 24 ++++++++++-------------- + 3 files changed, 19 insertions(+), 23 deletions(-) + +diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 +index c8c6a665c..b8350c339 100644 +--- a/lib/autoconf/c.m4 ++++ b/lib/autoconf/c.m4 +@@ -2197,11 +2197,11 @@ AC_DEFUN([AC_C_VARARRAYS], + [ + AC_CACHE_CHECK([for variable-length arrays], + ac_cv_c_vararrays, +- [AC_EGREP_CPP([defined], +- [#ifdef __STDC_NO_VLA__ +- defined ++ [AC_COMPILE_IFELSE([AC_LANG_SOURCE( ++[[ #ifndef __STDC_NO_VLA__ ++ #error __STDC_NO_VLA__ not defined + #endif +- ], ++]])], + [ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( +diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 +index 74512e97d..499e4c024 100644 +--- a/lib/autoconf/functions.m4 ++++ b/lib/autoconf/functions.m4 +@@ -842,11 +842,11 @@ AC_CHECK_FUNCS(getloadavg, [], + # Some definitions of getloadavg require that the program be installed setgid. + AC_CACHE_CHECK(whether getloadavg requires setgid, + ac_cv_func_getloadavg_setgid, +-[AC_EGREP_CPP([Yowza Am I SETGID yet], +-[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c" +-#ifdef LDAV_PRIVILEGED +-Yowza Am I SETGID yet +-@%:@endif], ++[AC_PREPROC_IFELSE([AC_LANG_SOURCE( ++[[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c" ++#ifndef LDAV_PRIVILEGED ++#error setgid not needed ++@%:@endif]])], + ac_cv_func_getloadavg_setgid=yes, + ac_cv_func_getloadavg_setgid=no)]) + if test $ac_cv_func_getloadavg_setgid = yes; then +diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4 +index 7f70e8fd4..19c124cc3 100644 +--- a/lib/autoconf/headers.m4 ++++ b/lib/autoconf/headers.m4 +@@ -721,13 +721,11 @@ you to include it and time.h simultaneously.]) + m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H], + [AC_CACHE_CHECK([whether termios.h defines TIOCGWINSZ], + ac_cv_sys_tiocgwinsz_in_termios_h, +-[AC_EGREP_CPP([yes], +- [#include +-#include +-#ifdef TIOCGWINSZ +- yes +-#endif +-], ++[AC_COMPILE_IFELSE([AC_LANG_SOURCE( ++[AC_INCLUDES_DEFAULT ++[#include ++const int tiocgwinsz = TIOCGWINSZ; ++]])], + ac_cv_sys_tiocgwinsz_in_termios_h=yes, + ac_cv_sys_tiocgwinsz_in_termios_h=no)]) + ])# _AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H +@@ -738,13 +736,11 @@ m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H], + m4_define([_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL], + [AC_CACHE_CHECK([whether sys/ioctl.h defines TIOCGWINSZ], + ac_cv_sys_tiocgwinsz_in_sys_ioctl_h, +-[AC_EGREP_CPP([yes], +- [#include +-#include +-#ifdef TIOCGWINSZ +- yes +-#endif +-], ++[AC_COMPILE_IFELSE([AC_LANG_SOURCE( ++[AC_INCLUDES_DEFAULT ++[#include ++const int tiocgwinsz = TIOCGWINSZ; ++]])], + ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes, + ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no)]) + ])# _AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL +-- +2.41.0 + 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 new file mode 100644 index 00000000000..36d1a94be68 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch @@ -0,0 +1,32 @@ +From 1982523c6f052a2b361035a9d5d9737510ed0738 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 3 Apr 2023 09:12:40 -0700 +Subject: [PATCH 15/29] Support circa early 2022 Gnulib + +Problem reported by Frederic Berat in: +https://lists.gnu.org/r/bug-rcs/2023-04/msg00001.html +* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES): +Bring back for compatibility with post-2.71, pre-2.73 Gnulib. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/specific.m4 | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 +index a2dc5d488..5dc006959 100644 +--- a/lib/autoconf/specific.m4 ++++ b/lib/autoconf/specific.m4 +@@ -277,6 +277,8 @@ m4_define([_AC_SYS_LARGEFILE_TEST_CODE], + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]];[]dnl + ]) ++# Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it. ++m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], [_AC_SYS_LARGEFILE_TEST_CODE]) + + # _AC_SYS_LARGEFILE_OPTIONS + # ------------------------- +-- +2.41.0 + 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 new file mode 100644 index 00000000000..e96faf26662 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch @@ -0,0 +1,121 @@ +From a1e82aff0fd842b0f09e2cd166560dfda725ba13 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sun, 9 Apr 2023 11:41:57 -0700 +Subject: [PATCH 16/29] Improve year2038, largefile option processing +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE) +(_AC_SYS_YEAR2038_ENABLE, _AC_SYS_YEAR2038_OPT_IN) +(AC_SYS_YEAR2038, _AC_SYS_LARGEFILE_PROBE) +(_AC_SYS_LARGEFILE_ENABLE): Do not use enable_largefile to record +whether largefile is required, as ‘./configure +--disable-largefile’ sets enable_largefile=no even if largefile is +required and this disables largefile. Instead, use a separate +shell variable ac_largefile_required and test it as well. +Similarly for enable_year2038. +(_AC_SYS_LARGEFILE_ENABLE): Omit --disable-largefile help string +if year2038 is required, since largefile is a prereq for year2038. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/specific.m4 | 35 ++++++++++++++++++++++------------- + 1 file changed, 22 insertions(+), 13 deletions(-) + +diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 +index 5dc006959..1a3f4a65c 100644 +--- a/lib/autoconf/specific.m4 ++++ b/lib/autoconf/specific.m4 +@@ -155,10 +155,10 @@ AS_CASE([$ac_cv_sys_year2038_opts], + ["none needed"], [], + ["support not detected"], + [ac_have_year2038=no +- AS_CASE([$enable_year2038], +- [required], ++ AS_CASE([$ac_year2038_required,$enable_year2038], ++ [yes,*], + [AC_MSG_FAILURE([support for timestamps after Jan 2038 is required])], +- [yes], ++ [*,yes], + [# If we're not cross compiling and 'touch' works with a large + # timestamp, then we can presume the system supports wider time_t + # *somehow* and we just weren't able to detect it. One common +@@ -209,10 +209,12 @@ AS_CASE([$ac_cv_sys_year2038_opts], + m4_define([_AC_SYS_YEAR2038_ENABLE], + [m4_divert_text([DEFAULTS], + m4_provide_if([AC_SYS_YEAR2038_REQUIRED], +- [enable_year2038=required], ++ [ac_year2038_required=yes], ++ [ac_year2038_required=no]))dnl ++m4_divert_text([DEFAULTS], + m4_provide_if([AC_SYS_YEAR2038], + [enable_year2038=yes], +- [enable_year2038=no])))]dnl ++ [enable_year2038=no]))]dnl + [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [], + [AC_ARG_ENABLE([year2038], + m4_provide_if([AC_SYS_YEAR2038], +@@ -231,7 +233,8 @@ m4_define([_AC_SYS_YEAR2038_ENABLE], + # documented macro. + AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN], + [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl +- AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE]) ++ AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no], ++ [_AC_SYS_YEAR2038_PROBE]) + AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) + ])]) + +@@ -244,7 +247,8 @@ AC_DEFUN([AC_SYS_YEAR2038], + [m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], + [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl + [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl +- AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE]) ++ AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no], ++ [_AC_SYS_YEAR2038_PROBE]) + AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) + ])]) + +@@ -326,7 +330,7 @@ AS_CASE([$ac_cv_sys_largefile_opts], + ["none needed"], [], + ["support not detected"], + [ac_have_largefile=no +- AS_IF([test $enable_largefile = required], ++ AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no], + [AC_MSG_FAILURE([support for large files is required])])], + + ["-D_FILE_OFFSET_BITS=64"], +@@ -358,11 +362,15 @@ _AC_SYS_YEAR2038_OPT_IN + m4_define([_AC_SYS_LARGEFILE_ENABLE], + [m4_divert_text([DEFAULTS], + m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], +- [enable_largefile=required], +- [enable_largefile=yes]))]dnl ++ [ac_largefile_required=yes], ++ [ac_largefile_required=no]))dnl ++m4_divert_text([DEFAULTS], ++ [enable_largefile=yes])]dnl + [m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], +-[AC_ARG_ENABLE([largefile], +- [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])]) ++ [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [], ++ [AC_ARG_ENABLE([largefile], ++ [AS_HELP_STRING([--disable-largefile], ++ [omit support for large files])])])])]) + + # AC_SYS_LARGEFILE + # ---------------- +@@ -377,7 +385,8 @@ m4_define([_AC_SYS_LARGEFILE_ENABLE], + # large files; see also AC_SYS_LARGEFILE_REQUIRED. + AC_DEFUN([AC_SYS_LARGEFILE], + [m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl +- AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE]) ++ AS_IF([test "$ac_largefile_required,$enable_largefile,$ac_year2038_required" != no,no,no], ++ [_AC_SYS_LARGEFILE_PROBE]) + AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE]) + ])]) + +-- +2.41.0 + 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 new file mode 100644 index 00000000000..f62fe1cd79c --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch @@ -0,0 +1,30 @@ +From 0cc3c4ca8e6c550bf590ae45a916982b6ec50203 Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Fri, 14 Apr 2023 16:18:35 +0200 +Subject: [PATCH 17/29] AC_SYS_YEAR2038: Fix configure failure on 32-bit mingw. + +* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE): Use the same option +spelling as in _AC_SYS_YEAR2038_OPTIONS. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/specific.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 +index 1a3f4a65c..3bf1a0ed1 100644 +--- a/lib/autoconf/specific.m4 ++++ b/lib/autoconf/specific.m4 +@@ -182,7 +182,7 @@ AS_CASE([$ac_cv_sys_year2038_opts], + [AC_DEFINE([_TIME_BITS], [64], + [Number of bits in time_t, on hosts where this is settable.])], + +- ["-D__MINGW_USE_VC2005_COMPAT=1"], ++ ["-D__MINGW_USE_VC2005_COMPAT"], + [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1], + [Define to 1 on platforms where this makes time_t a 64-bit type.])], + +-- +2.41.0 + 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 new file mode 100644 index 00000000000..478c4e4229a --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch @@ -0,0 +1,45 @@ +From e704a13c9644f4f4b9a9dd4e215ee7a1707f5850 Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Fri, 3 Mar 2023 14:32:13 +0100 +Subject: [PATCH 18/29] Document limitation of BusyBox tr. + +BusyBox 1.35.0 tr, which is shipped with Alpine Linux 3.17, does not support +the POSIX [x*n] syntax. + +* doc/autoconf.texi (Limitations of Usual Tools): Document limitation of 'tr' +from BusyBox. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + doc/autoconf.texi | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/doc/autoconf.texi b/doc/autoconf.texi +index 5d5f613e6..b3c708e87 100644 +--- a/doc/autoconf.texi ++++ b/doc/autoconf.texi +@@ -20368,6 +20368,20 @@ $ @kbd{echo abc | coreutils/tr bc d} + add + @end example + ++On platforms with the BusyBox tools, @command{tr} does not support the ++@code{[@var{x}*@var{n}]} option syntax. ++ ++@example ++$ @kbd{echo abc | tr 'abcd' '[A*4]'} ++[A* ++$ @kbd{echo abc | coreutils/tr 'abcd' '[A*4]'} ++AAA ++$ @kbd{echo xyz | tr 'a-z' '[A*]'} ++]]] ++$ @kbd{echo xyz | coreutils/tr 'a-z' '[A*]'} ++AAA ++@end example ++ + Posix requires @command{tr} to operate on binary files. But at least + Solaris @command{/usr/ucb/tr} and @command{/usr/bin/tr} silently discard + @code{NUL} in the input prior to doing any translation. When using +-- +2.41.0 + 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 new file mode 100644 index 00000000000..db9307e13c9 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch @@ -0,0 +1,48 @@ +From 2277f2c15744ad1cc5cd1ecc50a43108e50530a2 Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Wed, 19 Apr 2023 14:17:24 -0700 +Subject: [PATCH 19/29] AC_SYS_YEAR2038_REQUIRED: Fix configure failure with + MSVC. + +* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_PROBE): Distinguish the results +"support not detected" and "supported through gnulib". If the result is +"supported through gnulib", don't fail. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/specific.m4 | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 +index 3bf1a0ed1..f411695fe 100644 +--- a/lib/autoconf/specific.m4 ++++ b/lib/autoconf/specific.m4 +@@ -323,11 +323,24 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE], + test $ac_opt_found = no || break + done + CC="$ac_save_CC" ++ dnl Gnulib implements large file support for native Windows, based on the ++ dnl variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE. ++ m4_ifdef([gl_LARGEFILE], [ ++ AC_REQUIRE([AC_CANONICAL_HOST]) ++ if test $ac_opt_found != yes; then ++ AS_CASE([$host_os], ++ [mingw*], ++ [ac_cv_sys_largefile_opts="supported through gnulib" ++ ac_opt_found=yes] ++ ) ++ fi ++ ]) + test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"]) + + ac_have_largefile=yes + AS_CASE([$ac_cv_sys_largefile_opts], + ["none needed"], [], ++ ["supported through gnulib"], [], + ["support not detected"], + [ac_have_largefile=no + AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no], +-- +2.41.0 + 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 new file mode 100644 index 00000000000..cbd89cc3bab --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch @@ -0,0 +1,405 @@ +From 9c0183724614517a67d0955065171465bab7154a Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Wed, 26 Apr 2023 18:21:48 -0700 +Subject: [PATCH 20/29] Tone down year-2038 changes + +New macro AC_SYS_YEAR2038_RECOMMENDED replaces new macro +AC_SYS_YEAR2038_REQUIRED, and gives the builder an out of +specifying --disable-year2038. Remove new macro +AC_SYS_LARGEFILE_REQUIRED, which was added only for symmetry and +does not seem to have a great need. +* NEWS, doc/autoconf.texi: Document this. +* lib/autoconf/specific.m4: +Be more specific about mid-January 2038 than just Jan 2038. +(_AC_SYS_YEAR2038_PROBE): Ignore IF-NOT-DETECTED arg. +If support is not detected, merely set ac_have_year2038=no instead +of erroring out. All callers changed. +(_AC_SYS_YEAR2038_OPT_IN): Remove. All callers removed. +(AC_SYS_YEAR2038): Simplify by requiring AC_SYS_LARGEFILE +and then testing the result. +(AC_SYS_YEAR2038_REQUIRED, AC_SYS_LARGEFILE_REQUIRED): Remove. +(AC_SYS_YEAR2038_RECOMMENDED): New macro. +(_AC_SYS_LARGEFILE_PROBE): If support is not detected, merely set +ac_have_largefile=no instead of erroring out. All callers changed. +Take on the burden of invoking year2038 probe as needed. +(AC_SYS_LARGEFILE): Simplify. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + NEWS | 18 ++-- + doc/autoconf.texi | 34 +++----- + lib/autoconf/specific.m4 | 177 +++++++++++---------------------------- + 3 files changed, 69 insertions(+), 160 deletions(-) + +diff --git a/NEWS b/NEWS +index 8e4ecc1bf..a48a00858 100644 +--- a/NEWS ++++ b/NEWS +@@ -51,7 +51,7 @@ GNU Autoconf NEWS - User visible changes. + + ** New features + +-*** New macro AC_SYS_YEAR2038. ++*** New macros AC_SYS_YEAR2038 and AC_SYS_YEAR2038_RECOMMENDED. + This causes 'configure' to widen time_t if possible on systems where + time_t by default cannot represent file and other timestamps after + January 2038. Widening is possible only on 32-bit GNU/Linux x86 and +@@ -67,18 +67,14 @@ GNU Autoconf NEWS - User visible changes. + This is similar to longstanding consistency requirements with + --enable-largefile and --disable-largefile. + ++ AC_SYS_YEAR2038_RECOMMENDED acts like AC_SYS_YEAR2038 except that ++ 'configure' fails if the target lacks support for post-2038 ++ timestamps and --disable-year2038 is not given. ++ + *** AC_SYS_LARGEFILE now optionally arranges to widen time_t. + It now acts like AC_SYS_YEAR2038, except 'configure' defaults to +- --disable-year2038 unless AC_SYS_YEAR2038 is also present. +- As with AC_SYS_YEAR2038, application and library builders should +- configure consistently. +- +-*** New macros AC_SYS_LARGEFILE_REQUIRED and AC_SYS_YEAR2038_REQUIRED. +- These act like AC_SYS_LARGEFILE and AC_SYS_YEAR2038 respectively, +- except that 'configure' fails if the target lacks support +- for large files and for post-2038 timestamps, respectively. +- As with AC_SYS_YEAR2038, application and library builders should +- configure consistently. ++ --disable-year2038 unless either AC_SYS_YEAR2038 or ++ AC_SYS_YEAR2038_RECOMMENDED is also present. + + *** AC_USE_SYSTEM_EXTENSIONS now enables C23 Annex F extensions + by defining __STDC_WANT_IEC_60559_EXT__. +diff --git a/doc/autoconf.texi b/doc/autoconf.texi +index b3c708e87..0f3047b31 100644 +--- a/doc/autoconf.texi ++++ b/doc/autoconf.texi +@@ -8808,18 +8808,20 @@ if possible. These types may include @code{blkcnt_t}, @code{dev_t}, + + Also, arrange for a @command{configure} option @code{--enable-year2038} + to request widening the type @code{time_t} as needed to represent file +-wand other timestamps after January 2038. This widening is possible ++wand other timestamps after mid-January 2038. This widening is possible + only on 32-bit GNU/Linux x86 and ARM systems with glibc 2.34 or later. + If year-2038 support is requested but @command{configure} fails to find a way + to widen @code{time_t} and inspection of the system suggests that + this feature is available somehow, @command{configure} will error out. + If you want the default to be @code{--enable-year2038}, you can use +-@code{AC_SYS_YEAR2038} instead of @code{AC_SYS_LARGEFILE}. ++@code{AC_SYS_YEAR2038} or @code{AC_SYS_YEAR2038_RECOMMENDED} ++instead of @code{AC_SYS_LARGEFILE}. + In other words, older packages that have long used @code{AC_SYS_LARGEFILE} + can have year-2038 support on 32-bit GNU/Linux x86 and ARM systems either by + regenerating @file{configure} with current Autoconf and configuring with +-@option{--enable-year2038}, or by using @code{AC_SYS_YEAR2038} and +-configuring without @option{--disable-year2038}. ++@option{--enable-year2038}, or by using @code{AC_SYS_YEAR2038} or ++@code{AC_SYS_YEAR2038_RECOMMENDED} and configuring without ++@option{--disable-year2038}. + A future version of Autoconf might change the @code{AC_SYS_LARGEFILE} + default to @code{--enable-year2038}; if and when that happens, + @code{AC_SYS_LARGEFILE} and @code{AC_SYS_YEAR2038} will become equivalent. +@@ -8886,19 +8888,6 @@ library, enabling or disabling the application's large-file support may + break binary compatibility with that library. + @end defmac + +-@defmac AC_SYS_LARGEFILE_REQUIRED +-@acindex{SYS_LARGEFILE_REQUIRED} +-This macro has the same effect as @code{AC_SYS_LARGEFILE}, +-but also declares that the program being configured +-requires support for large files. +-If a large @code{off_t} is unavailable, +-@command{configure} will error out. +-The @option{--disable-largefile} option will not be available. +- +-Large-file and year-2038 support for applications and libraries should +-be configured compatibly. @xref{AC_SYS_LARGEFILE}. +-@end defmac +- + @anchor{AC_SYS_LONG_FILE_NAMES} + @defmac AC_SYS_LONG_FILE_NAMES + @acindex{SYS_LONG_FILE_NAMES} +@@ -8927,14 +8916,13 @@ applications and libraries should be configured compatibly. + @xref{AC_SYS_LARGEFILE}. + @end defmac + +-@defmac AC_SYS_YEAR2038_REQUIRED +-@acindex{SYS_YEAR2038_REQUIRED} ++@defmac AC_SYS_YEAR2038_RECOMMENDED ++@acindex{SYS_YEAR2038_RECOMMENDED} + This macro has the same effect as @code{AC_SYS_YEAR2038}, + but also declares that the program being configured +-requires support for timestamps after mid-January of 2038. +-If a large @code{time_t} is unavailable, +-@command{configure} will unconditionally error out. +-The @option{--disable-year2038} option will not be available. ++should support timestamps after mid-January 2038. ++If a large @code{time_t} is unavailable, @command{configure} will error ++out unless the @option{--disable-year2038} option is specified. + + Year-2038 support for applications and libraries should be configured + compatibly. @xref{AC_SYS_YEAR2038}. +diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 +index f411695fe..88e0479e8 100644 +--- a/lib/autoconf/specific.m4 ++++ b/lib/autoconf/specific.m4 +@@ -115,8 +115,8 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize( + dnl 32-bit MinGW (misconfiguration) + )) + +-# _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED]) +-# ----------------------------------------- ++# _AC_SYS_YEAR2038_PROBE ++# ---------------------- + # Subroutine of AC_SYS_YEAR2038. Probe for time_t that can represent + # time points more than 2**31 - 1 seconds after the epoch (dates after + # 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts +@@ -129,13 +129,10 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize( + # AC_TRY_RUN. Note also that some systems only support large time_t + # together with large off_t. + # +-# If support is not detected, the behavior depends on which of the +-# top-level AC_SYS_YEAR2038 macros was used (see below). +-# + # If you change this macro you may also need to change + # _AC_SYS_YEAR2038_OPTIONS. + AC_DEFUN([_AC_SYS_YEAR2038_PROBE], +-[AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038], ++[AC_CACHE_CHECK([for $CC option for timestamps after 2038], + [ac_cv_sys_year2038_opts], + [ac_save_CPPFLAGS="$CPPFLAGS" + ac_opt_found=no +@@ -154,29 +151,7 @@ ac_have_year2038=yes + AS_CASE([$ac_cv_sys_year2038_opts], + ["none needed"], [], + ["support not detected"], +- [ac_have_year2038=no +- AS_CASE([$ac_year2038_required,$enable_year2038], +- [yes,*], +- [AC_MSG_FAILURE([support for timestamps after Jan 2038 is required])], +- [*,yes], +- [# If we're not cross compiling and 'touch' works with a large +- # timestamp, then we can presume the system supports wider time_t +- # *somehow* and we just weren't able to detect it. One common +- # case that we deliberately *don't* probe for is a system that +- # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers +- # wide time_t. (It would be inappropriate for us to override an +- # intentional use of -m32.) Error out, demanding use of +- # --disable-year2038 if this is intentional. +- AS_IF([test $cross_compiling = no], +- [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null], +- [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`], +- [*'Feb 7 2106'* | *'Feb 7 17:10'*], +- [AC_MSG_FAILURE(m4_text_wrap( +- [this system appears to support timestamps after January 2038, +- but no mechanism for enabling wide 'time_t' was detected. +- Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.) +- To proceed with 32-bit time_t, configure with '--disable-year2038'.], +- [], [], [55]))])])])])], ++ [ac_have_year2038=no], + + ["-D_TIME_BITS=64"], + [AC_DEFINE([_TIME_BITS], [64], +@@ -189,7 +164,7 @@ AS_CASE([$ac_cv_sys_year2038_opts], + ["-U_USE_32_BIT_TIME_T"*], + [AC_MSG_FAILURE(m4_text_wrap( + [the 'time_t' type is currently forced to be 32-bit. +- It will stop working after January 2038. ++ It will stop working after mid-January 2038. + Remove _USE_32BIT_TIME_T from the compiler flags.], + [], [], [55]))], + +@@ -199,44 +174,23 @@ AS_CASE([$ac_cv_sys_year2038_opts], + + # _AC_SYS_YEAR2038_ENABLE + # ----------------------- +-# Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN. + # Depending on which of the YEAR2038 macros was used, add either an +-# --enable-year2038, or a --disable-year2038, or no option at all to +-# the configure script. Note that this is expanded very late and ++# --enable-year2038 or a --disable-year2038 to ++# the configure script. This is expanded very late and + # therefore there cannot be any code in the AC_ARG_ENABLE. The + # default value for 'enable_year2038' is emitted unconditionally + # because the generated code always looks at this variable. + m4_define([_AC_SYS_YEAR2038_ENABLE], + [m4_divert_text([DEFAULTS], +- m4_provide_if([AC_SYS_YEAR2038_REQUIRED], +- [ac_year2038_required=yes], +- [ac_year2038_required=no]))dnl +-m4_divert_text([DEFAULTS], + m4_provide_if([AC_SYS_YEAR2038], + [enable_year2038=yes], + [enable_year2038=no]))]dnl +-[m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [], + [AC_ARG_ENABLE([year2038], + m4_provide_if([AC_SYS_YEAR2038], + [AS_HELP_STRING([--disable-year2038], +- [omit support for dates after Jan 2038])], ++ [don't support timestamps after 2038])], + [AS_HELP_STRING([--enable-year2038], +- [include support for dates after Jan 2038])]))])]) +- +-# _AC_SYS_YEAR2038_OPT_IN +-# ----------------------- +-# If the --enable-year2038 option is given to configure, attempt to +-# detect and activate support for large time_t on 32-bit systems. +-# This macro is automatically invoked by AC_SYS_LARGEFILE when large +-# *file* support is detected. It does not AC_REQUIRE AC_SYS_LARGEFILE +-# to avoid a dependency loop, and is therefore unsafe to expose as a +-# documented macro. +-AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN], +-[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl +- AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no], +- [_AC_SYS_YEAR2038_PROBE]) +- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) +-])]) ++ [support timestamps after 2038])]))]) + + # AC_SYS_YEAR2038 + # --------------- +@@ -244,28 +198,39 @@ AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN], + # On systems where time_t is not always 64 bits, this probe can be + # skipped by passing the --disable-year2038 option to configure. + AC_DEFUN([AC_SYS_YEAR2038], +-[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], +- [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl +-[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl +- AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no], +- [_AC_SYS_YEAR2038_PROBE]) +- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) +-])]) +- +-# AC_SYS_YEAR2038_REQUIRED +-# ------------------------ +-# Same as AC_SYS_YEAR2038, but declares that this program *requires* +-# support for large time_t. If we cannot find any way to make time_t +-# capable of representing values larger than 2**31 - 1, configure will +-# error out. Furthermore, no --enable-year2038 nor --disable-year2038 +-# option will be available. +-AC_DEFUN([AC_SYS_YEAR2038_REQUIRED], +-[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], +- [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl +-[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl +- _AC_SYS_YEAR2038_PROBE +- AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) +-])]) ++[AC_REQUIRE([AC_SYS_LARGEFILE])dnl ++AS_IF([test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no], ++ [# If we're not cross compiling and 'touch' works with a large ++ # timestamp, then we can presume the system supports wider time_t ++ # *somehow* and we just weren't able to detect it. One common ++ # case that we deliberately *don't* probe for is a system that ++ # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers ++ # wide time_t. (It would be inappropriate for us to override an ++ # intentional use of -m32.) Error out, demanding use of ++ # --disable-year2038 if this is intentional. ++ AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null], ++ [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`], ++ [*'Feb 7 2106'* | *'Feb 7 17:10'*], ++ [AC_MSG_FAILURE(m4_text_wrap( ++ [this system appears to support timestamps after mid-January 2038, ++ but no mechanism for enabling wide 'time_t' was detected. ++ Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.) ++ To proceed with 32-bit time_t, configure with '--disable-year2038'.], ++ [], [], [55]))])])])]) ++ ++# AC_SYS_YEAR2038_RECOMMENDED ++# --------------------------- ++# Same as AC_SYS_YEAR2038, but recommend support for large time_t. ++# If we cannot find any way to make time_t capable of representing ++# values larger than 2**31 - 1, error out unless --disable-year2038 is given. ++AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED], ++[AC_REQUIRE([AC_SYS_YEAR2038])dnl ++AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no], ++ [AC_MSG_FAILURE(m4_text_wrap( ++ [could not enable timestamps after mid-January 2038. ++ Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.) ++ To proceed with 32-bit time_t, configure with '--disable-year2038'.], ++ [], [], [55]))])]) + + # _AC_SYS_LARGEFILE_TEST_CODE + # --------------------------- +@@ -342,9 +307,7 @@ AS_CASE([$ac_cv_sys_largefile_opts], + ["none needed"], [], + ["supported through gnulib"], [], + ["support not detected"], +- [ac_have_largefile=no +- AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no], +- [AC_MSG_FAILURE([support for large files is required])])], ++ [ac_have_largefile=no], + + ["-D_FILE_OFFSET_BITS=64"], + [AC_DEFINE([_FILE_OFFSET_BITS], [64], +@@ -360,30 +323,9 @@ AS_CASE([$ac_cv_sys_largefile_opts], + [AC_MSG_ERROR( + [internal error: bad value for \$ac_cv_sys_largefile_opts])]) + +-_AC_SYS_YEAR2038_OPT_IN +-]) +- +-# _AC_SYS_LARGEFILE_ENABLE +-# ------------------------ +-# Subroutine of AC_SYS_LARGEFILE. If AC_SYS_LARGEFILE_REQUIRED was +-# not used at any point in this configure script, add a +-# --disable-largefile option to the configure script. Note that this +-# is expanded very late and therefore there cannot be any code in the +-# AC_ARG_ENABLE. The default value for 'enable_largefile' is emitted +-# unconditionally because the generated shell code always looks at +-# this variable. +-m4_define([_AC_SYS_LARGEFILE_ENABLE], +-[m4_divert_text([DEFAULTS], +- m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], +- [ac_largefile_required=yes], +- [ac_largefile_required=no]))dnl +-m4_divert_text([DEFAULTS], +- [enable_largefile=yes])]dnl +-[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [], +- [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [], +- [AC_ARG_ENABLE([largefile], +- [AS_HELP_STRING([--disable-largefile], +- [omit support for large files])])])])]) ++AS_IF([test "$enable_year2038" != no], ++ [_AC_SYS_YEAR2038_PROBE]) ++AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])]) + + # AC_SYS_LARGEFILE + # ---------------- +@@ -394,29 +336,12 @@ m4_divert_text([DEFAULTS], + # Additionally, on Linux file systems with 64-bit inodes a file that happens + # to have a 64-bit inode number cannot be accessed by 32-bit applications on + # Linux x86/x86_64. This can occur with file systems such as XFS and NFS. +-# This macro allows configuration to continue if the system doesn't support +-# large files; see also AC_SYS_LARGEFILE_REQUIRED. + AC_DEFUN([AC_SYS_LARGEFILE], +-[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl +- AS_IF([test "$ac_largefile_required,$enable_largefile,$ac_year2038_required" != no,no,no], +- [_AC_SYS_LARGEFILE_PROBE]) +- AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE]) +-])]) +- +-# AC_SYS_LARGEFILE_REQUIRED +-# ------------------------- +-# Same as AC_SYS_LARGEFILE, but declares that this program *requires* +-# support for large files. If we cannot find a combination of compiler +-# options and #defines that makes 'off_t' capable of representing 2**63 - 1, +-# 'configure' will error out. Furthermore, 'configure' will not offer a +-# --disable-largefile command line option. +-# If both AC_SYS_LARGEFILE and AC_SYS_LARGEFILE_REQUIRED are used in the +-# same configure script -- in either order -- AC_SYS_LARGEFILE_REQUIRED wins. +-AC_DEFUN([AC_SYS_LARGEFILE_REQUIRED], +-[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl +- _AC_SYS_LARGEFILE_PROBE +- AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE]) +-])]) ++[AC_ARG_ENABLE([largefile], ++ [AS_HELP_STRING([--disable-largefile], ++ [omit support for large files])])dnl ++AS_IF([test "$enable_largefile,$enable_year2038" != no,no], ++ [_AC_SYS_LARGEFILE_PROBE])]) + + # AC_SYS_LONG_FILE_NAMES + # ---------------------- +-- +2.41.0 + 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 new file mode 100644 index 00000000000..56bcbb6ca12 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch @@ -0,0 +1,98 @@ +From 028526149ee804617a302ccef22cc6adbda681b0 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Wed, 10 May 2023 17:20:49 -0700 +Subject: [PATCH 21/29] Port AC_FUNC_MMAP to more-modern systems +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Don’t call +getpagesize, as it’s tricky to configure, modern POSIX doesn’t +require it, and calling it without including provokes a +compile-time error on modern systems. Instead, rework the test +to not need getpagesize. Add a FIXME comment for unnecessary +tests; I don't want to remove them now as we're too close to +a release. Remove long-obsolete comment about GNU grep. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/functions.m4 | 44 +++++---------------------------------- + 1 file changed, 5 insertions(+), 39 deletions(-) + +diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 +index 499e4c024..5a0f01856 100644 +--- a/lib/autoconf/functions.m4 ++++ b/lib/autoconf/functions.m4 +@@ -1283,6 +1283,7 @@ AU_ALIAS([AM_FUNC_MKTIME], [AC_FUNC_MKTIME]) + AN_FUNCTION([mmap], [AC_FUNC_MMAP]) + AC_DEFUN([AC_FUNC_MMAP], + [AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles ++dnl FIXME: Remove the unnecessary checks for unistd.h, sys/param.h, getpagesize. + AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h]) + AC_CHECK_FUNCS_ONCE([getpagesize]) + AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], +@@ -1305,48 +1306,11 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], + VM page cache was not coherent with the file system buffer cache + like early versions of FreeBSD and possibly contemporary NetBSD.) + For shared mappings, we should conversely verify that changes get +- propagated back to all the places they're supposed to be. +- +- Grep wants private fixed already mapped. +- The main things grep needs to know about mmap are: +- * does it exist and is it safe to write into the mmap'd area +- * how to use it (BSD variants) */ ++ propagated back to all the places they're supposed to be. */ + + #include + #include + +-/* This mess was copied from the GNU getpagesize.h. */ +-#ifndef HAVE_GETPAGESIZE +-# ifdef _SC_PAGESIZE +-# define getpagesize() sysconf(_SC_PAGESIZE) +-# else /* no _SC_PAGESIZE */ +-# ifdef HAVE_SYS_PARAM_H +-# include +-# ifdef EXEC_PAGESIZE +-# define getpagesize() EXEC_PAGESIZE +-# else /* no EXEC_PAGESIZE */ +-# ifdef NBPG +-# define getpagesize() NBPG * CLSIZE +-# ifndef CLSIZE +-# define CLSIZE 1 +-# endif /* no CLSIZE */ +-# else /* no NBPG */ +-# ifdef NBPC +-# define getpagesize() NBPC +-# else /* no NBPC */ +-# ifdef PAGESIZE +-# define getpagesize() PAGESIZE +-# endif /* PAGESIZE */ +-# endif /* no NBPC */ +-# endif /* no NBPG */ +-# endif /* no EXEC_PAGESIZE */ +-# else /* no HAVE_SYS_PARAM_H */ +-# define getpagesize() 8192 /* punt totally */ +-# endif /* no HAVE_SYS_PARAM_H */ +-# endif /* no _SC_PAGESIZE */ +- +-#endif /* no HAVE_GETPAGESIZE */ +- + int + main (void) + { +@@ -1355,7 +1319,9 @@ main (void) + int i, pagesize; + int fd, fd2; + +- pagesize = getpagesize (); ++ /* The "page size" need not equal the system page size, ++ and need not even be a power of 2. */ ++ pagesize = 8192; + + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); +-- +2.41.0 + 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 new file mode 100644 index 00000000000..1b168c7b55f --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch @@ -0,0 +1,91 @@ +From 33c26d2700f927432c756ccf7a4fc89403d35b95 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Wed, 10 May 2023 22:57:27 -0700 +Subject: [PATCH 22/29] Fix port of AC_FUNC_MMAP +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Matt Turner in: +https://lists.gnu.org/r/bug-autoconf/2023-05/msg00005.html +* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Go back to getting the +page size, since the zero-fill test needs this after all. +However, prefer sysconf (_SC_PAGESIZE) or sysconf (_SC_PAGE_SIZE) +to getpagesize (), and use ‘long’ not ‘int’ to store the page size. +Also, declare getpagesize if it is used as a function. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/functions.m4 | 41 ++++++++++++++++++++++++++++++++++----- + 1 file changed, 36 insertions(+), 5 deletions(-) + +diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 +index 5a0f01856..3d6e4aca8 100644 +--- a/lib/autoconf/functions.m4 ++++ b/lib/autoconf/functions.m4 +@@ -1283,7 +1283,6 @@ AU_ALIAS([AM_FUNC_MKTIME], [AC_FUNC_MKTIME]) + AN_FUNCTION([mmap], [AC_FUNC_MMAP]) + AC_DEFUN([AC_FUNC_MMAP], + [AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles +-dnl FIXME: Remove the unnecessary checks for unistd.h, sys/param.h, getpagesize. + AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h]) + AC_CHECK_FUNCS_ONCE([getpagesize]) + AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], +@@ -1311,17 +1310,49 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], + #include + #include + ++#ifndef getpagesize ++# ifdef _SC_PAGESIZE ++# define getpagesize() sysconf (_SC_PAGESIZE) ++# elif defined _SC_PAGE_SIZE ++# define getpagesize() sysconf (_SC_PAGE_SIZE) ++# elif HAVE_GETPAGESIZE ++int getpagesize (); ++# else ++# ifdef HAVE_SYS_PARAM_H ++# include ++# ifdef EXEC_PAGESIZE ++# define getpagesize() EXEC_PAGESIZE ++# else /* no EXEC_PAGESIZE */ ++# ifdef NBPG ++# define getpagesize() NBPG * CLSIZE ++# ifndef CLSIZE ++# define CLSIZE 1 ++# endif /* no CLSIZE */ ++# else /* no NBPG */ ++# ifdef NBPC ++# define getpagesize() NBPC ++# else /* no NBPC */ ++# ifdef PAGESIZE ++# define getpagesize() PAGESIZE ++# endif /* PAGESIZE */ ++# endif /* no NBPC */ ++# endif /* no NBPG */ ++# endif /* no EXEC_PAGESIZE */ ++# else /* no HAVE_SYS_PARAM_H */ ++# define getpagesize() 8192 /* punt totally */ ++# endif /* no HAVE_SYS_PARAM_H */ ++# endif ++#endif ++ + int + main (void) + { + char *data, *data2, *data3; + const char *cdata2; +- int i, pagesize; ++ long i, pagesize; + int fd, fd2; + +- /* The "page size" need not equal the system page size, +- and need not even be a power of 2. */ +- pagesize = 8192; ++ pagesize = getpagesize (); + + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); +-- +2.41.0 + 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 new file mode 100644 index 00000000000..9fb33c3196a --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch @@ -0,0 +1,38 @@ +From ccc0d640c4d829504568330f9674408af5092ffc Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sat, 13 May 2023 09:56:33 -0700 +Subject: [PATCH 23/29] Improve AC_SYS_YEAR2038_RECOMMENDED diagnostic + +* lib/autoconf/specific.m4 (AC_SYS_YEAR2038_RECOMMENDED): +Do not recommend gcc -m64, as that likely will not work. +Problem reported by Bruno Haible in: +https://lists.gnu.org/r/bug-gnulib/2023-05/msg00060.html +Instead, mention that 32-bit time_t is not recommended +for this package, before telling the builder how +to configure with 32-bit time_t anyway. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/specific.m4 | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 +index 88e0479e8..91f20bf0d 100644 +--- a/lib/autoconf/specific.m4 ++++ b/lib/autoconf/specific.m4 +@@ -228,8 +228,9 @@ AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED], + AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no], + [AC_MSG_FAILURE(m4_text_wrap( + [could not enable timestamps after mid-January 2038. +- Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.) +- To proceed with 32-bit time_t, configure with '--disable-year2038'.], ++ This package recommends support for these later timestamps. ++ However, to proceed with signed 32-bit time_t even though it ++ will fail then, configure with '--disable-year2038'.], + [], [], [55]))])]) + + # _AC_SYS_LARGEFILE_TEST_CODE +-- +2.41.0 + 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 new file mode 100644 index 00000000000..2644c578367 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch @@ -0,0 +1,29 @@ +From 8e7281d7bebb5e389befe6e9a5afbb7b2ae13ae0 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Wed, 17 May 2023 11:50:27 -0700 +Subject: [PATCH 24/29] Improve AC_FUNC_MMAP comments + +* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Add comment. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/functions.m4 | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 +index 3d6e4aca8..54d04cc38 100644 +--- a/lib/autoconf/functions.m4 ++++ b/lib/autoconf/functions.m4 +@@ -1311,6 +1311,8 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped], + #include + + #ifndef getpagesize ++/* Prefer sysconf to the legacy getpagesize function, as getpagesize has ++ been removed from POSIX and is limited to page sizes that fit in 'int'. */ + # ifdef _SC_PAGESIZE + # define getpagesize() sysconf (_SC_PAGESIZE) + # elif defined _SC_PAGE_SIZE +-- +2.41.0 + 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 new file mode 100644 index 00000000000..b7affed40d3 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch @@ -0,0 +1,62 @@ +From 103514e40da5f20aebf83a3446452ccebe5172bb Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 19 Jun 2023 14:04:29 -0700 +Subject: [PATCH 25/29] Fix AC_SYS_LARGEFILE on GNU/Linux alpha, s390x + +Problem reported by Matoro . +* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_CODE): +New overridable macro FTYPE, to test types other than off_t. +(_AC_SYS_LARGEFILE_TEST_CODE): Test ino_t for +-D_FILE_OFFSETBITS=64 too, if no flags are needed for off_t. +Needed for GNU/Linux on alpha and s390x. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + lib/autoconf/specific.m4 | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 +index 91f20bf0d..9d5974548 100644 +--- a/lib/autoconf/specific.m4 ++++ b/lib/autoconf/specific.m4 +@@ -238,13 +238,16 @@ AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no], + # C code used to probe for large file support. + m4_define([_AC_SYS_LARGEFILE_TEST_CODE], + [@%:@include +- /* Check that off_t can represent 2**63 - 1 correctly. +- We can't simply define LARGE_OFF_T to be 9223372036854775807, ++@%:@ifndef FTYPE ++@%:@ define FTYPE off_t ++@%:@endif ++ /* Check that FTYPE can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_FTYPE to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +-@%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) +- int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 +- && LARGE_OFF_T % 2147483647 == 1) ++@%:@define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31)) ++ int FTYPE_is_large[[(LARGE_FTYPE % 2147483629 == 721 ++ && LARGE_FTYPE % 2147483647 == 1) + ? 1 : -1]];[]dnl + ]) + # Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it. +@@ -284,7 +287,13 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE], + AS_IF([test x"$ac_opt" != x"none needed"], + [CC="$ac_save_CC $ac_opt"]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])], +- [ac_cv_sys_largefile_opts="$ac_opt" ++ [AS_IF([test x"$ac_opt" = x"none needed"], ++ [# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. ++ CC="$CC -DFTYPE=ino_t" ++ AC_COMPILE_IFELSE([], [], ++ [CC="$CC -D_FILE_OFFSET_BITS=64" ++ AC_COMPILE_IFELSE([], [ac_opt='-D_FILE_OFFSET_BITS=64'])])]) ++ ac_cv_sys_largefile_opts=$ac_opt + ac_opt_found=yes]) + test $ac_opt_found = no || break + done +-- +2.41.0 + diff --git a/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch b/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch new file mode 100644 index 00000000000..8d2539611d7 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch @@ -0,0 +1,270 @@ +From a7421b411b4359b97528c8f4e9dd8abe82235813 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Tue, 20 Jun 2023 13:23:19 -0700 +Subject: [PATCH 26/29] Modernize INSTALL + +Problem reported for gettext bootstrap by Julien Palard in: +https://savannah.gnu.org/bugs/?62196 +* doc/install.texi: Give a brief info as to how to bootstrap, +on packages built from Git rather from a distribution tarball. +Remove aging details about c99, macOS, X, HP-UX, OSF/1, Solaris, +Haiku, sun4. Improve documentation for enable/disable and +with/without options. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + doc/install.texi | 157 +++++++++++++++++++++-------------------------- + 1 file changed, 70 insertions(+), 87 deletions(-) + +diff --git a/doc/install.texi b/doc/install.texi +index e06689613..cec245fd0 100644 +--- a/doc/install.texi ++++ b/doc/install.texi +@@ -18,9 +18,21 @@ warranty of any kind. + @node Basic Installation + @section Basic Installation + +-Briefly, the shell command +-@samp{./configure@tie{}&& make@tie{}&& make@tie{}install} +-should configure, build, and install this package. The following ++Briefly, the following shell commands: ++ ++@example ++test -f configure || ./bootstrap ++./configure ++make ++make install ++@end example ++ ++@noindent ++should configure, build, and install this package. ++The @command{./bootstrap} line is intended for developers; ++you can omit it when building from a distribution tarball. ++ ++The following + more-detailed instructions are generic; see the @file{README} file for + instructions specific to this package. + @ifclear autoconf +@@ -32,6 +44,17 @@ More recommendations for GNU packages can be found in + @ref{Makefile Conventions, , Makefile Conventions, standards, + GNU Coding Standards}. + ++If the @command{bootstrap} shell script exists, it attempts to build the ++@command{configure} shell script and related files, perhaps by ++downloading other software components from the network, and by using ++developer tools that are less commonly installed. Because the output of ++@command{bootstrap} is system-independent, it is normally run by a ++package developer so that its output can be put into the distribution ++tarball and ordinary builders and users need not run @command{bootstrap}. ++Some packages have commands like @command{./autopull.sh} and ++@command {./autogen.sh} that you can run instead of @command{./bootstrap}, ++for more fine-grained control over bootstrapping. ++ + The @command{configure} shell script attempts to guess correct values + for various system-dependent variables used during compilation. It uses + those values to create a @file{Makefile} in each directory of the +@@ -63,8 +86,15 @@ The simplest way to compile this package is: + + @enumerate + @item +-@command{cd} to the directory containing the package's source code and type +-@samp{./configure} to configure the package for your system. ++@command{cd} to the directory containing the package's source code. ++ ++@item ++If this is a developer checkout and file @samp{configure} does not yet exist, ++type @samp{./bootstrap} to create it. ++You may need special developer tools and network access to bootstrap. ++ ++@item ++Type @samp{./configure} to configure the package for your system. + + Running @command{configure} might take a while. While running, it prints some + messages telling which features it is checking for. +@@ -124,7 +154,7 @@ parameters by setting variables in the command line or in the environment. + Here is an example: + + @example +-./configure CC=c99 CFLAGS=-g LIBS=-lposix ++./configure CC=gcc CFLAGS=-g LIBS=-lposix + @end example + + @xref{Defining Variables}, for more details. +@@ -148,21 +178,10 @@ architecture at a time in the source code directory. After you have + installed the package for one architecture, use @samp{make distclean} + before reconfiguring for another architecture. + +-On MacOS X 10.5 and later systems, you can create libraries and +-executables that work on multiple system types---known as @dfn{fat} or +-@dfn{universal} binaries---by specifying multiple @option{-arch} options +-to the compiler but only a single @option{-arch} option to the +-preprocessor. Like this: +- +-@example +-./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ +- CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ +- CPP="gcc -E" CXXCPP="g++ -E" +-@end example +- +-This is not guaranteed to produce working output in all cases, you may +-have to build one architecture at a time and combine the results +-using the @command{lipo} tool if you have problems. ++Some platforms, notably macOS, support ``fat'' or ``universal'' binaries, ++where a single binary can execute on different architectures. ++On these platforms you can configure and compile just once, ++with options specific to that platform. + + @node Installation Names + @section Installation Names +@@ -227,20 +246,16 @@ an extra prefix or suffix on their names by giving @command{configure} + the option @option{--program-prefix=@var{PREFIX}} or + @option{--program-suffix=@var{SUFFIX}}. + +-Some packages pay attention to @option{--enable-@var{feature}} options ++Some packages pay attention to @option{--enable-@var{feature}} ++and @option{--disable-@var{feature}} options + to @command{configure}, where @var{feature} indicates an optional part + of the package. They may also pay attention to +-@option{--with-@var{package}} options, where @var{package} is something +-like @samp{gnu-as} or @samp{x} (for the X Window System). The +-@file{README} should mention any @option{--enable-} and @option{--with-} ++@option{--with-@var{package}} and @option{--without-@var{package}} options, ++where @var{package} is something like @samp{gnu-ld}. ++@samp{./configure --help} should mention the ++@option{--enable-...} and @option{--with-...} + options that the package recognizes. + +-For packages that use the X Window System, @command{configure} can +-usually find the X include and library files automatically, but if it +-doesn't, you can use the @command{configure} options +-@option{--x-includes=@var{dir}} and @option{--x-libraries=@var{dir}} to +-specify their locations. +- + Some packages offer the ability to configure how verbose the execution + of @command{make} will be. For these packages, running + @samp{./configure --enable-silent-rules} sets the default to minimal +@@ -248,53 +263,6 @@ output, which can be overridden with @code{make V=1}; while running + @samp{./configure --disable-silent-rules} sets the default to verbose, + which can be overridden with @code{make V=0}. + +-@node Particular Systems +-@section Particular systems +- +-On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is +-not installed, it is recommended to use the following options in order to +-use an ANSI C compiler: +- +-@example +-./configure CC="cc -Ae -D_XOPEN_SOURCE=500" +-@end example +- +-@noindent +-and if that doesn't work, install pre-built binaries of GCC for HP-UX. +- +-HP-UX @command{make} updates targets which have the same timestamps as +-their prerequisites, which makes it generally unusable when shipped +-generated files such as @command{configure} are involved. Use GNU +-@command{make} instead. +- +-On OSF/1 a.k.a.@: Tru64, some versions of the default C compiler cannot +-parse its @code{} header file. The option @option{-nodtk} can be +-used as a workaround. If GNU CC is not installed, it is therefore +-recommended to try +- +-@example +-./configure CC="cc" +-@end example +- +-@noindent +-and if that doesn't work, try +- +-@example +-./configure CC="cc -nodtk" +-@end example +- +-On Solaris, don't put @code{/usr/ucb} early in your @env{PATH}. This +-directory contains several dysfunctional programs; working variants +-of these programs are available in @code{/usr/bin}. So, if you need +-@code{/usr/ucb} in your @env{PATH}, put it @emph{after} @code{/usr/bin}. +- +-On Haiku, software installed for all users goes in @file{/boot/common}, +-not @file{/usr/local}. It is recommended to use the following options: +- +-@example +-./configure --prefix=/boot/common +-@end example +- + @node System Type + @section Specifying the System Type + +@@ -304,7 +272,8 @@ will run on. Usually, assuming the package is built to be run on the + @emph{same} architectures, @command{configure} can figure that out, but + if it prints a message saying it cannot guess the machine type, give it + the @option{--build=@var{type}} option. @var{type} can either be a +-short name for the system type, such as @samp{sun4}, or a canonical name ++short name like @samp{mingw64} for the system type, or a canonical name ++like @samp{x86_64-pc-linux-gnu} + which has the form: + + @example +@@ -319,6 +288,7 @@ where @var{system} can have one of these forms: + @var{kernel}-@var{os} + @end example + ++@noindent + See the file @file{config.sub} for the possible values of each field. + If @file{config.sub} isn't included in this package, then this package + doesn't need to know the machine type. +@@ -405,13 +375,6 @@ traditionally @file{config.cache}. @var{file} defaults to + @itemx -C + Alias for @option{--cache-file=config.cache}. + +-@item --quiet +-@itemx --silent +-@itemx -q +-Do not print messages saying which checks are being made. To suppress +-all normal output, redirect it to @file{/dev/null} (any error messages +-will still be shown). +- + @item --srcdir=@var{dir} + Look for the package's source code in directory @var{dir}. Usually + @command{configure} can determine that directory automatically. +@@ -421,13 +384,33 @@ Use @var{dir} as the installation prefix. @ref{Installation Names} + for more details, including other options available for fine-tuning + the installation locations. + ++@item --build=@var{type} ++Build for architecture @var{type}. @ref{Specifying the System Type} ++for more details, including other system type options. ++ ++@item --enable-@var{feature} ++@itemx --disable-@var{feature} ++Enable or disable the optional @var{feature}. @xref{Optional Features}. ++ ++@item --with-@var{package} ++@itemx --without-@var{package} ++Use or omit @var{package} when building. @xref{Optional Features}. ++ ++@item --quiet ++@itemx --silent ++@itemx -q ++Do not print messages saying which checks are being made. To suppress ++all normal output, redirect it to @file{/dev/null} (any error messages ++will still be shown). ++ + @item --no-create + @itemx -n + Run the configure checks, but stop before creating any output files. + @end table + + @noindent +-@command{configure} also accepts some other, not widely useful, options. ++@command{configure} also recognizes several environment variables, ++and accepts some other, less widely useful, options. + Run @samp{configure --help} for more details. + + @c Local Variables: +-- +2.41.0 + 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 new file mode 100644 index 00000000000..7ab50747551 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch @@ -0,0 +1,58 @@ +From eaea61e4485cdecf989fa777ff4e166c945a6eea Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Tue, 20 Jun 2023 13:39:15 -0700 +Subject: [PATCH 27/29] doc: fix broken cross-refs + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + doc/autoconf.texi | 5 +---- + doc/install.texi | 2 +- + 2 files changed, 2 insertions(+), 5 deletions(-) + +diff --git a/doc/autoconf.texi b/doc/autoconf.texi +index 0f3047b31..7817fc1b5 100644 +--- a/doc/autoconf.texi ++++ b/doc/autoconf.texi +@@ -604,7 +604,6 @@ Running @command{configure} Scripts + * Multiple Architectures:: Compiling for multiple architectures at once + * Installation Names:: Installing in different directories + * Optional Features:: Selecting optional features +-* Particular Systems:: Particular systems + * System Type:: Specifying the system type + * Sharing Defaults:: Setting site-wide defaults for @command{configure} + * Defining Variables:: Specifying the compiler etc. +@@ -23304,7 +23303,6 @@ may use comes with Autoconf. + * Multiple Architectures:: Compiling for multiple architectures at once + * Installation Names:: Installing in different directories + * Optional Features:: Selecting optional features +-* Particular Systems:: Particular systems + * System Type:: Specifying the system type + * Sharing Defaults:: Setting site-wide defaults for @command{configure} + * Defining Variables:: Specifying the compiler etc. +@@ -26990,8 +26988,7 @@ for simple differences. + @item + Most tests which produce their result in a substituted variable allow to + override the test by setting the variable on the @command{configure} +-command line (@pxref{Compilers and Options}, @pxref{Defining Variables}, +-@pxref{Particular Systems}). ++command line (@pxref{Compilers and Options}, @pxref{Defining Variables}). + + @item + Many tests store their result in a cache variable (@pxref{Caching +diff --git a/doc/install.texi b/doc/install.texi +index cec245fd0..6d9788fa9 100644 +--- a/doc/install.texi ++++ b/doc/install.texi +@@ -385,7 +385,7 @@ for more details, including other options available for fine-tuning + the installation locations. + + @item --build=@var{type} +-Build for architecture @var{type}. @ref{Specifying the System Type} ++Build for architecture @var{type}. @ref{System Type}. + for more details, including other system type options. + + @item --enable-@var{feature} +-- +2.41.0 + 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 new file mode 100644 index 00000000000..95ad80df5e2 --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch @@ -0,0 +1,224 @@ +From 328f9b88ef896e8e31818c50d9ec2ade5c892ea4 Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Fri, 23 Jun 2023 17:37:35 +0200 +Subject: [PATCH 28/29] INSTALL: Clarify --build, --host, --target, and the + system types. + +* doc/install.texi (Compilers and Options): Add another reference. +(System Types): Renamed from System Type. Explain how to canonicalize +and how to validate a system type. Don't explain --build, --host, +--target here. +(Building for a different system type): New section. +(Troubleshooting the Build Type): New section. +(Configuring a Compiler): New section. +(configure Invocation): Mention the --host option, not the --build +option, since --build is so rarely needed. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + doc/autoconf.texi | 6 +-- + doc/install.texi | 132 +++++++++++++++++++++++++++++++++++++--------- + 2 files changed, 111 insertions(+), 27 deletions(-) + +diff --git a/doc/autoconf.texi b/doc/autoconf.texi +index 7817fc1b5..043f7fb21 100644 +--- a/doc/autoconf.texi ++++ b/doc/autoconf.texi +@@ -604,7 +604,7 @@ Running @command{configure} Scripts + * Multiple Architectures:: Compiling for multiple architectures at once + * Installation Names:: Installing in different directories + * Optional Features:: Selecting optional features +-* System Type:: Specifying the system type ++* System Types:: Specifying a system type + * Sharing Defaults:: Setting site-wide defaults for @command{configure} + * Defining Variables:: Specifying the compiler etc. + * configure Invocation:: Changing how @command{configure} runs +@@ -22383,7 +22383,7 @@ system it's running on. To do so it runs a script called + command or symbols predefined by the C preprocessor. + + Alternately, the user can specify the system type with command line +-arguments to @command{configure} (@pxref{System Type}. Doing so is ++arguments to @command{configure} (@pxref{System Types}. Doing so is + necessary when + cross-compiling. In the most complex case of cross-compiling, three + system types are involved. The options to specify them are: +@@ -23303,7 +23303,7 @@ may use comes with Autoconf. + * Multiple Architectures:: Compiling for multiple architectures at once + * Installation Names:: Installing in different directories + * Optional Features:: Selecting optional features +-* System Type:: Specifying the system type ++* System Types:: Specifying a system type + * Sharing Defaults:: Setting site-wide defaults for @command{configure} + * Defining Variables:: Specifying the compiler etc. + * configure Invocation:: Changing how @command{configure} runs +diff --git a/doc/install.texi b/doc/install.texi +index 6d9788fa9..a3ef17828 100644 +--- a/doc/install.texi ++++ b/doc/install.texi +@@ -157,8 +157,16 @@ Here is an example: + ./configure CC=gcc CFLAGS=-g LIBS=-lposix + @end example + +-@xref{Defining Variables}, for more details. +- ++See ++@ref{Defining Variables} and ++@ifset autoconf ++@ref{Preset Output Variables} ++@end ifset ++@ifclear autoconf ++@ref{Preset Output Variables,,, autoconf, Autoconf} ++@c (@url{https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Preset-Output-Variables.html}) ++@end ifclear ++for more details. + + @node Multiple Architectures + @section Compiling For Multiple Architectures +@@ -263,18 +271,17 @@ output, which can be overridden with @code{make V=1}; while running + @samp{./configure --disable-silent-rules} sets the default to verbose, + which can be overridden with @code{make V=0}. + +-@node System Type +-@section Specifying the System Type ++@node System Types ++@section Specifying a System Type + +-There may be some features @command{configure} cannot figure out +-automatically, but needs to determine by the type of machine the package +-will run on. Usually, assuming the package is built to be run on the +-@emph{same} architectures, @command{configure} can figure that out, but +-if it prints a message saying it cannot guess the machine type, give it +-the @option{--build=@var{type}} option. @var{type} can either be a +-short name like @samp{mingw64} for the system type, or a canonical name +-like @samp{x86_64-pc-linux-gnu} +-which has the form: ++The following sections go into details regarding situations where you ++may have to specify a system type, either through the option ++@option{--host=@var{type}}, or through the option ++@option{--build=@var{type}}, or -- in the case of compilers -- through ++@option{--target=@var{type}}. ++ ++A system type @var{type} can either be a short name like @samp{mingw64}, ++or a canonical name like @samp{x86_64-pc-linux-gnu} which has the form: + + @example + @var{cpu}-@var{company}-@var{system} +@@ -291,16 +298,93 @@ where @var{system} can have one of these forms: + @noindent + See the file @file{config.sub} for the possible values of each field. + If @file{config.sub} isn't included in this package, then this package +-doesn't need to know the machine type. ++doesn't need to know any machine type. ++ ++The file @file{config.sub} is a program that validates and canonicalizes ++a system type. ++It can do canonicalization, as in ++ ++@example ++$ sh config.sub x86_64-linux ++x86_64-pc-linux-gnu ++$ sh config.sub arm64-linux ++aarch64-unknown-linux-gnu ++@end example ++ ++@noindent ++It also validates the parts. For example, this interaction tells you ++that ``crusoe'' is not a valid cpu architecture name: + +-If you are @emph{building} compiler tools for cross-compiling, you +-should use the option @option{--target=@var{type}} to select the type of +-system they will produce code for. ++@example ++$ sh config.sub crusoe-linux ++Invalid configuration `crusoe-linux': machine `crusoe-unknown' not recognized ++@end example ++ ++@node Building for a different system type ++@section Creating binaries for a different system type ++ ++When you want to create binaries that will run on a different machine ++type than the one you are building on, you need to specify both ++@itemize @bullet ++@item ++a @option{--host=@var{type}} option, specifying the machine type on ++which the binaries shall run, ++@item ++compiler variables (@code{CC} for the C compiler, @code{CXX} for the C++ ++compiler, and so on), pointing to compilers that generate object code ++for that machine type. ++@end itemize ++ ++For example, to create binaries intended to run on a 64-bit ARM ++processor: ++@example ++./configure --host=aarch64-linux-gnu \ ++ CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ ++@end example + +-If you want to @emph{use} a cross compiler, that generates code for a +-platform different from the build platform, you should specify the +-@dfn{host} platform (i.e., that on which the generated programs will +-eventually be run) with @option{--host=@var{type}}. ++If you do this on a machine that can execute such binaries (e.g.@: by ++virtue of the @code{qemu-aarch64} program, system libraries for that ++architecture under @code{$QEMU_LD_PREFIX}, and a Linux ++@code{binfmt_misc} configuration), the build behaves like a native ++build. ++If not, the build is a cross-build, in the sense that @code{configure} ++will make cross-compilation guesses instead of running test programs, ++and ``make check'' will not work. ++ ++@node Troubleshooting the Build Type ++@section Fixing a ``cannot guess build type'' error ++ ++In rare cases, it may happen that @code{configure} fails with the error ++message ``cannot guess build type''. ++This error means that the files @file{config.guess} and ++@file{config.sub} don't recognize the type of the system on which you ++are building. ++In this case, first fetch the newest versions of these files, from ++@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess} ++and ++@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub}, ++respectively, and use these as drop-in replacement for the files ++@file{config.guess} and @file{config.sub} that were shipped with this ++package. ++ ++If this resolves the problem, feel free to report the solution to the ++maintainers of this package. ++ ++Otherwise, it means that your system is not yet supported by ++@file{config.guess} and @file{config.sub}. ++As a workaround, you can use a configure option ++@option{--build=@var{type}}, where @var{type} comes closest to your ++system type. ++Also, you're welcome to file a report to ++@email{config-patches@@gnu.org}. ++ ++@node Configuring a Compiler ++@section Configuration options specific to a compiler ++ ++If you are building a compiler, and this compiler should generate code ++for a system type that is different from the one on which the compiler ++binaries shall run on, use the option @option{--target=@var{type}} to ++select the type of system for which the compiler should produce code. + + @node Sharing Defaults + @section Sharing Defaults +@@ -384,9 +468,9 @@ Use @var{dir} as the installation prefix. @ref{Installation Names} + for more details, including other options available for fine-tuning + the installation locations. + +-@item --build=@var{type} +-Build for architecture @var{type}. @ref{System Type}. +-for more details, including other system type options. ++@item --host=@var{type} ++Build binaries for architecture @var{type}. @ref{System Types} and ++@ref{Building for a different system type} for more details. + + @item --enable-@var{feature} + @itemx --disable-@var{feature} +-- +2.41.0 + 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 new file mode 100644 index 00000000000..9129ab789ac --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch @@ -0,0 +1,366 @@ +From d8ca8b323873e5cd9d969a062f70b31db450ba53 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sat, 24 Jun 2023 14:39:34 -0700 +Subject: [PATCH 29/29] Shorten and improve INSTALL +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Rewrite install.texi so that INSTALL is shorter and hopefully +more useful for new installers. +* doc/install.texi: When not building the Autoconf manual, put +copyright notice at the end, and omit external references as they +do not work in INSTALL. +Avoid long URLs as they do not work well in INSTALL or +in info files. Be more consistent (though not entirely +consistent) about “system” vs “architecture”. +(System Types, Building for a different system type) +(Troubleshooting the Build Type): Coalesce into a single section +and rewrite for clarity and brevity. Mention build-aux. Do not +mention --target here as it’s too rare to make the cut. + +Upstream-Status: Backport +Signed-off-by: Khem Raj +--- + doc/install.texi | 224 +++++++++++++++++------------------------------ + 1 file changed, 82 insertions(+), 142 deletions(-) + +diff --git a/doc/install.texi b/doc/install.texi +index a3ef17828..6c3a9c21c 100644 +--- a/doc/install.texi ++++ b/doc/install.texi +@@ -2,23 +2,13 @@ + @c the INSTALL file. + + @ifclear autoconf +- + @unnumbered Installation Instructions +- +-Copyright @copyright{} 1994--1996, 1999--2002, 2004--2017, 2020--2023 +-Free Software Foundation, Inc. +- +-Copying and distribution of this file, with or without modification, are +-permitted in any medium without royalty provided the copyright notice +-and this notice are preserved. This file is offered as-is, without +-warranty of any kind. +- + @end ifclear + + @node Basic Installation + @section Basic Installation + +-Briefly, the following shell commands: ++The following shell commands: + + @example + test -f configure || ./bootstrap +@@ -41,8 +31,13 @@ of the features documented below. The lack of an optional feature in a + given package is not necessarily a bug. + @end ifclear + More recommendations for GNU packages can be found in ++@ifset autoconf + @ref{Makefile Conventions, , Makefile Conventions, standards, + GNU Coding Standards}. ++@end ifset ++@ifclear autoconf ++the GNU Coding Standards. ++@end ifclear + + If the @command{bootstrap} shell script exists, it attempts to build the + @command{configure} shell script and related files, perhaps by +@@ -61,8 +56,8 @@ those values to create a @file{Makefile} in each directory of the + package. It may also create one or more @file{.h} files containing + system-dependent definitions. Finally, it creates a shell script + @file{config.status} that you can run in the future to recreate the +-current configuration, and a file @file{config.log} containing compiler +-output (useful mainly for debugging @command{configure}). ++current configuration, and a file @file{config.log} containing ++output useful for debugging @command{configure}. + + It can also use an optional file (typically called @file{config.cache} + and enabled with @option{--cache-file=config.cache} or simply +@@ -77,10 +72,9 @@ they can be considered for the next release. If you are using the + cache, and at some point @file{config.cache} contains results you don't + want to keep, you may remove or edit it. + +-The file @file{configure.ac} (or @file{configure.in}) is used to create +-@file{configure} by a program called @command{autoconf}. You need +-@file{configure.ac} if you want to change it or regenerate +-@file{configure} using a newer version of @command{autoconf}. ++The @command{autoconf} program generates @file{configure} from the file ++@file{configure.ac}. Normally you should edit @file{configure.ac} ++instead of editing @file{configure} directly. + + The simplest way to compile this package is: + +@@ -95,8 +89,7 @@ You may need special developer tools and network access to bootstrap. + + @item + Type @samp{./configure} to configure the package for your system. +- +-Running @command{configure} might take a while. While running, it prints some ++This might take a while. While running, @command{configure} prints + messages telling which features it is checking for. + + @item +@@ -125,21 +118,11 @@ code directory by typing @samp{make clean}. To also remove the files + that @command{configure} created (so you can compile the package for a + different kind of computer), type @samp{make distclean}. There is also + a @samp{make maintainer-clean} target, but that is intended mainly for +-the package's developers. If you use it, you may have to get all sorts +-of other programs in order to regenerate files that came with the +-distribution. ++the package's developers. If you use it, you may have to bootstrap again. + + @item +-Often, you can also type @samp{make uninstall} to remove the installed +-files again. In practice, not all packages have tested that +-uninstallation works correctly, even though it is required by the +-GNU Coding Standards. +- +-@item +-Some packages, particularly those that use Automake, provide @samp{make +-distcheck}, which can by used by developers to test that all other +-targets like @samp{make install} and @samp{make uninstall} work +-correctly. This target is generally not run by end users. ++If the package follows the GNU Coding Standards, ++you can type @samp{make uninstall} to remove the installed files. + @end enumerate + + @node Compilers and Options +@@ -158,21 +141,17 @@ Here is an example: + @end example + + See +-@ref{Defining Variables} and ++@ref{Defining Variables} + @ifset autoconf +-@ref{Preset Output Variables} ++and @ref{Preset Output Variables} + @end ifset +-@ifclear autoconf +-@ref{Preset Output Variables,,, autoconf, Autoconf} +-@c (@url{https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Preset-Output-Variables.html}) +-@end ifclear + for more details. + + @node Multiple Architectures + @section Compiling For Multiple Architectures + + You can compile the package for more than one kind of computer at the +-same time, by placing the object files for each architecture in their ++same time, by placing the object files for each system in their + own directory. To do this, you can use GNU @command{make}. + @command{cd} to the directory where you want the object files and + executables to go and run the @command{configure} script. +@@ -182,9 +161,9 @@ known as a @dfn{VPATH} build. + + With a non-GNU @command{make}, + it is safer to compile the package for one +-architecture at a time in the source code directory. After you have +-installed the package for one architecture, use @samp{make distclean} +-before reconfiguring for another architecture. ++system at a time in the source code directory. After you have ++installed the package for one system, use @samp{make distclean} ++before reconfiguring for another system. + + Some platforms, notably macOS, support ``fat'' or ``universal'' binaries, + where a single binary can execute on different architectures. +@@ -274,117 +253,65 @@ which can be overridden with @code{make V=0}. + @node System Types + @section Specifying a System Type + +-The following sections go into details regarding situations where you +-may have to specify a system type, either through the option +-@option{--host=@var{type}}, or through the option +-@option{--build=@var{type}}, or -- in the case of compilers -- through +-@option{--target=@var{type}}. +- +-A system type @var{type} can either be a short name like @samp{mingw64}, +-or a canonical name like @samp{x86_64-pc-linux-gnu} which has the form: +- +-@example +-@var{cpu}-@var{company}-@var{system} +-@end example +- +-@noindent +-where @var{system} can have one of these forms: ++By default @command{configure} builds for the current system. ++To create binaries that can run on a different system type, ++specify a @option{--host=@var{type}} option along with compiler ++variables that specify how to generate object code for @var{type}. ++For example, to create binaries intended to run on a 64-bit ARM ++processor: + + @example +-@var{os} +-@var{kernel}-@var{os} ++./configure --host=aarch64-linux-gnu \ ++ CC=aarch64-linux-gnu-gcc \ ++ CXX=aarch64-linux-gnu-g++ + @end example + + @noindent +-See the file @file{config.sub} for the possible values of each field. +-If @file{config.sub} isn't included in this package, then this package +-doesn't need to know any machine type. +- +-The file @file{config.sub} is a program that validates and canonicalizes +-a system type. +-It can do canonicalization, as in ++If done on a machine that can execute these binaries ++(e.g., via @command{qemu-aarch64}, @env{$QEMU_LD_PREFIX}, and Linux's ++@code{binfmt_misc} capability), the build behaves like a native build. ++Otherwise it is a cross-build: @code{configure} ++will make cross-compilation guesses instead of running test programs, ++and @code{make check} will not work. ++ ++A system type can either be a short name like @samp{mingw64}, ++or a canonical name like @samp{x86_64-pc-linux-gnu}. ++Canonical names have the form @var{cpu}-@var{company}-@var{system} ++where @var{system} is either @var{os} or @var{kernel}-@var{os}. ++To canonicalize and validate a system type, ++you can run the command @file{config.sub}, ++which is often squirreled away in a subdirectory like @file{build-aux}. ++For example: + + @example +-$ sh config.sub x86_64-linux +-x86_64-pc-linux-gnu +-$ sh config.sub arm64-linux ++$ build-aux/config.sub arm64-linux + aarch64-unknown-linux-gnu ++$ build-aux/config.sub riscv-lnx ++Invalid configuration 'riscv-lnx': OS 'lnx' not recognized + @end example + + @noindent +-It also validates the parts. For example, this interaction tells you +-that ``crusoe'' is not a valid cpu architecture name: +- +-@example +-$ sh config.sub crusoe-linux +-Invalid configuration `crusoe-linux': machine `crusoe-unknown' not recognized +-@end example +- +-@node Building for a different system type +-@section Creating binaries for a different system type +- +-When you want to create binaries that will run on a different machine +-type than the one you are building on, you need to specify both +-@itemize @bullet +-@item +-a @option{--host=@var{type}} option, specifying the machine type on +-which the binaries shall run, +-@item +-compiler variables (@code{CC} for the C compiler, @code{CXX} for the C++ +-compiler, and so on), pointing to compilers that generate object code +-for that machine type. +-@end itemize +- +-For example, to create binaries intended to run on a 64-bit ARM +-processor: +-@example +-./configure --host=aarch64-linux-gnu \ +- CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ +-@end example +- +-If you do this on a machine that can execute such binaries (e.g.@: by +-virtue of the @code{qemu-aarch64} program, system libraries for that +-architecture under @code{$QEMU_LD_PREFIX}, and a Linux +-@code{binfmt_misc} configuration), the build behaves like a native +-build. +-If not, the build is a cross-build, in the sense that @code{configure} +-will make cross-compilation guesses instead of running test programs, +-and ``make check'' will not work. +- +-@node Troubleshooting the Build Type +-@section Fixing a ``cannot guess build type'' error +- +-In rare cases, it may happen that @code{configure} fails with the error +-message ``cannot guess build type''. +-This error means that the files @file{config.guess} and +-@file{config.sub} don't recognize the type of the system on which you +-are building. +-In this case, first fetch the newest versions of these files, from +-@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess} +-and +-@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub}, +-respectively, and use these as drop-in replacement for the files +-@file{config.guess} and @file{config.sub} that were shipped with this +-package. +- +-If this resolves the problem, feel free to report the solution to the +-maintainers of this package. +- +-Otherwise, it means that your system is not yet supported by +-@file{config.guess} and @file{config.sub}. +-As a workaround, you can use a configure option +-@option{--build=@var{type}}, where @var{type} comes closest to your +-system type. +-Also, you're welcome to file a report to ++You can look at the @file{config.sub} file to see which types are recognized. ++If the file is absent, this package does not need the system type. ++ ++If @command{configure} fails with the diagnostic ``cannot guess build type''. ++@file{config.sub} did not recognize your system's type. ++In this case, first fetch the newest versions of these files ++from the @url{https://savannah.gnu.org/projects/config, GNU config package}. ++If that fixes things, please report it to the ++maintainers of the package containing @command{configure}. ++Otherwise, you can try the configure option ++@option{--build=@var{type}} where @var{type} comes close to your ++system type; also, please report the problem to + @email{config-patches@@gnu.org}. + +-@node Configuring a Compiler +-@section Configuration options specific to a compiler +- +-If you are building a compiler, and this compiler should generate code +-for a system type that is different from the one on which the compiler +-binaries shall run on, use the option @option{--target=@var{type}} to +-select the type of system for which the compiler should produce code. ++For more details about configuring system types, see ++@ifset autoconf ++@ref{Manual Configuration}. ++@end ifset ++@ifclear autoconf ++the Autoconf documentation. ++@end ifclear + + @node Sharing Defaults + @section Sharing Defaults +@@ -469,8 +396,8 @@ for more details, including other options available for fine-tuning + the installation locations. + + @item --host=@var{type} +-Build binaries for architecture @var{type}. @ref{System Types} and +-@ref{Building for a different system type} for more details. ++Build binaries for system @var{type}. ++@xref{System Types}. + + @item --enable-@var{feature} + @itemx --disable-@var{feature} +@@ -497,6 +424,19 @@ Run the configure checks, but stop before creating any output files. + and accepts some other, less widely useful, options. + Run @samp{configure --help} for more details. + ++@ifclear autoconf ++@node Copyright notice ++@section Copyright notice ++ ++Copyright @copyright{} 1994--1996, 1999--2002, 2004--2017, 2020--2023 ++Free Software Foundation, Inc. ++ ++Copying and distribution of this file, with or without modification, are ++permitted in any medium without royalty provided the copyright notice ++and this notice are preserved. This file is offered as-is, without ++warranty of any kind. ++@end ifclear ++ + @c Local Variables: + @c fill-column: 72 + @c ispell-local-dictionary: "american" +-- +2.41.0 + diff --git a/meta/recipes-devtools/autoconf/autoconf_2.72c.bb b/meta/recipes-devtools/autoconf/autoconf_2.72c.bb index fe9779e4ddb..76130d58a5f 100644 --- a/meta/recipes-devtools/autoconf/autoconf_2.72c.bb +++ b/meta/recipes-devtools/autoconf/autoconf_2.72c.bb @@ -19,9 +19,41 @@ SRC_URI = " \ file://preferbash.patch \ file://autotest-automake-result-format.patch \ file://man-host-perl.patch \ - " + ${BACKPORTS} \ +" SRC_URI:append:class-native = " file://no-man.patch" +BACKPORTS = "\ + file://backports/0001-mention-prototypes-more-prominently-in-NEWS.patch \ + file://backports/0002-build-run-make-fetch-which-updated-these.patch \ + file://backports/0003-NEWS-Tighten-up-wording.patch \ + file://backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch \ + file://backports/0006-Fix-timing-bug-on-high-speed-builds.patch \ + file://backports/0007-Support-underquoted-callers-better.patch \ + file://backports/0008-New-script-for-building-inside-Guix-containers.patch \ + file://backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch \ + file://backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch \ + file://backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch \ + file://backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch \ + file://backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch \ + file://backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch \ + file://backports/0015-Support-circa-early-2022-Gnulib.patch \ + file://backports/0016-Improve-year2038-largefile-option-processing.patch \ + file://backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch \ + file://backports/0018-Document-limitation-of-BusyBox-tr.patch \ + file://backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch \ + file://backports/0020-Tone-down-year-2038-changes.patch \ + file://backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch \ + file://backports/0022-Fix-port-of-AC_FUNC_MMAP.patch \ + file://backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch \ + file://backports/0024-Improve-AC_FUNC_MMAP-comments.patch \ + file://backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch \ + file://backports/0026-Modernize-INSTALL.patch \ + file://backports/0027-doc-fix-broken-cross-refs.patch \ + file://backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch \ + file://backports/0029-Shorten-and-improve-INSTALL.patch \ +" + SRC_URI[sha256sum] = "21b64169c820c6cdf27fc981ca9c2fb615546e5dead92bccf8d92d0784cdd364" RDEPENDS:${PN} = "m4 gnu-config \ From patchwork Fri Jul 28 03:47:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 28055 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8887AC41513 for ; Fri, 28 Jul 2023 03:48:14 +0000 (UTC) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mx.groups.io with SMTP id smtpd.web10.25561.1690516086202122600 for ; Thu, 27 Jul 2023 20:48:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20221208 header.b=JRiGntM/; spf=pass (domain: gmail.com, ip: 209.85.214.173, mailfrom: raj.khem@gmail.com) Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-1b8ad8383faso13859845ad.0 for ; Thu, 27 Jul 2023 20:48:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690516085; x=1691120885; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=UMTS8jRR6kJW+AV5QIKFYF0la6dG4SHRydRPqnnjukA=; b=JRiGntM/kl4WWau7PoXkQXRWwA465BVYUNikBrHcun6ImRE5Q8Trd+UC39t0lcBveq gbytpC2+a5WuXYxA5Vo0c2HJTcq6XGbeg7od5suNtK7s4T7ILLXg3+WpOUs0gNtGRAa+ /Ahhp9s5kLX6oiQFixY4mWvlrh+mPXeKekRykol3Torq2grgHRxQ+gcr2MkR3ZTeKctW lnb6e0LHYUid+rRuUOLMVV0L6tyuiFeyLaPXzsb9u6RtuZZ5Ce3rZoa8VupjmdldMpIw f8s97KTxKn12vLxio1JQOO3dfJG4kc252GgLPydqYDWqiqHMJnN4uPhKPXTcL2NeMESy FTEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690516085; x=1691120885; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UMTS8jRR6kJW+AV5QIKFYF0la6dG4SHRydRPqnnjukA=; b=cjYwZuAWwtmt1bnMDpXlwspBfwTqW82/q7eVhhYsPRXzr+NvwQDcWtBNHl0XD/PhKg y1n1XWjSqvI0CzICxzwX++sLUO04D484vbDZAdbbGYMQIGdhCi6thzJ41sCqLvkL9Itm /8BmllX2gzbiiRe9QqlEmIpM1Jj8NT6y8ObbDlc/pRE3SIF2UiPyJBqSjMtuSJ9VGAJp yUIes/apAs0JtXkZDKd3guUAl76BzW69dVAEDf5nUEl93x3Cuo9+cLryZWg2qRStypkZ fZeEjj9/uEPo5e9scB+aT/acuYZjxuCxMctQn6PI9OQxFhDt/GrFOFV4J43tE2eWlmMp Zn4Q== X-Gm-Message-State: ABy/qLZR9otvGrIff5euRHTXROYn39recI2OrLopzx7Mxvsg4Oi65zv2 CUmR1VNxPeplNpzVWZ0abo0uxE8OOPBfDw== X-Google-Smtp-Source: APBJJlGyPYwufPklljJPjyPZ3f83oKWdkaCWgvyfJPaltyHWdnP7bmNfQf7N9Y0cpPn2r3vw2mRZPw== X-Received: by 2002:a17:902:d381:b0:1b6:9551:e2b8 with SMTP id e1-20020a170902d38100b001b69551e2b8mr651988pld.34.1690516085195; Thu, 27 Jul 2023 20:48:05 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net ([2601:646:9100:6180::6608]) by smtp.gmail.com with ESMTPSA id ms19-20020a17090b235300b00263f446d432sm3460532pjb.43.2023.07.27.20.48.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jul 2023 20:48:04 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Subject: [PATCH 3/4] Revert "site: merged common-glibc from OE" Date: Thu, 27 Jul 2023 20:47:57 -0700 Message-ID: <4ae43d6f13ec85484356e635e52f18f6f83d5a5d.1690515949.git.raj.khem@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 28 Jul 2023 03:48:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/185009 This reverts commit a2f942c22e31fe15fef1b44a0e5cc548a60d43a6. AC_TYPE_UID_T autoconf macro caches its result in ac_cv_type_uid_t for defining uid_t and gid_t to suitable types if system headers do not define them back in 2008 autoconf did not evaluate it correctly [1] however it works fine now with autoconf 2.72c especially after [2] [1] https://git.openembedded.org/openembedded/commit/?id=d572f3b010ea76c5b79ecf1ae7864f7a6348220a [2] https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=51d98495d1aac00970d791f064e83ca762bf81c7 Signed-off-by: Khem Raj --- meta/site/common-glibc | 1 - 1 file changed, 1 deletion(-) diff --git a/meta/site/common-glibc b/meta/site/common-glibc index 7ba91e03c04..958699b143f 100644 --- a/meta/site/common-glibc +++ b/meta/site/common-glibc @@ -12,7 +12,6 @@ ac_cv_func_getgrgid_r=${ac_cv_func_getgrgid_r=yes} ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes} ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes} ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes} -ac_cv_type_uid_t={ac_cv_type_uid_t=yes} ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes} ac_cv_func_strtod=${ac_cv_func_strtod=yes} From patchwork Fri Jul 28 03:47:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 28056 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71B81C001DF for ; Fri, 28 Jul 2023 03:48:14 +0000 (UTC) Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by mx.groups.io with SMTP id smtpd.web10.25562.1690516086695561734 for ; Thu, 27 Jul 2023 20:48:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20221208 header.b=jlcqgKqt; spf=pass (domain: gmail.com, ip: 209.85.216.45, mailfrom: raj.khem@gmail.com) Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-26809f86bd5so998734a91.3 for ; Thu, 27 Jul 2023 20:48:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690516086; x=1691120886; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ftF8BaxQdmA1UhJsvyxw4749zN5j0jlfny5zU0XmSiE=; b=jlcqgKqt/xJMBx/Qk1ne545md1Ipt1cKfCUCtv/mrspKK+AtxmOALY11TKu+5C9qY6 9v4gQQC7GIFqcRcEjpBCvLeuMa+E1+EO0tFpKEbuExxsO5guWnlRnPtGz0BA3bHLY9Ao BB4lu1yiUvntcERvZ1FfBbVgIAO2fEnFhFdj1nT7kjL6FvtC8gl5xv8yaGt8NsAIZdao KBhLtelLQa/xuwc+eitkm4cPacLWxvcaSbIZtu5lLXV5qZYKfLBt0cd0oEWR2kxg+nf8 gJV81l88M58rGrT7W0hiaxkjY47x7y8kVfoVeX+bqi1GwtzP9PGo8CeXmzecrX1ht0in Y0LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690516086; x=1691120886; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ftF8BaxQdmA1UhJsvyxw4749zN5j0jlfny5zU0XmSiE=; b=iWCu90YQll5mG8I/ObAuBAcpyUQL3/KAJdyqi8qKXvZlr0tzLlnPyozZ1Af7KNkltF 8ZWMer34M4DPvGf6DOTr3+YC9YxumjAz3O9db/DhMDBrhTOylTpJ6zFilYpZz2YhsKW0 +X4a2GPfwgdWuOM5g60Eg9is8aEr/8t+uN5p4PO7twnOVxjwdIYuVA7bHkDFPd/6ozY/ 56dwmcarONXKvgz3EbT+Ifc8xNFuinb0DzoteI2H5pSXB/uy2gxlFjn2+5SvQcCffpGr IMmpOWx/pajscgdlBXK/4ELMvgk9Xt2txEkA4/3NnuKAUGe0KnOgVWL9eVXIeXRzDpPA KF7g== X-Gm-Message-State: ABy/qLac67mVY62rJqAeh0rsoDwljV1OZ/LRcVTOZLdPpJlBz47ug1DR SpOWlcwvhbyqVAK2ZUGl5Fgk1BrSFo66tA== X-Google-Smtp-Source: APBJJlHU7KDRdeTl8KBtdpYwHyf/xh8GxIQis6cR4oCZDlTeexhpNIL7XLlYqbFu0MWhp4jsJ+qZDg== X-Received: by 2002:a17:90a:13c4:b0:268:47c2:e490 with SMTP id s4-20020a17090a13c400b0026847c2e490mr453338pjf.1.1690516085842; Thu, 27 Jul 2023 20:48:05 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net ([2601:646:9100:6180::6608]) by smtp.gmail.com with ESMTPSA id ms19-20020a17090b235300b00263f446d432sm3460532pjb.43.2023.07.27.20.48.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jul 2023 20:48:05 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Subject: [PATCH 4/4] x32-linux: Do not cache ac_cv_sys_file_offset_bits Date: Thu, 27 Jul 2023 20:47:58 -0700 Message-ID: <3cdc8a355d5861c8e0bb1b9cf7984d469935cd9d.1690515949.git.raj.khem@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 28 Jul 2023 03:48:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/185010 This variable is used on some packages e.g. gpgme/libimobiledevice [1] but with new autoconf, its better to let autconf detect it than cache it here [1] https://github.com/gpg/gpgme/blob/master/configure.ac#L659-L670 Signed-off-by: Khem Raj --- meta/site/x32-linux | 1 - 1 file changed, 1 deletion(-) diff --git a/meta/site/x32-linux b/meta/site/x32-linux index cf4ef147f7a..2e120480c35 100644 --- a/meta/site/x32-linux +++ b/meta/site/x32-linux @@ -1,5 +1,4 @@ # general ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16} ac_cv_sizeof_dev_t=${ac_cv_sizeof_dev_t=8} -ac_cv_sys_file_offset_bits=${ac_cv_sys_file_offset_bits=64} ac_cv_alignof_double=8