diff mbox series

flex: Fix build with autoconf-2.74 and gcc <= 13

Message ID 20260410170117.237402-1-khem.raj@oss.qualcomm.com
State Accepted, archived
Commit a592a30e781e26a3e62e93752cdeb610e2b00e8f
Headers show
Series flex: Fix build with autoconf-2.74 and gcc <= 13 | expand

Commit Message

Khem Raj April 10, 2026, 5:01 p.m. UTC
GCC 13 or below does not support -std=gnu23 but autoconf enforces
it on compilers which do not have C23 turned on by default

Update the autconf m4 file instead of passing cmdline option

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
---
 ...uild-Support-ac_-cv_-build_prog_cc_s.patch | 52 +++++++++++++++++++
 meta/recipes-devtools/flex/flex_2.6.4.bb      |  5 +-
 2 files changed, 53 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-devtools/flex/flex/0001-ax_prog_cc_for_build-Support-ac_-cv_-build_prog_cc_s.patch
diff mbox series

Patch

diff --git a/meta/recipes-devtools/flex/flex/0001-ax_prog_cc_for_build-Support-ac_-cv_-build_prog_cc_s.patch b/meta/recipes-devtools/flex/flex/0001-ax_prog_cc_for_build-Support-ac_-cv_-build_prog_cc_s.patch
new file mode 100644
index 0000000000..be7cc5ff5d
--- /dev/null
+++ b/meta/recipes-devtools/flex/flex/0001-ax_prog_cc_for_build-Support-ac_-cv_-build_prog_cc_s.patch
@@ -0,0 +1,52 @@ 
+From 41f4c52fa5661551842c5a57a2b6f93382176bd6 Mon Sep 17 00:00:00 2001
+From: Kang-Che Sung <explorer09@gmail.com>
+Date: Wed, 16 Oct 2024 21:56:44 +0800
+Subject: [PATCH] ax_prog_cc_for_build: Support ac_{,cv_}build_prog_cc_stdc
+
+Improve compatibility with Autoconf 2.70 and later. Add support for
+these variables for indicating build compiler capabilities:
+* ac_cv_build_prog_cc_stdc (corresponding to ac_cv_prog_cc_stdc;
+  Autoconf 2.70)
+* ac_build_prog_cc_stdc (corresponding to ac_prog_cc_stdc;
+  Autoconf 2.70)
+* ac_cv_build_prog_cc_c23 (corresponding to ac_cv_prog_cc_c23;
+  Autoconf 2.73)
+
+Upstream-Status: Backport [https://github.com/autoconf-archive/autoconf-archive/commit/8a970ce96721f516fef4226e5eca8da341159765]
+Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
+---
+ m4/ax_prog_cc_for_build.m4 | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
+index 77fd346..d48e622 100644
+--- a/m4/ax_prog_cc_for_build.m4
++++ b/m4/ax_prog_cc_for_build.m4
+@@ -45,9 +45,12 @@ dnl Use the standard macros, but make them use other variable names
+ dnl
+ pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
+ pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
++pushdef([ac_cv_prog_cc_c23], ac_cv_build_prog_cc_c23)dnl
++pushdef([ac_cv_prog_cc_stdc], ac_cv_build_prog_cc_stdc)dnl
+ pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
+ pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
+ pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
++pushdef([ac_prog_cc_stdc], ac_build_prog_cc_stdc)dnl
+ pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
+ pushdef([ac_cv_objext], ac_cv_build_objext)dnl
+ pushdef([ac_exeext], ac_build_exeext)dnl
+@@ -105,11 +108,14 @@ popdef([CPP])dnl
+ popdef([CC])dnl
+ popdef([ac_objext])dnl
+ popdef([ac_exeext])dnl
++popdef([ac_prog_cc_stdc])dnl
+ popdef([ac_cv_objext])dnl
+ popdef([ac_cv_exeext])dnl
+ popdef([ac_cv_prog_cc_g])dnl
+ popdef([ac_cv_prog_cc_cross])dnl
+ popdef([ac_cv_prog_cc_works])dnl
++popdef([ac_cv_prog_cc_stdc])dnl
++popdef([ac_cv_prog_cc_c23])dnl
+ popdef([ac_cv_prog_gcc])dnl
+ popdef([ac_cv_prog_CPP])dnl
+
diff --git a/meta/recipes-devtools/flex/flex_2.6.4.bb b/meta/recipes-devtools/flex/flex_2.6.4.bb
index 0507d4e300..bbaa6f3998 100644
--- a/meta/recipes-devtools/flex/flex_2.6.4.bb
+++ b/meta/recipes-devtools/flex/flex_2.6.4.bb
@@ -20,6 +20,7 @@  SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/flex-${PV}.tar.gz \
            file://0001-Emit-no-line-directives-if-gen_line_dirs-is-false.patch \
            file://0001-build-tests-add-missing-parser-scanner-dependencies.patch \
            file://0001-Match-malloc-signature-to-its-use.patch \
+		   file://0001-ax_prog_cc_for_build-Support-ac_-cv_-build_prog_cc_s.patch \
            "
 
 SRC_URI[sha256sum] = "e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995"
@@ -36,10 +37,6 @@  inherit autotools gettext texinfo ptest github-releases
 M4 = "${bindir}/m4"
 M4:class-native = "${STAGING_BINDIR_NATIVE}/m4"
 EXTRA_OECONF += "ac_cv_path_M4=${M4} ac_cv_func_reallocarray=no"
-# Don't let autoconf smarts to detect C standard, flex code does not need C23
-# which is what it will enforce see
-# https://savannah.gnu.org/support/index.php?111401
-CACHED_CONFIGUREVARS:append:toolchain-clang = " CFLAGS='${CFLAGS} -std=gnu17'"
 
 EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4"