Mats Lidell <matsl(a)xemacs.org> wrote:
I'm getting this with latest CVS.
-------------------------------------------------------------------------------------
[...]
cd ./lib-src && make all
make[1]: Entering directory `/usr/src/xemacs/working/lib-src'
[...]
gcc -I/usr/include/noX -I/usr/include/noX -Wall -Wno-switch -Wundef -Wsign-compare
-Wno-char-subscripts -Wpacked -Wpointer-arith -Wshadow -Wmissing-declarations
-Wmissing-prototypes -Wstrict-prototypes -g -O3 -I. -I../src
-I/usr/src/xemacs/working/lib-src -I/usr/src/xemacs/working/src -DHAVE_CONFIG_H
-I/usr/include/noX -fno-caller-saves /usr/src/xemacs/working/lib-src/gnuclient.c
gnuslib.o -L/usr/lib/noX -L/usr/lib/noX -lncurses -lintl -lwinmm -limm32 -lshell32
-lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lole32 -luuid -lwinspool -lmpr -o gnuclient
In file included from /usr/src/xemacs/working/lib-src/gnuclient.c:62:
../src/sysfile.h:502: error: parse error before "c"
../src/sysfile.h:502: warning: function declaration isn't a prototype
../src/sysfile.h:502: error: parse error before "c"
../src/sysfile.h:503: warning: function declaration isn't a prototype
../src/sysfile.h: In function `IS_DIRECTORY_SEP':
../src/sysfile.h:504: error: `c' undeclared (first use in this function)
../src/sysfile.h:504: error: (Each undeclared identifier is reported only once
../src/sysfile.h:504: error: for each function it appears in.)
../src/sysfile.h: At top level:
../src/sysfile.h:507: error: parse error before "c"
../src/sysfile.h:507: warning: function declaration isn't a prototype
../src/sysfile.h:507: error: parse error before "c"
../src/sysfile.h:508: warning: function declaration isn't a prototype
../src/sysfile.h: In function `IS_ANY_SEP':
../src/sysfile.h:509: error: `c' undeclared (first use in this function)
make[1]: *** [gnuclient] Error 1
make[1]: Leaving directory `/usr/src/xemacs/working/lib-src'
make: *** [lib-src] Error 2
-------------------------------------------------------------------------------------
Could it be that Ichar isn't known?
Yes. Ichar is defined in lisp.h, which is not included by gnuclient.c,
nor by sysfile.h. We Unix people aren't seeing this problem because the
Ichar-using definition is in Windows-only code. We could fix this by:
1) Replacing Ichar with int in sysfile.h;
2) Including lisp.h in gnuclient.c prior to including sysfile.h (and
removing the include of compiler.h, which gets pulled in by lisp.h);
or
3) Doing a "typedef int Ichar;" in gnuclient.c prior to including
sysfile.h.
I favor #2.
--
Jerry James, Assistant Professor james(a)xemacs.org
Computer Science Department
http://www.cs.usu.edu/~jerry/
Utah State University