diff mbox series

[v2,1/3] package/feh: Fix build issue with some older cross-compilers

Message ID 20171115132754.9755-1-petr.vorel@gmail.com
State Changes Requested
Headers show
Series [v2,1/3] package/feh: Fix build issue with some older cross-compilers | expand

Commit Message

Petr Vorel Nov. 15, 2017, 1:27 p.m. UTC
by adding -std=gnu11 to CFLAGS.

NOTE: make needs to have variables before make as it's required by config.mk.

Fixes:
http://autobuild.buildroot.net/results/94527fcd70fa85298c366537013c939534beead0/
http://autobuild.buildroot.net/results/bf31199cdaa18971a9b599c26fbefac73b2d6f30/
http://autobuild.buildroot.net/results/5b65c305b50664e02d5f8022278055c80739342d/
http://autobuild.buildroot.net/results/ed3b9fb8d09cd677af4b8825566877c552926ae5/

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
 package/feh/feh.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Thomas Petazzoni Nov. 15, 2017, 9:09 p.m. UTC | #1
Hello,

On Wed, 15 Nov 2017 14:27:52 +0100, Petr Vorel wrote:

>  define FEH_BUILD_CMDS
> -	$(TARGET_MAKE_ENV) $(MAKE1) CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \
> -		-C $(@D) all
> +	$(TARGET_MAKE_ENV) CFLAGS="$(TARGET_CFLAGS) -std=gnu11" $(MAKE1) \

std=gnu11 was only added in gcc 4.7, so using this would break the
build with gcc < 4.7. According to the error message, only C99 is
needed, so could you try instead -std=c99, which is available since at
least gcc 4.2 ?

Thanks!

Thomas
Petr Vorel Nov. 15, 2017, 9:33 p.m. UTC | #2
Hello Thomas,

> On Wed, 15 Nov 2017 14:27:52 +0100, Petr Vorel wrote:

> >  define FEH_BUILD_CMDS
> > -	$(TARGET_MAKE_ENV) $(MAKE1) CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \
> > -		-C $(@D) all
> > +	$(TARGET_MAKE_ENV) CFLAGS="$(TARGET_CFLAGS) -std=gnu11" $(MAKE1) \

> std=gnu11 was only added in gcc 4.7, so using this would break the
> build with gcc < 4.7. According to the error message, only C99 is
> needed, so could you try instead -std=c99, which is available since at
> least gcc 4.2 ?

Would it be -std=gnu99 sufficient for buildroot? Or it's a problem for some compilers?
If yes, I'll patch the sources as it depends on alphasort(), which is not available on c99.


Kind regards,
Petr
Thomas Petazzoni Nov. 15, 2017, 9:35 p.m. UTC | #3
Hello,

On Wed, 15 Nov 2017 22:33:04 +0100, Petr Vorel wrote:

> > std=gnu11 was only added in gcc 4.7, so using this would break the
> > build with gcc < 4.7. According to the error message, only C99 is
> > needed, so could you try instead -std=c99, which is available since at
> > least gcc 4.2 ?  
> 
> Would it be -std=gnu99 sufficient for buildroot? Or it's a problem for some compilers?
> If yes, I'll patch the sources as it depends on alphasort(), which is not available on c99.

gnu99 is available since gcc 4.2 as well, see
https://gcc.gnu.org/onlinedocs/gcc-4.2.0/gcc/Standards.html#Standards,
so gnu99 should be fine.

Thomas
diff mbox series

Patch

diff --git a/package/feh/feh.mk b/package/feh/feh.mk
index 3f4c410440..98e580f5bf 100644
--- a/package/feh/feh.mk
+++ b/package/feh/feh.mk
@@ -12,8 +12,8 @@  FEH_LICENSE = MIT
 FEH_LICENSE_FILES = COPYING
 
 define FEH_BUILD_CMDS
-	$(TARGET_MAKE_ENV) $(MAKE1) CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \
-		-C $(@D) all
+	$(TARGET_MAKE_ENV) CFLAGS="$(TARGET_CFLAGS) -std=gnu11" $(MAKE1) \
+		CC="$(TARGET_CC) $(TARGET_LDFLAGS)" -C $(@D) all
 endef
 
 define FEH_INSTALL_TARGET_CMDS