diff mbox

diffutils: set gnu99 C mode

Message ID 1380511689.20480.1.camel@phoenix
State Rejected
Headers show

Commit Message

Axel Lin Sept. 30, 2013, 3:28 a.m. UTC
Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
Fix below build error:

  CC       dir.o
dir.c: In function 'find_dir_file_pathname':
dir.c:345:8: error: 'for' loop initial declarations are only allowed in C99 mode
dir.c:345:8: note: use option -std=c99 or -std=gnu99 to compile your code
make[3]: *** [dir.o] Error 1
make[3]: *** Waiting for unfinished jobs....

 package/diffutils/diffutils.mk | 1 +
 1 file changed, 1 insertion(+)

Comments

Thomas Petazzoni Sept. 30, 2013, 9:08 p.m. UTC | #1
Dear Axel Lin,

On Mon, 30 Sep 2013 11:28:09 +0800, Axel Lin wrote:
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
> Fix below build error:
> 
>   CC       dir.o
> dir.c: In function 'find_dir_file_pathname':
> dir.c:345:8: error: 'for' loop initial declarations are only allowed in C99 mode
> dir.c:345:8: note: use option -std=c99 or -std=gnu99 to compile your code
> make[3]: *** [dir.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> 
>  package/diffutils/diffutils.mk | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk
> index 6934532..38b1ccd 100644
> --- a/package/diffutils/diffutils.mk
> +++ b/package/diffutils/diffutils.mk
> @@ -10,6 +10,7 @@ DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils
>  DIFFUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
>  DIFFUTILS_LICENSE = GPLv3+
>  DIFFUTILS_LICENSE_FILES = COPYING
> +DIFFUTILS_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
>  
>  ifeq ($(BR2_PACKAGE_BUSYBOX),y)
>  DIFFUTILS_DEPENDENCIES += busybox

Hum, seems strange that this is needed. I see that the configure.ac of
diffutils 3.2 (currently in Buildroot) has AM_PROG_CC_STDC, it has been
removed since then. If diffutils uses C99 constructs, then it should be
specifying AC_PROG_CC_C99 in its configure.ac, I guess.

Of course, what you propose is a relatively simple workaround, but I
believe the real fix is in diffutils itself.

Best regards,

Thomas
Axel Lin Oct. 1, 2013, 3:09 a.m. UTC | #2
2013/10/1 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
> Dear Axel Lin,
>
> On Mon, 30 Sep 2013 11:28:09 +0800, Axel Lin wrote:
>> Signed-off-by: Axel Lin <axel.lin@ingics.com>
>> ---
>> Fix below build error:
>>
>>   CC       dir.o
>> dir.c: In function 'find_dir_file_pathname':
>> dir.c:345:8: error: 'for' loop initial declarations are only allowed in C99 mode
>> dir.c:345:8: note: use option -std=c99 or -std=gnu99 to compile your code
>> make[3]: *** [dir.o] Error 1
>> make[3]: *** Waiting for unfinished jobs....
>>
>>  package/diffutils/diffutils.mk | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk
>> index 6934532..38b1ccd 100644
>> --- a/package/diffutils/diffutils.mk
>> +++ b/package/diffutils/diffutils.mk
>> @@ -10,6 +10,7 @@ DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils
>>  DIFFUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
>>  DIFFUTILS_LICENSE = GPLv3+
>>  DIFFUTILS_LICENSE_FILES = COPYING
>> +DIFFUTILS_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
>>
>>  ifeq ($(BR2_PACKAGE_BUSYBOX),y)
>>  DIFFUTILS_DEPENDENCIES += busybox
>
> Hum, seems strange that this is needed. I see that the configure.ac of
> diffutils 3.2 (currently in Buildroot) has AM_PROG_CC_STDC, it has been
> removed since then. If diffutils uses C99 constructs, then it should be
> specifying AC_PROG_CC_C99 in its configure.ac, I guess.
>
> Of course, what you propose is a relatively simple workaround, but I
> believe the real fix is in diffutils itself.

Hi Thomas,
Thanks for the review and please ignore this patch.
I have no idea why I cannot reproduce this issue now.
I can build diffutils without this patch today.

Regards,
Axel
diff mbox

Patch

diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk
index 6934532..38b1ccd 100644
--- a/package/diffutils/diffutils.mk
+++ b/package/diffutils/diffutils.mk
@@ -10,6 +10,7 @@  DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils
 DIFFUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 DIFFUTILS_LICENSE = GPLv3+
 DIFFUTILS_LICENSE_FILES = COPYING
+DIFFUTILS_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
 
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 DIFFUTILS_DEPENDENCIES += busybox