A lot of the FILE related stuff changed in Minix 3.2.0 with the import of our new NetBSD based libc and NetBSD based includes. It might be more beneficial to target Minix 3.2.0 which will be released as stable in a few months. By the time the gnulib changes get integrated into third party software, released, added to pkgsrc, and imported into our pkgsrc tree, Minix 3.2.0 will probably be stable.
-Thomas On Sun, Jul 31, 2011 at 3:17 PM, Bruno Haible <br...@clisp.org> wrote: > There are some compilation errors also in the stdioext modules: > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > fbufmode.o -MD -MP -MF .deps/fbufmode.Tpo -c -o fbufmode.o fbufmode.c > fbufmode.c: In function 'fbufmode': > fbufmode.c:58: error: 'FILE' has no member named '_flag' > fbufmode.c:61: error: 'FILE' has no member named '_flag' > *** Error code 1 (continuing) > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > freadahead.o -MD -MP -MF .deps/freadahead.Tpo -c -o freadahead.o freadahead.c > freadahead.c: In function 'freadahead': > freadahead.c:52: error: 'FILE' has no member named '_flag' > freadahead.c:52: error: '_IOWRT' undeclared (first use in this function) > freadahead.c:52: error: (Each undeclared identifier is reported only once > freadahead.c:52: error: for each function it appears in.) > freadahead.c:54: error: 'FILE' has no member named '_cnt' > *** Error code 1 (continuing) > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > freading.o -MD -MP -MF .deps/freading.Tpo -c -o freading.o freading.c > freading.c: In function 'freading': > freading.c:46: error: 'FILE' has no member named '_flag' > *** Error code 1 (continuing) > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > freadptr.o -MD -MP -MF .deps/freadptr.Tpo -c -o freadptr.o freadptr.c > freadptr.c: In function 'freadptr': > freadptr.c:60: error: 'FILE' has no member named '_flag' > freadptr.c:60: error: '_IOWRT' undeclared (first use in this function) > freadptr.c:60: error: (Each undeclared identifier is reported only once > freadptr.c:60: error: for each function it appears in.) > freadptr.c:62: error: 'FILE' has no member named '_cnt' > *** Error code 1 (continuing) > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > freadseek.o -MD -MP -MF .deps/freadseek.Tpo -c -o freadseek.o freadseek.c > freadseek.c: In function 'freadptrinc': > freadseek.c:47: error: 'FILE' has no member named '_cnt' > *** Error code 1 (continuing) > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > fseterr.o -MD -MP -MF .deps/fseterr.Tpo -c -o fseterr.o fseterr.c > fseterr.c: In function 'fseterr': > fseterr.c:39: error: 'FILE' has no member named '_flag' > *** Error code 1 (continuing) > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > fpurge.o -MD -MP -MF .deps/fpurge.Tpo -c -o fpurge.o fpurge.c > fpurge.c: In function 'fpurge': > fpurge.c:95: error: 'FILE' has no member named '_base' > fpurge.c:97: error: 'FILE' has no member named '_cnt' > *** Error code 1 (continuing) > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > freadable.o -MD -MP -MF .deps/freadable.Tpo -c -o freadable.o freadable.c > freadable.c: In function 'freadable': > freadable.c:37: error: 'FILE' has no member named '_flag' > freadable.c:37: error: '_IORW' undeclared (first use in this function) > freadable.c:37: error: (Each undeclared identifier is reported only once > freadable.c:37: error: for each function it appears in.) > *** Error code 1 (continuing) > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > fwritable.o -MD -MP -MF .deps/fwritable.Tpo -c -o fwritable.o fwritable.c > fwritable.c: In function 'fwritable': > fwritable.c:37: error: 'FILE' has no member named '_flag' > fwritable.c:37: error: '_IORW' undeclared (first use in this function) > fwritable.c:37: error: (Each undeclared identifier is reported only once > fwritable.c:37: error: for each function it appears in.) > fwritable.c:37: error: '_IOWRT' undeclared (first use in this function) > *** Error code 1 (continuing) > > gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT > fwriting.o -MD -MP -MF .deps/fwriting.Tpo -c -o fwriting.o fwriting.c > fwriting.c: In function 'fwriting': > fwriting.c:37: error: 'FILE' has no member named '_flag' > fwriting.c:37: error: '_IOWRT' undeclared (first use in this function) > fwriting.c:37: error: (Each undeclared identifier is reported only once > fwriting.c:37: error: for each function it appears in.) > *** Error code 1 (continuing) > > This fixes it; all stdioext tests pass. > > > 2011-07-31 Bruno Haible <br...@clisp.org> > > stdioext: Add support for Minix. > * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code. > * lib/fpurge.c (fpurge): Likewise. > * lib/freadahead.c (freadahead): Likewise. > * lib/freadable.c (freadable): Likewise. > * lib/freading.c (freading): Likewise. > * lib/freadptr.c (freadptr): Likewise. > * lib/freadseek.c (freadptrinc): Likewise. > * lib/fseeko.c (rpl_fseeko): Likewise. > * lib/fseterr.c (fseterr): Likewise. > * lib/fwritable.c (fwritable): Likewise. > * lib/fwriting.c (fwriting): Likewise. > * lib/fflush.c (clear_ungetc_buffer): Update comment. > * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix. > > --- lib/fbufmode.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/fbufmode.c Sun Jul 31 19:36:43 2011 > @@ -50,6 +50,8 @@ > return _IOFBF; > #elif defined __EMX__ /* emx+gcc */ > return fp->_flags & (_IOLBF | _IONBF | _IOFBF); > +#elif defined __minix /* Minix */ > + return fp->_flags & (_IOLBF | _IONBF | _IOFBF); > #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > # if HAVE___FLBF /* Solaris >= 7 */ > if (__flbf (fp)) > --- lib/fflush.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/fflush.c Sun Jul 31 21:08:54 2011 > @@ -60,7 +60,7 @@ > fp->_ungetc_count = 0; > fp->_rcount = - fp->_rcount; > } > -# elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > +# elif defined _IOERR /* Minix, AIX, HP-UX, IRIX, OSF/1, > Solaris, OpenServer, mingw, NonStop Kernel */ > /* Nothing to do. */ > # else /* other implementations */ > fseeko (fp, 0, SEEK_CUR); > --- lib/fpurge.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/fpurge.c Sun Jul 31 20:56:31 2011 > @@ -91,6 +91,11 @@ > fp->_wcount = 0; > fp->_ungetc_count = 0; > return 0; > +# elif defined __minix /* Minix */ > + fp->_ptr = fp->_buf; > + if (fp->_ptr != NULL) > + fp->_count = 0; > + return 0; > # elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > fp->_ptr = fp->_base; > if (fp->_ptr != NULL) > --- lib/freadable.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/freadable.c Sun Jul 31 20:12:43 2011 > @@ -33,6 +33,8 @@ > return (fp_->_flags & (__SRW | __SRD)) != 0; > #elif defined __EMX__ /* emx+gcc */ > return (fp->_flags & (_IORW | _IOREAD)) != 0; > +#elif defined __minix /* Minix */ > + return (fp->_flags & _IOREAD) != 0; > #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > return (fp->_flag & (_IORW | _IOREAD)) != 0; > #elif defined __QNX__ /* QNX */ > --- lib/freadahead.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/freadahead.c Sun Jul 31 21:05:34 2011 > @@ -48,6 +48,10 @@ > /* equivalent to > (fp->_ungetc_count == 0 ? fp->_rcount : fp->_ungetc_count - fp->_rcount) > */ > return (fp->_rcount > 0 ? fp->_rcount : fp->_ungetc_count - fp->_rcount); > +#elif defined __minix /* Minix */ > + if ((fp_->_flags & _IOWRITING) != 0) > + return 0; > + return fp_->_count; > #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > if ((fp_->_flag & _IOWRT) != 0) > return 0; > --- lib/freading.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/freading.c Sun Jul 31 20:13:24 2011 > @@ -39,6 +39,8 @@ > return (fp_->_flags & __SRD) != 0; > # elif defined __EMX__ /* emx+gcc */ > return (fp->_flags & _IOREAD) != 0; > +# elif defined __minix /* Minix */ > + return (fp->_flags & _IOREADING) != 0; > # elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > # if defined __sun /* Solaris */ > return (fp->_flag & _IOREAD) != 0 && (fp->_flag & _IOWRT) == 0; > --- lib/freadptr.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/freadptr.c Sun Jul 31 21:06:28 2011 > @@ -56,6 +56,14 @@ > abort (); > *sizep = fp->_rcount; > return fp->_ptr; > +#elif defined __minix /* Minix */ > + if ((fp_->_flags & _IOWRITING) != 0) > + return NULL; > + size = fp_->_count; > + if (size == 0) > + return NULL; > + *sizep = size; > + return (const char *) fp_->_ptr; > #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > if ((fp_->_flag & _IOWRT) != 0) > return NULL; > --- lib/freadseek.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/freadseek.c Sun Jul 31 20:15:26 2011 > @@ -42,6 +42,9 @@ > #elif defined __EMX__ /* emx+gcc */ > fp->_ptr += increment; > fp->_rcount -= increment; > +#elif defined __minix /* Minix */ > + fp_->_ptr += increment; > + fp_->_count -= increment; > #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > fp_->_ptr += increment; > fp_->_cnt -= increment; > --- lib/fseeko.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/fseeko.c Sun Jul 31 20:58:41 2011 > @@ -69,6 +69,9 @@ > && fp->_rcount == 0 > && fp->_wcount == 0 > && fp->_ungetc_count == 0) > +#elif defined __minix /* Minix */ > + if (fp_->_ptr == fp_->_buf > + && (fp_->_ptr == NULL || fp_->_count == 0)) > #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > if (fp_->_ptr == fp_->_base > && (fp_->_ptr == NULL || fp_->_cnt == 0)) > --- lib/fseterr.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/fseterr.c Sun Jul 31 19:44:06 2011 > @@ -35,6 +35,8 @@ > fp_->_flags |= __SERR; > #elif defined __EMX__ /* emx+gcc */ > fp->_flags |= _IOERR; > +#elif defined __minix /* Minix */ > + fp->_flags |= _IOERR; > #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > fp_->_flag |= _IOERR; > #elif defined __UCLIBC__ /* uClibc */ > --- lib/fwritable.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/fwritable.c Sun Jul 31 20:12:59 2011 > @@ -33,6 +33,8 @@ > return (fp_->_flags & (__SRW | __SWR)) != 0; > #elif defined __EMX__ /* emx+gcc */ > return (fp->_flags & (_IORW | _IOWRT)) != 0; > +#elif defined __minix /* Minix */ > + return (fp->_flags & _IOWRITE) != 0; > #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > return (fp->_flag & (_IORW | _IOWRT)) != 0; > #elif defined __QNX__ /* QNX */ > --- lib/fwriting.c.orig Sun Jul 31 21:10:11 2011 > +++ lib/fwriting.c Sun Jul 31 20:13:44 2011 > @@ -33,6 +33,8 @@ > return (fp_->_flags & __SWR) != 0; > #elif defined __EMX__ /* emx+gcc */ > return (fp->_flags & _IOWRT) != 0; > +#elif defined __minix /* Minix */ > + return (fp->_flags & _IOWRITING) != 0; > #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, > OpenServer, mingw, NonStop Kernel */ > return (fp->_flag & _IOWRT) != 0; > #elif defined __UCLIBC__ /* uClibc */ > --- m4/fpending.m4.orig Sun Jul 31 21:10:11 2011 > +++ m4/fpending.m4 Sun Jul 31 21:00:07 2011 > @@ -1,4 +1,4 @@ > -# serial 16 > +# serial 17 > > # Copyright (C) 2000-2001, 2004-2011 Free Software Foundation, Inc. > # This file is free software; the Free Software Foundation > @@ -58,6 +58,9 @@ > '# emx+gcc' \ > 'fp->_ptr - fp->_buffer' \ > \ > + '# Minix' \ > + 'fp->_ptr - fp->_buf' \ > + \ > '# VMS' \ > '(*fp)->_ptr - (*fp)->_base' \ > \ > -- > In memoriam Jean Jaurès <http://en.wikipedia.org/wiki/Jean_Jaurès> >