Browse Source

package/bash: fix build with host GCC 15

bash uses K&R function declarations which have been removed in C23.

Since part of the build process (like the mkbuiltins helper) is written
in C, building bash now fails on hosts with GCC 15 (which defaults to
C23).

Since properly fixing this on the source code level is a larger
endeavor, just set the C standard to an old enough version for now.

Signed-off-by: Florian Larysch <fl@n621.de>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Florian Larysch 2 months ago
parent
commit
6d09b25d08
1 changed files with 4 additions and 0 deletions
  1. 4 0
      package/bash/bash.mk

+ 4 - 0
package/bash/bash.mk

@@ -26,6 +26,10 @@ BASH_CONF_ENV += \
 	bash_cv_func_sigsetjmp=present \
 	bash_cv_func_sigsetjmp=present \
 	bash_cv_printf_a_format=yes
 	bash_cv_printf_a_format=yes
 
 
+ifeq ($(BR2_HOST_GCC_AT_LEAST_15),y)
+BASH_CONF_ENV += CFLAGS_FOR_BUILD="$(HOST_CFLAGS) -std=gnu17"
+endif
+
 # The static build needs some trickery
 # The static build needs some trickery
 ifeq ($(BR2_STATIC_LIBS),y)
 ifeq ($(BR2_STATIC_LIBS),y)
 BASH_CONF_OPTS += --enable-static-link
 BASH_CONF_OPTS += --enable-static-link