]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
gettext-full: force compiling target in C23 standard
authorMichael Pratt <mcpratt@pm.me>
Tue, 5 Aug 2025 22:52:13 +0000 (18:52 -0400)
committerRobert Marko <robimarko@gmail.com>
Mon, 11 Aug 2025 20:28:41 +0000 (22:28 +0200)
Currently, the build system overrides the value of the CC variable
for actual compilation after configuring for target builds.
However, the configure script now modifies the CC variable
to include "-std=gnu23" when the test for C23 features is successful.
The configure script also tests for the ability to use alignof
without including the stdalign.h header, and only includes it if necessary.
The test in the configure script is being done with the C23 standard option
but the compilation is being done without the C23 standard option,
leading to an unusual build error where alignof() is not defined.

Resolving the conflict between the autoconf macros and the build system
causes several other packages to fail, so instead in the meantime,
force the use of C23 standard to compile as part of the new standard
includes alignof as a keyword to deprecate the stdalign.h macro.

Forcing use of the new standard is safe for target builds
as the toolchain is known to support the option
and is always within our scope of version control.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/19748
Signed-off-by: Robert Marko <robimarko@gmail.com>
package/libs/gettext-full/Makefile

index 6441677be7033770b2329bbcce9fc763dad54602..d277fb10b64fc646a8223684953fcf3e420082b5 100644 (file)
@@ -73,6 +73,7 @@ endef
 export GNULIB_SRCDIR:=$(HOST_GNULIB_SRCDIR)
 
 TARGET_CFLAGS += $(FPIC)
+TARGET_CFLAGS += -std=gnu23
 ifneq ($(HOST_OS),Linux)
   TARGET_CFLAGS += -I$(STAGING_DIR_HOSTPKG)/include
 endif