Voelker, Bernhard wrote: > Jim Meyering wrote: >> coreutils began the switch to C99 years ago, and that sort of >> initialization is a new addition. We did debate whether to use the >> new-to-coreutils construct. However, if that's the only bit of code >> that causes build failure for this compiler, I may accommodate it with >> the attached patch: > > thanx for the quick response. > > Side note: according to the help output, this compiler supports C99 > syntax: > -xc99[=<a>] Enable ISO C99 features, <a>={%all,%none} > but using that option doesn't make any difference. > > Changing the code using your patch makes `make` work. > Unfortunately, `make check` also fails: > > CC stdbuf.o > "stdbuf.c", line 214: warning: non-constant initializer: op "NAME" > "stdbuf.c", line 214: left operand must be modifiable lvalue: op "=" > "stdbuf.c", line 261: cannot recover from previous errors > cc: acomp failed for stdbuf.c
Here's a better patch. (this also renames check-AUTHORS to sc_check-AUTHORS) >From d25101cc306f9fba8e30ee739ceb1982434367f6 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Tue, 18 Aug 2009 12:12:21 +0200 Subject: [PATCH] build: perform check-AUTHORS via syntax-check, not via "make check" * src/Makefile.am (check): Don't depend on check-AUTHORS. That check fails on systems for which a program like stdbuf is not built. Instead, move this check to "make syntax-check". (sc_check-AUTHORS): Rename rule from check-AUTHORS. * cfg.mk (sc_check-AUTHORS): New rule. Reported by Berhnard Voelker. --- cfg.mk | 4 ++++ src/Makefile.am | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cfg.mk b/cfg.mk index 34123d5..7a26f4f 100644 --- a/cfg.mk +++ b/cfg.mk @@ -176,6 +176,10 @@ ALL_RECURSIVE_TARGETS += sc_tight_scope sc_tight_scope: @$(MAKE) -C src $@ +ALL_RECURSIVE_TARGETS += sc_check-AUTHORS +sc_check-AUTHORS: + @$(MAKE) -C src $@ + # Perl-based tests used to exec perl from a #!/bin/sh script. # Now they all start with #!/usr/bin/perl and the portability # infrastructure is in tests/Makefile.am. Make sure no old-style diff --git a/src/Makefile.am b/src/Makefile.am index 4f21c86..fff5a9a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -72,7 +72,7 @@ BUILT_SOURCES = CLEANFILES = $(SCRIPTS) su # Also remove these sometimes-built programs. -# For example, even when excluded, they're built via check-AUTHORS. +# For example, even when excluded, they're built via sc_check-AUTHORS. CLEANFILES += $(no_install__progs) AM_CPPFLAGS = -I$(top_srcdir)/lib @@ -377,7 +377,7 @@ pm = progs-makefile pr = progs-readme # Ensure that the list of programs in README matches the list # of programs we can build. -check: check-README check-duplicate-no-install check-AUTHORS +check: check-README check-duplicate-no-install .PHONY: check-README check-README: rm -rf $(pr) $(pm) @@ -401,8 +401,8 @@ check-duplicate-no-install: tr # translation inhibits printing of UTF-8 names, just skip this test. au_dotdot = authors-dotdot au_actual = authors-actual -.PHONY: check-AUTHORS -check-AUTHORS: $(all_programs) +.PHONY: sc_check-AUTHORS +sc_check-AUTHORS: $(all_programs) $(AM_V_GEN)locale=en_US.UTF-8; \ LC_ALL="$$locale" ./cat --version \ | grep ' Torbjorn ' > /dev/null \ -- 1.6.4.378.g88f2f