On Fri, 2009-05-22 at 10:42 -0700, Sergei Steshenko wrote: > > > --- On Fri, 5/22/09, Chet Ramey <chet.ra...@case.edu> wrote: > > > From: Chet Ramey <chet.ra...@case.edu> > > Subject: Re: <stdio.h> is missing in bash-4.0/externs.h > > To: "Sergei Steshenko" <sergst...@yahoo.com> > > Cc: bug-bash@gnu.org, chet.ra...@case.edu > > Date: Friday, May 22, 2009, 9:14 AM > > Sergei Steshenko wrote: > > > Hello, > > > > > > because of the following lines: > > > > > > grep -n FILE build/bash-4.0/externs.h > > > 200:extern int fpurge __P((FILE *stream)); > > > 264:extern int sh_setlinebuf __P((FILE *)); > > > > > > bash-4.0/externs.h > > > > > > needs > > > > > > #include <stdio.h> > > > > > > - this was discovered while building under latest > > officially released > > > CYGWIN. > > > > > > Under Linux it worked without > > > > > > #include <stdio.h> > > > > > > ; hope > > > > > > #include <stdio.h> > > > > > > won't hurt under other OSes. > > > > Which file failed to compile as a result of the omission? > > > > Chet > > -- > > ``The lyf so short, the craft so long to lerne.'' - > > Chaucer > > > > Chet Ramey, ITS, CWRU c...@case.edu > > http://cnswww.cns.cwru.edu/~chet/ > > > > I don't remember, and I am not against Windows box at the moment, and > the compilation was painful not due to 'bash' reasons. > > I.e. I'm not sure I'll soon have the time to reproduce the problem, if > at all. > > I think the first file which uses externs.h, but not includes stdio.h. > > ... > > The files which include externs.h are: > > bash-4.0/lib/sh/shmatch.c > bash-4.0/make_cmd.c > bash-4.0/input.c:#include "externs.h" > bash-4.0/alias.c:#include "externs.h" > bash-4.0/shell.h:#include "externs.h" > . > > Of the above files 'shell.h' doesn't have 'stdio.h' included.
I had the same problem on FreeMiNT. It makes a lot of files stop compiling just because it doesn't have the FILE * struct defined when it hits the externs.h code. Alan.